summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-06-25Removed nonsense `rubygems_version` in input gemspec filesNobuyoshi Nakada
As it is ignored and set at building packages automatically, it is just nonsense to set in gemspec file for input.
2020-06-25[flori/json] add metadatanoraj
https://github.com/flori/json/commit/9f430a7bba
2020-06-25[flori/json] Gem::Specification#date is set automatically by RubyGems.org.Hiroshi SHIBATA
https://github.com/flori/json/commit/1920653013
2020-06-25[flori/json] keyword argument is provided after Ruby 2.0+Hiroshi SHIBATA
https://github.com/flori/json/commit/78ec5e2bd3
2020-06-24Do not JIT inline builtin methodsTakashi Kokubun
It's probably not worth it because there's nothing we can optimize in such builtin methods. It's worth JIT only when inlined.
2020-06-24Run a TracePoint test in an insolated processTakashi Kokubun
to prevent a random failure like http://ci.rvm.jp/results/trunk-random2@phosphorus-docker/3024287
2020-06-24[ci skip] Enhanced RDoc for Array (#3252)Burdette Lamar
Methods: map/collect map!/collect! values_at select/filter select!/filter! Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-06-25Drop token info for endless method definitionNobuyoshi Nakada
Because it does not have closing `end`.
2020-06-25[ripper] added endless method definition event testsNobuyoshi Nakada
2020-06-25* 2020-06-25 [ci skip]git
2020-06-25AST.of needs SCRIPT_LINES__ filled with a newlineNobuyoshi Nakada
2020-06-24[ripper] fix mismatched indentations warning [Bug #16981]Nobuyoshi Nakada
The scanner location has to be set from `lex.ptok` before it is flushed by dispatching the scanner event.
2020-06-24[ripper] fail unless got warning as expectedNobuyoshi Nakada
2020-06-24Fix a random test failure by TracePointTakashi Kokubun
A test worker process may already be enabling TracePoint, which results in changing the insn name in this test. http://ci.rvm.jp/results/trunk-random0@phosphorus-docker/3022750
2020-06-23Add another missing castTakashi Kokubun
2020-06-23Include workflow name in a notification of CompilationsTakashi Kokubun
2020-06-23Add missing castTakashi Kokubun
2020-06-23Annotate Kernel#class as inline (#3250)Takashi Kokubun
``` $ benchmark-driver -v --rbenv 'before;after;before --jit;after --jit' benchmark/mjit_class.yml --repeat-count=4 before: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) [x86_64-linux] after: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) [x86_64-linux] before --jit: ruby 2.8.0dev (2020-06-23T07:09:54Z master 37a2e48d76) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-23T17:29:56Z inline-class 0ff147c007) +JIT [x86_64-linux] Calculating ------------------------------------- before after before --jit after --jit mjit_class(self) 39.219M 40.060M 53.502M 69.202M i/s - 40.000M times in 1.019915s 0.998495s 0.747631s 0.578021s mjit_class(1) 39.567M 41.242M 52.100M 68.895M i/s - 40.000M times in 1.010935s 0.969885s 0.767749s 0.580591s Comparison: mjit_class(self) after --jit: 69201690.7 i/s before --jit: 53502336.4 i/s - 1.29x slower after: 40060289.1 i/s - 1.73x slower before: 39218939.2 i/s - 1.76x slower mjit_class(1) after --jit: 68895358.6 i/s before --jit: 52100353.0 i/s - 1.32x slower after: 41241993.6 i/s - 1.67x slower before: 39567314.0 i/s - 1.74x slower ``` Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
2020-06-23Trace :return of builtin methodsTakashi Kokubun
using opt_invokebuiltin_delegate_leave insn. Since Ruby 2.7, :return of methods using builtin have not been traced properly.
2020-06-24* 2020-06-24 [ci skip]git
2020-06-24Fix RubyVM::AbstractSyntaxTree documentMasataka Pocke Kuwabara
RubyVM::AbstractSyntaxTree is a module actually, but the document says "class". Notes: Merged: https://github.com/ruby/ruby/pull/3251
2020-06-23[ci skip] Enhanced RDoc for Array (#3237)Burdette Lamar
Methods: #rotate! #rotate #sort! #sort #bsearch #bsearch_index Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2020-06-23Avoid generating opt_send with cfunc cc with JITTakashi Kokubun
only for opt_nil_p and opt_not. While vm_method_cfunc_is is used for opt_eq too, many fast paths of it don't call it. So if it's populated, it should generate opt_send, regardless of cfunc or not. And again, opt_neq isn't relevant due to the difference in operands. So opt_nil_p and opt_not are the only variants using vm_method_cfunc_is like they use. ``` $ benchmark-driver -v --rbenv 'before2 --jit::ruby --jit;before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4 before2 --jit: ruby 2.8.0dev (2020-06-22T08:37:37Z master 3238641750) +JIT [x86_64-linux] before --jit: ruby 2.8.0dev (2020-06-23T01:01:24Z master 9ce2066209) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-23T06:58:37Z master 17e9df3157) +JIT [x86_64-linux] last_commit=Avoid generating opt_send with cfunc cc with JIT Calculating ------------------------------------- before2 --jit before --jit after --jit mjit_nil?(1) 54.204M 75.536M 75.031M i/s - 40.000M times in 0.737947s 0.529548s 0.533110s mjit_not(1) 53.822M 70.921M 71.920M i/s - 40.000M times in 0.743195s 0.564007s 0.556171s mjit_eq(1, nil) 7.367M 6.496M 7.331M i/s - 8.000M times in 1.085882s 1.231470s 1.091327s Comparison: mjit_nil?(1) before --jit: 75536059.3 i/s after --jit: 75031409.4 i/s - 1.01x slower before2 --jit: 54204431.6 i/s - 1.39x slower mjit_not(1) after --jit: 71920324.1 i/s before --jit: 70921063.1 i/s - 1.01x slower before2 --jit: 53821697.6 i/s - 1.34x slower mjit_eq(1, nil) before2 --jit: 7367280.0 i/s after --jit: 7330527.4 i/s - 1.01x slower before --jit: 6496302.8 i/s - 1.13x slower ```
2020-06-23lldb_cruby.py: show the sign of Bignum [ci skip]Nobuyoshi Nakada
2020-06-23[ruby/psych] Fixup 05d7e818a6abe3ee1c56b6be92f086647d73141cHiroshi SHIBATA
https://github.com/ruby/psych/commit/4e7794fc2c
2020-06-23[ruby/psych] Bump version strings for header fileHiroshi SHIBATA
https://github.com/ruby/psych/commit/68da645c7e
2020-06-23[ruby/psych] Bump libyaml version to 0.2.5Hiroshi SHIBATA
https://github.com/ruby/psych/commit/39996192cc
2020-06-23[ruby/psych] Fix anchor lookup with symbolized namesJean Boussier
https://github.com/ruby/psych/commit/ef74fc01e2
2020-06-23Match the output without encoding for localized compilersNobuyoshi Nakada
2020-06-23Improved error messages for mjit optionNobuyoshi Nakada
and default jit-verbose to 1 if no argument.
2020-06-23Removed execpath argument of path_check_0 as always TRUE nowNobuyoshi Nakada
2020-06-23Removed fpath_check, no longer used since taint flag was removedNobuyoshi Nakada
2020-06-22Convert RMoved to a doubly linked listAaron Patterson
This commit converts RMoved slots to a doubly linked list. I want to convert this to a doubly linked list because the read barrier (currently in development) must remove nodes from the moved list sometimes. Removing nodes from the list is much easier if the list is doubly linked. In addition, we can reuse the list manipulation routines. Notes: Merged: https://github.com/ruby/ruby/pull/3249
2020-06-22Skip test_read_body_block_mod for --jit-waitTakashi Kokubun
2020-06-23* 2020-06-23 [ci skip]git
2020-06-23Ignore configurations in un-built extension librariesNobuyoshi Nakada
Exclude linker flags for external libraries used by no longer built extension libraries when static-linked-ext.
2020-06-22Fix Encoding::CompatibilityError in `FileUtils::Entry_#join`Kazuhiro NISHIYAMA
2020-06-22Fix typosKazuhiro NISHIYAMA
2020-06-22Revert d231b8f95b35d8a344cec4f62d7bbdf360a70e1c and add debug printKazuhiro NISHIYAMA
2020-06-22Compile opt_send for opt_* only when cc has ISeqTakashi Kokubun
because opt_nil/opt_not/opt_eq populates cc even when it doesn't fallback to opt_send_without_block because of vm_method_cfunc_is. ``` $ benchmark-driver -v --rbenv 'before --jit;after --jit' benchmark/mjit_opt_cc_insns.yml --repeat-count=4 before --jit: ruby 2.8.0dev (2020-06-22T08:11:24Z master d231b8f95b) +JIT [x86_64-linux] after --jit: ruby 2.8.0dev (2020-06-22T08:53:27Z master e1125879ed) +JIT [x86_64-linux] last_commit=Compile opt_send for opt_* only when cc has ISeq Calculating ------------------------------------- before --jit after --jit mjit_nil?(1) 54.106M 73.693M i/s - 40.000M times in 0.739288s 0.542795s mjit_not(1) 53.398M 74.477M i/s - 40.000M times in 0.749090s 0.537075s mjit_eq(1, nil) 7.427M 6.497M i/s - 8.000M times in 1.077136s 1.231326s Comparison: mjit_nil?(1) after --jit: 73692594.3 i/s before --jit: 54106108.4 i/s - 1.36x slower mjit_not(1) after --jit: 74477487.9 i/s before --jit: 53398125.0 i/s - 1.39x slower mjit_eq(1, nil) before --jit: 7427105.9 i/s after --jit: 6497063.0 i/s - 1.14x slower ``` Actually opt_eq becomes slower by this. Maybe it's indeed using opt_send_without_block, but I'll approach that one in another commit.
2020-06-22Use filesystem encoding for file path onlyKazuhiro NISHIYAMA
`path_info` contains filesystem encoding and binary. Example is `"/webrick.cgi/%A5%DB%A4%B2/%A4%DB%A4%B2"` in `TestWEBrickCGI#test_cgi`.
2020-06-22Add tests of nested multibyte path and DirectoryIndexKazuhiro NISHIYAMA
2020-06-22Fix remove_entry error when path encoding is not compatible UTF-8Kazuhiro NISHIYAMA
2020-06-22Check symlink in tmpdir and do not use empty pathKazuhiro NISHIYAMA
2020-06-22Share warmup logic across MJIT benchmarksTakashi Kokubun
2020-06-22The RUBYOPT= comment is no longer neededTakashi Kokubun
2020-06-22Stop relying on `make benchmark`'s `-I$(srcdir)/benchmark/lib`Takashi Kokubun
These days I don't use `make benchmark`. The YAML files should be executable with bare `benchmark-driver` CLI without passing `RUBYOPT=-Ibenchmark/lib`.
2020-06-21Try increasing read_timeout a little moreTakashi Kokubun
It failed again http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3018488
2020-06-21Increase read_timeout for --jit-waitTakashi Kokubun
This tries to fix a random failure like http://ci.rvm.jp/results/trunk-mjit-wait@silicon-docker/3017837
2020-06-22Use canary cond also if not VM_CHECK_MODE to suppress warningsNobuyoshi Nakada