summaryrefslogtreecommitdiff
path: root/tool
AgeCommit message (Collapse)Author
2020-09-05update-deps: ruby-runner is not a targetNobuyoshi Nakada
2020-09-03Introduce Ractor mechanism for parallel executionKoichi Sasada
This commit introduces Ractor mechanism to run Ruby program in parallel. See doc/ractor.md for more details about Ractor. See ticket [Feature #17100] to see the implementation details and discussions. [Feature #17100] This commit does not complete the implementation. You can find many bugs on using Ractor. Also the specification will be changed so that this feature is experimental. You will see a warning when you make the first Ractor with `Ractor.new`. I hope this feature can help programmers from thread-safety issues. Notes: Merged: https://github.com/ruby/ruby/pull/3365
2020-09-01Remove the pc argument of vm_trace()Alan Wu
This makes the binary 272 bytes smaller on -O3 GCC 10.2.0. Notes: Merged: https://github.com/ruby/ruby/pull/3494
2020-09-01Fix syncing bundler man pagesDavid Rodríguez
`rm_rf` does not support globbing, so not all files get deleted. Notes: Merged: https://github.com/ruby/ruby/pull/3497
2020-08-29Simplify Tempfile.open calls with a block as they now unlink the file ↵Benoit Daloze
automatically
2020-08-29Use a constant instead of a global variable in sync_default_gems.rbBenoit Daloze
2020-08-25Promote nkf to default gemsHiroshi SHIBATA
2020-08-21Promote erb to default gemsHiroshi SHIBATA
2020-08-21Promote rinda to default gemsHiroshi SHIBATA
2020-08-20Promote find to default gemsHiroshi SHIBATA
2020-08-20Promote set to default gemsHiroshi SHIBATA
2020-08-11Use colorize.rb for non-capable terminalsNobuyoshi Nakada
2020-08-11Add default color for each instanceNobuyoshi Nakada
2020-08-11tool/prelude.c.tmpl: use RubyVM::CEscape卜部昌平
Do not repeat yourself. Notes: Merged: https://github.com/ruby/ruby/pull/3405
2020-08-11RubyVM::CEscape#rstring2cstr: do not escape '卜部昌平
A single quote "is representable either by itself or by the escape sequence", according to ISO/IEC 9899 (checked all versions). So this is not a bug fix. But the generated output is a bit readable without backslashes. Notes: Merged: https://github.com/ruby/ruby/pull/3405
2020-08-05Fixed the inconsistency gemspec location with net-* gems.Hiroshi SHIBATA
2020-08-03Followed up b2d96abb42abbe2e01f010ffc9ac51f0f9a50002 for net-ftp.Hiroshi SHIBATA
2020-07-30Promote io-nonblock to the default gems.Hiroshi SHIBATA
2020-07-30Promote io-wait to the default gemsHiroshi SHIBATA
2020-07-29rbinstall.rb: fix generated script name to set modeNobuyoshi Nakada
2020-07-29rbinstall.rb: fix dry-run modeNobuyoshi Nakada
2020-07-28Use https instead of httpKazuhiro NISHIYAMA
2020-07-28Remove `EnvUtil.rubyexec`, because it is not used anywhere.Vít Ondruch
Notes: Merged: https://github.com/ruby/ruby/pull/3351
2020-07-22Promote optparse to default gemsHiroshi SHIBATA
2020-07-16skip inlining cexpr! that are not attr! inline卜部昌平
Requested by ko1. Notes: Merged: https://github.com/ruby/ruby/pull/3314
2020-07-15Check warning flags only if available to run with old versionsNobuyoshi Nakada
2020-07-14_mjit_compile_invokebuiltin: sp_inc can be negative卜部昌平
Was my bad to assume sp_inc was positive. Real criteria is the calculated sp is non-negative. We have to assert that.
2020-07-13mk_builtin_loader.rb: STACK_ADDR_FROM_TOP unusable卜部昌平
Stacks are emulated in MJIT, must not touch the original VM stack. See also http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3061353
2020-07-13builtin.h: avoid copy&paste卜部昌平
Instead of doubling the invokebuiltin logic here and there, use the same insns.def definition for both MJIT/non-JIT situations. Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13%p is not portable accross platforms卜部昌平
This commit fixes compiler error on MSVC. %p on that platform is not suitable to represent a compile-time constant. https://ci.appveyor.com/project/ruby/ruby/builds/34017163/job/vj2a8uk3gwv9yxak#L24381 Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13add comments卜部昌平
Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13fix typo卜部昌平
Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13inline Primitive.cexpr!卜部昌平
We can obtain the verbatim source code of Primitive.cexpr!. Why not paste that content into the JITed program. Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13precalc invokebuiltin destinations卜部昌平
Noticed that struct rb_builtin_function is a purely compile-time constant. MJIT can eliminate some runtime calculations by statically generate dedicated C code generator for each builtin functions. Notes: Merged: https://github.com/ruby/ruby/pull/3305
2020-07-13sync_default_gems.rb: Updated commentsNobuyoshi Nakada
* removed out-of-date and duplicate list * stated that everything synced from github
2020-07-13sync_default_gems.rb: Added `list` subcommandNobuyoshi Nakada
2020-07-13sync_default_gems.rb: Ignore conflicted files in toplevel moreNobuyoshi Nakada
2020-07-12sync_default_gems.rb: Added -e option to edit when conflictedNobuyoshi Nakada
2020-07-10Show messages around the line when replacing failed in format_changelogKazuhiro NISHIYAMA
2020-07-10Make sure vm_call_cfunc uses inlined ccTakashi Kokubun
which is checked by the first guard. When JIT-inlined cc and operand cd->cc are different, the JIT-ed code might wrongly dispatch cd->cc even while class check is done with another cc inlined by JIT. This fixes SEGV on railsbench.
2020-07-06tool/sync_default_gems.rb: Accept multiple commit rangesNobuyoshi Nakada
2020-07-05tool/sync_default_gems.rb: Added bigdecimalNobuyoshi Nakada
2020-07-05Skip comment and empty lines in gems/bundled_gems fileNobuyoshi Nakada
2020-07-05fix up Primitive.cinit! codeKoichi Sasada
Recent changes break Primitive.cinit!(c_code) so fix it.
2020-07-04Check ROBJECT_EMBED on guards-merged ivar accessTakashi Kokubun
Fix CI failure like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3043247 introduced by a69dd699ee630dd1086627dbca15a218a8538b6f
2020-07-04support all locals for cexpr!, cstmt!Koichi Sasada
Primitve.cexpr! and .cstmt! can access Ruby's parameter and *local variables* (note that local parameters are also local variables). However recent changes only allow to access parameters. This patch fix it. For example, the following code can work: def foo a, b, k: :kw, **kwrest c = a + b d = k e = kwrest p Primitive.cstmt!(%q(rb_p(rb_ary_new_from_args(5, a, b, c, d, e)); return Qnil;)) end
2020-07-03Merge ivar guards on JIT (#3284)Takashi Kokubun
when an ISeq has multiple ivar accesses. Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-07-03Use ID instead of GENTRY for gvars. (#3278)Koichi Sasada
Use ID instead of GENTRY for gvars. Global variables are compiled into GENTRY (a pointer to struct rb_global_entry). This patch replace this GENTRY to ID and make the code simple. We need to search GENTRY from ID every time (st_lookup), so additional overhead will be introduced. However, the performance of accessing global variables is not important now a day and this simplicity helps Ractor development. Notes: Merged-By: ko1 <ko1@atdot.net>
2020-07-02Expose `assert_pattern_list` for drb test with test-unit gem.Hiroshi SHIBATA
2020-06-30Extract correct processor name for ARM64 MacsSamuel Giddins
Notes: Merged: https://github.com/ruby/ruby/pull/3272