aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* YJIT: Stop wrapping CmePtr with CmeDependency (#6747)Takashi Kokubun2022-11-162-16/+12
| | | | | * YJIT: Stop wrapping CmePtr with CmeDependency * YJIT: Fix an outdated comment [ci skip]
* YJIT: Shrink the vectors of Block after mutation (#6739)Takashi Kokubun2022-11-162-19/+27
|
* YJIT: Show YJIT build option in RUBY_DESCRIPTION (#6738)Takashi Kokubun2022-11-163-2/+10
| | | YJIT: Show YJIT profile in RUBY_DESCRIPTION
* Remove duplicate `.rbinc` on `.rb` dependenciesNobuyoshi Nakada2022-11-162-10/+1
|
* Using UNDEF_P macroS-H-GAMELINKS2022-11-1644-290/+290
|
* Clean extension build directories and exts.mk fileNobuyoshi Nakada2022-11-161-2/+8
|
* Remove `-j` option from `MFLAGS` for sub-makesNobuyoshi Nakada2022-11-161-0/+1
|
* Let mjit-bindgen use BASERUBY and bundle/inline (#6740)Takashi Kokubun2022-11-155-45/+28
|
* MJIT: Refactor BitField dereference a littleTakashi Kokubun2022-11-151-2/+1
|
* Rewrite Symbol#to_sym and #intern in Ruby (#6683)Takashi Kokubun2022-11-156-19/+24
|
* YJIT: Always encode Opnd::Value in 64 bits on x86_64 for GC offsets (#6733)Takashi Kokubun2022-11-154-5/+30
| | | | | | | | | | | | | | | | | * YJIT: Always encode Opnd::Value in 64 bits on x86_64 for GC offsets Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> * Introduce heap_object_p * Leave original mov intact * Remove unneeded branches * Add a test for movabs Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
* YJIT: Include actual memory region size in stats (#6736)Takashi Kokubun2022-11-153-2/+9
|
* YJIT: Count getivar side exits by receiver flag changes (#6735)Takashi Kokubun2022-11-151-1/+2
|
* YJIT: Invalidate redefined methods only through cme (#6734)Takashi Kokubun2022-11-155-80/+12
| | | | | Co-authored-by: Alan Wu <alansi.xingwu@shopify.com> Co-authored-by: Alan Wu <alansi.xingwu@shopify.com>
* [ruby/irb] Improve testing infraStan Lo2022-11-151-0/+1
| | | | | | | | | | | | | | | (https://github.com/ruby/irb/pull/442) * Add test_in_isolation task to run tests in isolation This simulates how tests are run in Ruby CI and can detect some issues before they're merged and break Ruby CI later. * Run test_in_isolation task on CI * Fix TestRaiseNoBacktraceException's setup https://github.com/ruby/irb/commit/51f23c58b0
* Depending on revision.h with VPATHNobuyoshi Nakada2022-11-162-3/+3
|
* Fix buffer overrun in ivars when rebuilding shapesPeter Zhu2022-11-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In rb_shape_rebuild_shape, we need to increase the capacity when capacity == next_iv_index since the next ivar will be writing at index next_iv_index. This bug can be reproduced when assertions are turned on and you run the following code: class Foo def initialize @a1 = 1 @a2 = 1 @a3 = 1 @a4 = 1 @a5 = 1 @a6 = 1 @a7 = 1 end def add_ivars @a8 = 1 @a9 = 1 end end class Bar < Foo end foo = Foo.new foo.add_ivars bar = Bar.new GC.start bar.add_ivars bar.clone You will get the following crash: Assertion Failed: object.c:301:rb_obj_copy_ivar:src_num_ivs <= shape_to_set_on_dest->capacity
* Added empty class for test methods in TestIRB casesHiroshi SHIBATA2022-11-151-0/+4
|
* [ruby/irb] Deprecate USE_RELINE and USE_REIDLINEst00122022-11-151-1/+4
| | | | | | | | | Based on this commit: https://github.com/ruby/irb/commit/93f87ec65344b44123b0150a5fc07de1fd4c80c4 It appears that the maintainer @aycabta wanted to deprecate any `USE_*LINE` configs in favor of `USE_MULTILINE`. So we should deprecate `USE_RELINE` as well. https://github.com/ruby/irb/commit/478f19f3ae
* [ruby/irb] Deprecate reidline flagsst00122022-11-151-0/+12
| | | | https://github.com/ruby/irb/commit/9957e83f7d
* [ruby/irb] Rename leftover Reidline referencesst00122022-11-152-2/+2
| | | | https://github.com/ruby/irb/commit/0ed8b103ed
* [ruby/irb] Remove duplicated TestInputMethod definitionsst00122022-11-154-83/+29
| | | | https://github.com/ruby/irb/commit/4b831d02e1
* MJIT: Fix vm_cc_cme(cc).def.type to use bit fieldTakashi Kokubun2022-11-153-7/+12
| | | | | | | | | access properly. Because the libclang node had two children, it wasn't handled well by the pattern matching for the bit field case. In addition to that, this bit field has a non-1 width. Because we're returning true/false for a width-1 bit field, I added another behavior that works like a char value for bit fields with width 2-8.
* Handle more MJIT compilation failuresTakashi Kokubun2022-11-151-2/+2
| | | | | | NotImplementedError is not part StandardError, for example. When that kind of exception happens, current_cc_unit remains not NULL, and mjit_finish ends up waiting for 5 seconds, which is inconvenient.
* [ruby/racc] Update racc.gemspecJohnny Willemsen2022-11-151-1/+1
| | | Updated homepage to https://github.com/ruby/racc
* MJIT: Remove reference to ROBJECT_EMBED_LEN_MAXTakashi Kokubun2022-11-142-6/+0
| | | | maybe not used since some shape changes?
* Rename --mjit-min-calls to --mjit-call-threshold (#6731)Takashi Kokubun2022-11-1410-55/+56
| | | for consistency with YJIT
* [ruby/bigdecimal] Add fallback definition of MAYBE_UNUSEDKenta Murata2022-11-151-0/+4
| | | | https://github.com/ruby/bigdecimal/commit/b2123faa52
* Update RSpec gemsDavid Rodríguez2022-11-155-25/+29
|
* [ruby/bigdecimal] Replace sprintf by snprintfKenta Murata2022-11-152-121/+189
| | | | https://github.com/ruby/bigdecimal/commit/d6f5bb40c7
* Implement LDURH on Aarch64Aaron Patterson2022-11-142-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | When RUBY_DEBUG is enabled, shape ids are 16 bits. I would like to do 16 bit comparisons, so I need to load halfwords sometimes. This commit adds LDURH so that I can load halfwords. https://developer.arm.com/documentation/ddi0596/2021-12/Base-Instructions/LDURH--Load-Register-Halfword--unscaled--?lang=en I verified the bytes using clang: ``` $ cat asmthing.s .global _start .align 2 _start: ldurh w10, [x1] ldurh w10, [x1, #123] $ as asmthing.s -o asmthing.o && objdump --disassemble asmthing.o asmthing.o: file format mach-o arm64 Disassembly of section __TEXT,__text: 0000000000000000 <ltmp0>: 0: 2a 00 40 78 ldurh w10, [x1] 4: 2a b0 47 78 ldurh w10, [x1, #123] ```
* Try to let dependabot maintain the version commentTakashi Kokubun2022-11-142-4/+1
| | | | | | | It seems like dependabot supports updating the `# vX.Y.Z` comment. The reason why I disabled this was that it failed to update this, but maybe it was because it had `, checking sha`. Let me try it again with that removed.
* [ruby/bigdecimal] Mark some functions MAYBE_UNUSEDKenta Murata2022-11-151-0/+8
| | | | https://github.com/ruby/bigdecimal/commit/d70a4d53e5
* Re-order checks for colons in UTC offsetNobuyoshi Nakada2022-11-151-8/+8
|
* Remove USE_RVARGC codeAaron Patterson2022-11-145-10/+0
| | | | We don't need this constant to be exposed anymore, so remove it
* [rubygems/rubygems] Update comment by the review commentShohei YOSHIDA2022-11-143-3/+3
| | | | https://github.com/rubygems/rubygems/commit/7c54dc56f6
* [rubygems/rubygems] Fix '--force' option documentation of 'bundle clean'Shohei YOSHIDA2022-11-143-3/+3
| | | | | | '--path' option is no longer used. https://github.com/rubygems/rubygems/commit/43b3d5f7bc
* Use string's capacity to determine if reembeddablePeter Zhu2022-11-141-1/+1
| | | | | | | | During auto-compaction, using length to determine whether or not a string can be re-embedded may be a problem for newly created strings. This is because usually it requires a malloc before setting the length. If the malloc triggers compaction, then the string may be re-embedded and can cause crashes.
* Set array capacity/shared immediately after allocPeter Zhu2022-11-141-5/+5
| | | | | | | If auto-compaction is enabled, then we have to set the capacity/shared immediately after allocating a heap array. If compaction runs before capacity/shared is set then it could cause the array to be re-embedded, which can cause crashes.
* Remove unused function rb_shape_transition_shapePeter Zhu2022-11-142-11/+0
|
* Clean YJIT libraries [ci skip]Nobuyoshi Nakada2022-11-141-0/+1
|
* [Bug #19127] Fix revision.h dependency when no baserubyNobuyoshi Nakada2022-11-141-2/+4
| | | | Disconnect the dependency of revision.h on the timestamp file if no baseruby is available
* Import shape constants with mjit-bindgenTakashi Kokubun2022-11-142-34/+44
|
* Import class constants with mjit-bindgenTakashi Kokubun2022-11-142-7/+34
|
* Update default gems list at d019c3a4bd7b0955c630195c585f3f [ci skip]git2022-11-141-1/+1
|
* [ruby/error_highlight] Bump versionYusuke Endoh2022-11-141-1/+1
| | | | https://github.com/ruby/error_highlight/commit/5275078dc6
* [ruby/error_highlight] Enable tests for TypeError and ArgumentErrorYusuke Endoh2022-11-141-16/+14
| | | | | | These tests were unintentionally disabled by `if false` https://github.com/ruby/error_highlight/commit/fa6d00d80d
* [ruby/error_highlight] Enable ErrorHighlight for TypeError/ArgumentError ↵Yusuke Endoh2022-11-141-2/+7
| | | | | | | | | only after Ruby 3.2 ... because changing TypeError#message and ArgumentError#message is highly incompatible. https://github.com/ruby/error_highlight/commit/39aa897c7a
* Fix invokebuiltin in Ruby MJITTakashi Kokubun2022-11-132-4/+11
| | | | | https://github.com/ruby/ruby/blob/45fe7f757522ed7d1d3ec754da59d41d45dd6bab/tool/ruby_vm/views/_mjit_compile_invokebuiltin.erb#L21 has not been ported correctly.
* Reduce the number of branches in jit_exec (#6722)Takashi Kokubun2022-11-132-31/+24
| | | | | | | * Reduce the number of branches in jit_exec * Address build failure in some configurations * Refactor yjit.h