summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken JIT of getinlinecacheTakashi Kokubun2021-01-043-10/+29
| | | | | | | | e7fc353f04 reverted vm_ic_hit_p's signature change made in 53babf35ef, which broke JIT compilation of getinlinecache. To make sure it doesn't happen again, I separated vm_inlined_ic_hit_p to make the intention clear.
* Avoid using inconsistent coding styleTakashi Kokubun2021-01-041-11/+3
| | | | | Other `_mjit_compile_*.erb` files don't use goto. These files'd better be consistent for readability.
* enable constant cache on ractorsKoichi Sasada2021-01-0514-71/+106
| | | | | | | | | | | | | | | | constant cache `IC` is accessed by non-atomic manner and there are thread-safety issues, so Ruby 3.0 disables to use const cache on non-main ractors. This patch enables it by introducing `imemo_constcache` and allocates it by every re-fill of const cache like `imemo_callcache`. [Bug #17510] Now `IC` only has one entry `IC::entry` and it points to `iseq_inline_constant_cache_entry`, managed by T_IMEMO object. `IC` is atomic data structure so `rb_mjit_before_vm_ic_update()` and `rb_mjit_after_vm_ic_update()` is not needed.
* stdlib.h is always included in include/ruby/defines.hNobuyoshi Nakada2021-01-051-3/+0
| | | | Since commit:6537dc309962c7fefcb8d698bbebe4e4f78d0096.
* Update compilers.h [ci skip]Gui Heurich2021-01-051-1/+1
|
* Fix indent [ci skip]Kazuhiro NISHIYAMA2021-01-051-4/+4
| | | | | Suggested by @hanachin at https://github.com/rurema/doctree/pull/2425#discussion_r551327592
* * 2021-01-05 [ci skip]git2021-01-051-1/+1
|
* ripper: call #pretty_print on also `state`Nobuyoshi Nakada2021-01-041-1/+1
|
* make-snapshot: add -extlibs optionNobuyoshi Nakada2021-01-041-1/+2
| | | | | | `make-snapshot` with `-extlibs` (or `-extlibs=yes`) includes extracted and patched external library sources that the extension libraries depend on.
* Updated bundled_gemsNobuyoshi Nakada2021-01-041-1/+1
|
* Skip mjit_wait if iseq is not a targetTakashi Kokubun2021-01-042-10/+15
|
* Daily bundled_gems update [ci skip]Nobuyoshi Nakada2021-01-041-0/+20
|
* ifchange: check the number of argumentsNobuyoshi Nakada2021-01-042-2/+57
|
* [DOC] Update Proc.new without a block [ci skip]Nobuyoshi Nakada2021-01-041-9/+6
| | | | | [Feature #10499] [Feature #15554]
* Add a missing dependencyTakashi Kokubun2021-01-031-1/+1
|
* Update ext/bigdecimal/dependKenta Murata2021-01-041-0/+1
|
* [ruby/bigdecimal] Move some definitions to missing.hKenta Murata2021-01-046-167/+244
| | | | | | https://github.com/ruby/bigdecimal/commit/c2b22cc8b3 https://github.com/ruby/bigdecimal/commit/8cbca8481d https://github.com/ruby/bigdecimal/commit/f05aecf673
* Track Bundler master(2.3.0.dev) branch at ↵Hiroshi SHIBATA2021-01-0478-350/+426
| | | | 55634a8af18a52df86c4275d70fa1179118bcc20
* Track RubyGems master(3.3.0.dev) branch at ↵Hiroshi SHIBATA2021-01-0431-217/+258
| | | | 55634a8af18a52df86c4275d70fa1179118bcc20
* Fixed error message when % at EOFNobuyoshi Nakada2021-01-042-1/+4
|
* * 2021-01-04 [ci skip]git2021-01-041-1/+1
|
* Revert "Include RUBY_EXTCONF_H if available"Kenta Murata2021-01-041-4/+0
| | | | | | | It is unnecessary because RUBY_EXTCONF_H has already been included in ruby/internal/config.h. This reverts commit 0644f466b0ef017202712882b557ba32863002c4.
* Added tests for Time#getlocal with UTC offsetNobuyoshi Nakada2021-01-031-0/+8
|
* Include RUBY_EXTCONF_H if availableKenta Murata2021-01-031-0/+4
|
* [ruby/timeout] Removed deprecated names that had been warned for 5 yearsNobuyoshi Nakada2021-01-031-12/+0
| | | | https://github.com/ruby/timeout/commit/f9a9758a41
* Avoid hanging on --jit-wait after MJIT.pauseTakashi Kokubun2021-01-033-1/+12
| | | | When a worker is stopped, nobody will JIT a method for you.
* * 2021-01-03 [ci skip]git2021-01-031-1/+1
|
* NEWS-3.0.0: backquote a few code related words. [doc]Marc-Andre Lafortune2021-01-021-8/+8
|
* NEWS: We have links now, and there is no changelog anymore [doc]Marc-Andre Lafortune2021-01-022-8/+2
|
* NEWS: [Feature #17312] [ci skip]Nobuyoshi Nakada2021-01-021-0/+11
|
* Add Enumerable#compact and Enumerator::Lazy#compactzverok2021-01-024-0/+88
|
* Fixed dangling imemo_tmpbufNobuyoshi Nakada2021-01-021-2/+3
| | | | | | | | The count of rb_alloc_tmp_buffer_with_count is the allocation size counted in VALUE size but not in the requested element size. Co-authored-by: Yusuke Endoh <mame@ruby-lang.org> Co-authored-by: Koichi Sasada <ko1@atdot.net>
* mkmf.rb: always try_compile as try_headerNobuyoshi Nakada2021-01-021-1/+1
| | | | | Get rid of "present but cannot be compiled" headers, on some multi-architecture platforms.
* Avoid to use __builtin_clzl in SPARC SolarisKenta Murata2021-01-021-1/+1
|
* Add -v to make benchmarkTakashi Kokubun2021-01-011-1/+1
| | | | I simply can't tell which of compare-ruby and built-ruby is what.
* Improve performance some Float methods [Feature #17498] (#4018)S.H2021-01-016-59/+78
|
* Add __x86_64__ guard to include x86intrin.hKenta Murata2021-01-021-1/+1
|
* Check if x86intrin.h is available not only existingNobuyoshi Nakada2021-01-021-1/+3
|
* [ruby/bigdecimal] Update dependKenta Murata2021-01-021-12/+15
|
* [ruby/bigdecimal] Fix test for Ruby 2.4Kenta Murata2021-01-022-10/+21
| | | | | | Ruby 2.4 does not have RbConfig::LIMITS. https://github.com/ruby/bigdecimal/commit/c8087523b0
* [ruby/bigdecimal] Implement special conversions for 64-bit integersKenta Murata2021-01-027-7/+378
| | | | | | | | | | | | | | | | | This change improves the conversion speed from small integers. ``` Comparison: big_n9 master: 4003688.9 i/s bigdecimal 3.0.0: 1270551.0 i/s - 3.15x slower big_n19 master: 5410096.4 i/s bigdecimal 3.0.0: 1000250.3 i/s - 5.41x slower ``` https://github.com/ruby/bigdecimal/commit/3429bd7e6f
* * 2021-01-02 [ci skip]git2021-01-021-1/+1
|
* [ruby/bigdecimal] Fix test_limitKenta Murata2021-01-021-9/+10
| | | | | | | Keep the default value of BigDecimal.limit by BigDecimal.save_limit to avoid failures of the other test methods due to the unexpected limit. https://github.com/ruby/bigdecimal/commit/bdc1cc6585
* Hoisted out compile_builtin_arg to refine messagesNobuyoshi Nakada2021-01-011-12/+30
|
* Added AST assertions for method definition arguments [Bug #17495]Nobuyoshi Nakada2021-01-011-0/+8
|
* Added AST tests for endless method definitionsNobuyoshi Nakada2021-01-011-0/+19
|
* Make args info for RubyVM::AST to available on endless method without parensMasataka Pocke Kuwabara2021-01-011-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem === Arguments information is missing for endless method without parens. For example: ```ruby # ok pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x() = 42 RUBY # => (DEFN@1:0-1:12 # mid: :x # body: # (SCOPE@1:0-1:12 # tbl: [] # args: # (ARGS@1:5-1:6 # pre_num: 0 # pre_init: nil # opt: nil # first_post: nil # post_num: 0 # post_init: nil # rest: nil # kw: nil # kwrest: nil # block: nil) # body: (LIT@1:10-1:12 42))) # ok pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x() 42 end RUBY # => (DEFN@1:0-1:14 # mid: :x # body: # (SCOPE@1:0-1:14 # tbl: [] # args: # (ARGS@1:5-1:6 # pre_num: 0 # pre_init: nil # opt: nil # first_post: nil # post_num: 0 # post_init: nil # rest: nil # kw: nil # kwrest: nil # block: nil) # body: (LIT@1:8-1:10 42))) # It has a problem, the `args` is nil pp RubyVM::AbstractSyntaxTree.parse(<<~RUBY).children[2] def x = 42 RUBY # => (DEFN@1:0-1:10 # mid: :x # body: (SCOPE@1:0-1:10 tbl: [] args: nil body: (LIT@1:8-1:10 42))) ``` It causes an error if a program expects `args` node exists. For example: https://github.com/ruby/rbs/issues/551 Solution ==== Call `new_args` on this case.
* Remove unused fileDavid Rodríguez2021-01-011-55/+0
|
* * 2021-01-01 [ci skip]git2021-01-011-3/+3
|
* Method ID of call and fcall can be const not only identNobuyoshi Nakada2021-01-011-1/+1
|