summaryrefslogtreecommitdiff
path: root/common.mk
AgeCommit message (Collapse)Author
2023-12-04[PRISM] Fix dependenciesPeter Zhu
2023-11-30[ruby/prism] Correctly pass around const pm_encoding_t *Kevin Newton
https://github.com/ruby/prism/commit/ce4c67fb3a
2023-11-30[PRISM] Fix up prism encoding targetsKevin Newton
2023-11-29[prism] Add MacJapanese encodings to common.mkKevin Newton
2023-11-29[prism] Add pm_cp950 to make targetsKevin Newton
2023-11-22[prism] Add cp949 targets to common.mkKevin Newton
2023-11-20[prism] Remove pm_big5_hkscs from common.mk targetsKevin Newton
2023-11-20Don't try compacting ivars on Classes that are "too complex"Aaron Patterson
Too complex classes use a hash table to store ivs, and should always pin their IVs. We shouldn't touch those classes in compaction.
2023-11-18[prism] Update common.mk for prism big5 hkscsKevin Newton
2023-11-16[prism] Add cp51932 to common.mkKevin Newton
2023-11-09[Bug #18286] Show checksum of builtin_binary.inc for confirmationNobuyoshi Nakada
2023-11-09[Bug #18286] Make builtin binary if sharable in universal binariesNobuyoshi Nakada
2023-11-09Revert "Disable iseq-dumped builtin module for universal x86_64/arm64 binaries"Nobuyoshi Nakada
This reverts commit 1d5598fe0d3470e7cab06a756d40a9221fcd501b.
2023-11-09Disable iseq-dumped builtin module for universal x86_64/arm64 binariesBen Hamilton
During the build, Ruby has special logic to serialize its own builtin module to disk using the binary iseq format during the build (I assume for speed so it doesn't have to parse builtin every time it starts up). However, since iseq format is architecture-specific, when building on x86_64 for universal x86_64 + arm64, the serialized builtin module is written with the x86_64 architecture of the build machine, which fails this check whenever ruby imports the builtin module on arm64: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/compile.c#L13243 Thankfully, there's logic to disable this feature for cross-compiled builds: https://github.com/ruby/ruby/blob/1fdaa0666086529b3aae2d509a2e71c4247c3a12/builtin.c#L6 This disables the iseq logic for universal builds as well. Fixes [Bug #18286]
2023-11-03[prism] Update to use new options APIsKevin Newton
2023-11-01[prism] Updates for syncKevin Newton
2023-10-26[prism] Update prettyprint depsKevin Newton
2023-10-25[PRISM] Move scope_node itself to CRuby, create prism_compile.hJemma Issroff
2023-10-23Use `-H` option instead of `-h` optionydah
Follow up: https://github.com/ruby/lrama/pull/139
2023-10-21[Bug #19967] Reset `LIBPATHENV` env after startedNobuyoshi Nakada
Not to affect other tools invoked as child processes.
2023-10-18YJIT: Add a live ISeq counter Alan Wu
It's an estimator for application size and could be used as a compilation heuristic later. Co-authored-by: Maxime Chevalier-Boisvert <maxime.chevalierboisvert@shopify.com> Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2023-10-17Separate `test-precheck` targetNobuyoshi Nakada
So that the tests can run without updating other than the programs.
2023-10-17Wait for `showflag` to finish to prevent interspersed outputsNobuyoshi Nakada
2023-10-17Remove duplicated optionyui-knk
`-d` option is basically same with `-h` (`--header`). The difference is `-h` accept header file name. Therefore remove `-d` option.
2023-10-13[prism] Remove unused make targetKevin Newton
2023-10-13[prism] Remove unescape targetsKevin Newton
2023-10-13[PRISM] Add --dump=prism mode (#8643)Jemma Issroff
2023-10-12M:N thread scheduler for RactorsKoichi Sasada
This patch introduce M:N thread scheduler for Ractor system. In general, M:N thread scheduler employs N native threads (OS threads) to manage M user-level threads (Ruby threads in this case). On the Ruby interpreter, 1 native thread is provided for 1 Ractor and all Ruby threads are managed by the native thread. From Ruby 1.9, the interpreter uses 1:1 thread scheduler which means 1 Ruby thread has 1 native thread. M:N scheduler change this strategy. Because of compatibility issue (and stableness issue of the implementation) main Ractor doesn't use M:N scheduler on default. On the other words, threads on the main Ractor will be managed with 1:1 thread scheduler. There are additional settings by environment variables: `RUBY_MN_THREADS=1` enables M:N thread scheduler on the main ractor. Note that non-main ractors use the M:N scheduler without this configuration. With this configuration, single ractor applications run threads on M:1 thread scheduler (green threads, user-level threads). `RUBY_MAX_CPU=n` specifies maximum number of native threads for M:N scheduler (default: 8). This patch will be reverted soon if non-easy issues are found. [Bug #19842]
2023-09-28Move CRuby-specific prism files to top levelKevin Newton
2023-09-27Rename YARP symbols to prismKevin Newton
2023-09-27Update YARP build targetsKevin Newton
2023-09-27Clean also YARP build directory [ci skip]Nobuyoshi Nakada
2023-09-25Invoke the command when RUBY_BUGREPORT_PATH starts with `|`Nobuyoshi Nakada
2023-09-21Move YARP_BUILD_DIR to common.mkNobuyoshi Nakada
It does not need to be an absolute path.
2023-09-21`.NOTPARALLEL` with prerequisites needs recent GNU MakeNobuyoshi Nakada
GNU Make prior to 4.4 just ignores the prerequisites, and runs everything in serial.
2023-09-17[Bug #19778] Pass additional include options to INCFLAGS in common.mkNobuyoshi Nakada
2023-09-13Enable `.NOTPARALLEL` on `ripper_srcs`Nobuyoshi Nakada
And add special treats only for old GNU make.
2023-09-11Use the keyword for output and omit default arguments [ci skip]Nobuyoshi Nakada
2023-08-28Add yarp/yarp_compiler.c (#8042)Jemma Issroff
* Add yarp/yarp_compiler.c as stencil for compiling YARP This commit adds yarp/yarp_compiler.c, and changes the sync script to ensure that yarp/yarp_compiler.c will not get overwritten * [Misc #119772] Create and expose RubyVM::InstructionSequence.compile_yarp This commit creates the stencil for a compile_yarp function, which we will continue to fill out. It allows us to check the output of compiled YARP code against compiled code without using YARP. Notes: Merged-By: jemmaissroff
2023-08-28YARP: generated files using from templates depend on config.ymlNobuyoshi Nakada
2023-08-25Update depsKevin Newton
Notes: Merged: https://github.com/ruby/ruby/pull/8298
2023-08-25Remove config.h from targets necessary for YARPKevin Newton
Notes: Merged: https://github.com/ruby/ruby/pull/8298
2023-08-25Fix VPATH for yarp/version.hKevin Newton
2023-08-25Update sync script to handle yarp/version.hKevin Newton
2023-08-25Fix mutation visitor build for YARP templatingKevin Newton
2023-08-25Implement weak references in the GCPeter Zhu
[Feature #19783] This commit adds support for weak references in the GC through the function `rb_gc_mark_weak`. Unlike strong references, weak references does not mark the object, but rather lets the GC know that an object refers to another one. If the child object is freed, the pointer from the parent object is overwritten with `Qundef`. Co-Authored-By: Jean Boussier <byroot@ruby-lang.org> Notes: Merged: https://github.com/ruby/ruby/pull/8113
2023-08-24Resurrect srcs dependency for YARP templates (#8285)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-08-22Render YARP templates into the build directory (#8266)Takashi Kokubun
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2023-08-18Revert "Fix tool/update-deps for YARP files"Takashi Kokubun
This reverts commit 6fff5c5ba23a2790c9d189de82e157c9fa986f96. Revert "Use $(top_srcdir) entries for mswin (#8244)" This reverts commit e327bf32bdfa610a0f1834048bb1422de992c073. Revert "Update dependencies" This reverts commit aba26a88040c322a188292447fd18a2b9c76c713. Revert "Use {$(VPATH)} for OpenBSD" This reverts commit 2046e054bc811fd6a8e30c926aa6c9c4a5884262. --- None of those revisions actually worked for both mswin and OpenBSD at the same time. I need more time to build something that works for both.
2023-08-18Fix tool/update-deps for YARP filesTakashi Kokubun