summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2023-01-18merge revision(s) 4959e01932cf6c4d3e5e90d3e0b4fa780f754fa6: [Backport #19271]NARUSE, Yui
common.mk: Do not invoke outdate-bundled-gems by default If baseruby is available (and its version is different from one being built) when compiling ruby, tool/outdate-bundled-gems.rb (which is invoked by `make install`) wrongly deletes debug.so and rbs_extension.so in .bundle/extension/*. This leads to a broken installation of ruby which lacks the libraries, which may make rubygems show the following warnings (in some additional complex conditions): ``` $ irb Ignoring debug-1.7.1 because its extensions are not built. Try: gem pristine debug --version 1.7.1 Ignoring rbs-2.8.2 because its extensions are not built. Try: gem pristine rbs --version 2.8.2 irb(main):001:0> ``` According to some committers, tool/outdate-bundled-gems.rb is introduced for fixing a build issue, but the detail is not recorded. The issue seems to occur only when debug gem or rbs gem is updated, so it is difficult to fix the script so soon. Tentatively, this change stops invoking the script by default. This should be backported to ruby_3_2. Fixes [Bug #19271] --- common.mk | 1 - 1 file changed, 1 deletion(-)
2022-12-25Clean yjit directory in build directory [ci skip]Nobuyoshi Nakada
2022-12-24Fix test-syntax-suggest orderNobuyoshi Nakada
Prepare for test-syntax-suggest after other tests finished.
2022-12-24MJIT: Cancel all on disastrous situations (#7019)Takashi Kokubun
I noticed this while running test_yjit with --mjit-call-threshold=1, which redefines `Integer#<`. When Ruby is monkey-patched, MJIT itself could be broken. Similarly, Ruby scripts could break MJIT in many different ways. I prepared the same set of hooks as YJIT so that we could possibly override it and disable it on those moments. Every constant under RubyVM::MJIT is private and thus it's an unsupported behavior though. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-12-23Test syntax_suggest by `make check`Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/7010
2022-12-21Put RubyVM::MJIT::Compiler under ruby_vm directory (#6989)Takashi Kokubun
[Misc #19250] Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-12-20Use an experimental warning for Fiber#storage=Benoit Daloze
Notes: Merged: https://github.com/ruby/ruby/pull/6972
2022-12-20MSVS lacks `touch` [ci skip]Nobuyoshi Nakada
2022-12-20loadpath.c does not depend on revision.h since 947ebd0ac5baNobuyoshi Nakada
2022-12-16Followed up ad18d1297ed82aa9c38375532b0b709131cf1ae7 with tool/update-deps --fixHiroshi SHIBATA
2022-12-15Move definition of SIZE_POOL_COUNT back to gc.hPeter Zhu
SIZE_POOL_COUNT is a GC macro, it should belong in gc.h and not shape.h. SIZE_POOL_COUNT doesn't depend on shape.h so we can have shape.h depend on gc.h. Co-Authored-By: Matt Valentine-House <matt@eightbitraptor.com> Notes: Merged: https://github.com/ruby/ruby/pull/6940
2022-12-12YJIT: Generate debug info in release builds (#6910)Alan Wu
* YJIT: Generate debug info in release builds They are helpful in case we need to do core dump debugging. * Remove Cirrus DOC skip rule The syntax for this is weird, and escaping [ and ] cause parse failures. Cirrus' docs said to surround with .*, but then that seems to skip everything. Revert e0a4205eb785f266fdf08f409c2f112f5dfcb229 for now. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-12-10[Bug #19181] Separate the rule for unicode_normalize/tables.rb timestampNobuyoshi Nakada
It should depends on only existing data files (except for the tools), unless `ALWAYS_UPDATE_UNICODE=yes`. Notes: Merged: https://github.com/ruby/ruby/pull/6898
2022-12-08ObjectSpace.dump_all: dump shapes as wellJean Boussier
I see several arguments in doing so. First they use a non trivial amount of memory, so for various memory profiling/mapping tools it is relevant to have visibility of the space occupied by shapes. Then, some pathological code can create a tons of shape, so it is valuable to have a way to have a way to observe shapes without having to compile Ruby with `SHAPE_DEBUG=1`. And additionally it's likely much faster to dump then this way than to use `RubyVM::Shape`. There are however a few open questions: - Shapes can't respect the `since:` argument. Not sure what to do when it is provided. Would probably make sense to not dump them. - Maybe it would make more sense to have a separate `ObjectSpace.dump_shapes`? - Maybe instead `dump_all` should take a `shapes: false` argument? Additionally, `ObjectSpace.dump_shapes` is added for the use case of debugging the evolution of the shape tree. Notes: Merged: https://github.com/ruby/ruby/pull/6868
2022-12-07Stop transitioning to UNDEF when undefining an instance variableAaron Patterson
Cases like this: ```ruby obj = Object.new loop do obj.instance_variable_set(:@foo, 1) obj.remove_instance_variable(:@foo) end ``` can cause us to use many more shapes than we want (and even run out). This commit changes the code such that when an instance variable is removed, we'll walk up the shape tree, find the shape, then rebuild any child nodes that happened to be below the "targetted for removal" IV. This also requires moving any instance variables so that indexes derived from the shape tree will work correctly. Co-Authored-By: Jemma Issroff <jemmaissroff@gmail.com> Co-authored-by: John Hawthorn <jhawthorn@github.com> Notes: Merged: https://github.com/ruby/ruby/pull/6866
2022-12-06Update dependenciesDaniel Colson
2022-12-06[Bug #19180] rbconfig.rb depends on common.mkNobuyoshi Nakada
2022-12-06change Unicode version to 15.0.0Martin Dürst
2022-12-05Handle depend files on nmakeNobuyoshi Nakada
2022-12-05Clean compiler intermediate files moreNobuyoshi Nakada
2022-12-02Introduce encoding check macroS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/6700
2022-11-29MJIT: Rename mjit_compile_attr to mjit_sp_incTakashi Kokubun
There's no mjit_compile.inc, so no need to use this prefix anymore.
2022-11-29MJIT: Merge mjit_unit.h into mjit_c.hTakashi Kokubun
The distinction doesn't make much difference today.
2022-11-29MJIT: Rename mjit_compiler.c to mjit_c.cTakashi Kokubun
It's no longer about the compiler logic itself.
2022-11-29Extract outdate-bundled-gems.rbNobuyoshi Nakada
2022-11-29Fix dependencies of outdate-bundled-gemsNobuyoshi Nakada
Extract new gems then remove outdated gem directories.
2022-11-29Refine outdate-bundled-gemsNobuyoshi Nakada
2022-11-28MJIT: Rename mjit_compiler.h to mjit_c.hTakashi Kokubun
because it exists primarily for generating mjit_c.rb.
2022-11-28Force to update revision.h after the source updated [ci skip]Nobuyoshi Nakada
2022-11-26MJIT: Merge mjit_compiler.rb into mjit.rbTakashi Kokubun
There are too many mjit_compiler.* files. It was hard to find files.
2022-11-22Add Time#deconstruct_keyszverok
Notes: Merged: https://github.com/ruby/ruby/pull/6594
2022-11-21Use double quotes for nmake [ci skip]Nobuyoshi Nakada
2022-11-21Add outdate-bundled-gems target [ci skip]Nobuyoshi Nakada
2022-11-20Update fake.rb for test-specNobuyoshi Nakada
spec/ruby/command_line/dash_v_spec.rb needs it.
2022-11-16Remove duplicate `.rbinc` on `.rb` dependenciesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6742
2022-11-15Let mjit-bindgen use BASERUBY and bundle/inline (#6740)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-11-15Rewrite Symbol#to_sym and #intern in Ruby (#6683)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2022-11-16Depending on revision.h with VPATHNobuyoshi Nakada
2022-11-14Clean YJIT libraries [ci skip]Nobuyoshi Nakada
2022-11-14[Bug #19127] Fix revision.h dependency when no baserubyNobuyoshi Nakada
Disconnect the dependency of revision.h on the timestamp file if no baseruby is available Notes: Merged: https://github.com/ruby/ruby/pull/6724 Merged-By: nobu <nobu@ruby-lang.org>
2022-11-13Control non-parallel parts with `.WAIT` if availableNobuyoshi Nakada
2022-11-10Transition shape when object's capacity changesJemma Issroff
This commit adds a `capacity` field to shapes, and adds shape transitions whenever an object's capacity changes. Objects which are allocated out of a bigger size pool will also make a transition from the root shape to the shape with the correct capacity for their size pool when they are allocated. This commit will allow us to remove numiv from objects completely, and will also mean we can guarantee that if two objects share shapes, their IVs are in the same positions (an embedded and extended object cannot share shapes). This will enable us to implement ivar sets in YJIT using object shapes. Co-Authored-By: Aaron Patterson <tenderlove@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/6699
2022-11-10Preprocess for older bison is no longer neededNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6701
2022-11-06`--disable-jit-support` should disable YJIT successfullyNobuyoshi Nakada
Even if `rustc` is available, it should not be an error unless `--enable-yjit` is explicitly given. Notes: Merged: https://github.com/ruby/ruby/pull/6681
2022-11-06Add `--target` option to RUSTC when cross-compilingNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6677
2022-11-05Update dependenciesNobuyoshi Nakada
2022-11-03Bump benchmark-driver versionTakashi Kokubun
https://github.com/benchmark-driver/benchmark-driver/pull/75 is useful for quickly benchmarking a single method in CRuby.
2022-11-02Manage the timestamp for revision.hNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/6653
2022-10-30Ignore failure at moving revision.h [ci skip]Nobuyoshi Nakada
The source directory may be read-only.
2022-10-24YJIT: Lazily enable YJIT after prelude (#6597)Takashi Kokubun
* YJIT: Lazily enable YJIT after prelude * Update dependencies * Use a bit field for opt->yjit Notes: Merged-By: maximecb <maximecb@ruby-lang.org>