ruby/bootstraptest
Alan Wu eb2b717a8b
YJIT: Make case-when optimization respect === redefinition (#6846)
* YJIT: Make case-when optimization respect === redefinition

Even when a fixnum key is in the dispatch hash, if there is a case such
that its basic operations for === is redefined, we need to fall back to
checking each case like the interpreter. Semantically we're always
checking each case by calling === in order, it's just that this is not
observable when basic operations are intact.

When all the keys are fixnums, though, we can do the optimization we're
doing right now. Check for this condition.

* Update yjit/src/cruby_bindings.inc.rs

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>

Co-authored-by: Takashi Kokubun <takashikkbn@gmail.com>
2022-12-02 11:40:16 -05:00
..
pending.rb Moved already resolved test 2020-04-27 10:39:07 +09:00
runner.rb Let other test runners follow the change of GNU make 4.4 jobserver 2022-11-07 10:08:30 +09:00
test_attr.rb Revert "Revert "This commit implements the Object Shapes technique in CRuby."" 2022-10-11 08:40:56 -07:00
test_autoload.rb support concurrent btest execution 2022-02-06 03:05:47 +09:00
test_block.rb vm_insnhelper.c: break from nested rescue 2015-01-23 14:57:08 +00:00
test_class.rb vm.c: initialize defined_module_hash early 2013-10-13 11:59:27 +00:00
test_constant_cache.rb Finer-grained constant cache invalidation (take 2) 2022-04-01 14:48:22 -04:00
test_env.rb fallback env encoding to ASCII-8BIT 2018-09-26 17:24:00 +00:00
test_eval.rb btest: assign $stderr = STDOUT instead of IO#reopen to be more portable 2021-12-16 16:16:40 +09:00
test_exception.rb error.c: bypass Exception.new 2018-02-20 10:08:27 +00:00
test_fiber.rb support concurrent btest execution 2022-02-06 03:05:47 +09:00
test_finalizer.rb * gc.c (rb_gc_call_finalizer_at_exit): self-referencing finalizers 2008-08-06 11:48:30 +00:00
test_flip.rb * bootstraptest/test_flip.rb: new test for flip-flop operator. 2007-07-10 06:57:56 +00:00
test_flow.rb Make proc/Proc.new without block an error instead of warning 2020-06-10 17:49:54 -07:00
test_fork.rb bootstraptest/test_fork.rb: Stop too restrict NPROC test temporarily 2018-01-09 08:05:40 +00:00
test_gc.rb * bootstraptest/test_gc.rb: added tests based on [ruby-dev:39484] 2009-10-16 09:42:20 +00:00
test_insns.rb Add one more test example for swap instruction 2021-11-09 16:56:44 +09:00
test_io.rb omit random failure in bootstraptest with freebsd 2022-09-06 16:27:12 +09:00
test_jump.rb btest: assign $stderr = STDOUT instead of IO#reopen to be more portable 2021-12-16 16:16:40 +09:00
test_literal.rb [wasm] bootstraptest, basictest: disable backquote literal tests 2022-01-19 11:19:06 +09:00
test_literal_suffix.rb parse.y: more token names 2019-01-21 10:24:56 +00:00
test_load.rb * file.c (file_load_ok): checks if regular file. [ruby-dev:38097] 2009-02-27 06:49:43 +00:00
test_marshal.rb bootstraptest/test_marshal.rb: test updated 2008-03-01 04:07:26 +00:00
test_massign.rb * insns.def (expandarray): fix stack inc. 2008-01-23 17:17:23 +00:00
test_method.rb support concurrent btest execution 2022-02-06 03:05:47 +09:00
test_objectspace.rb Use a monotonically increasing number for object_id 2019-11-07 09:31:07 -08:00
test_proc.rb Make proc/Proc.new without block an error instead of warning 2020-06-10 17:49:54 -07:00
test_ractor.rb Rename --mjit-min-calls to --mjit-call-threshold (#6731) 2022-11-14 23:38:52 -08:00
test_string.rb * string.c (str_discard): does not free for STR_NOFREE string. 2015-02-13 13:06:58 +00:00
test_struct.rb * bootstraptest/test_struct.rb: some test moved from test to shut 2008-03-13 16:40:33 +00:00
test_syntax.rb btest: assign $stderr = STDOUT instead of IO#reopen to be more portable 2021-12-16 16:16:40 +09:00
test_thread.rb support concurrent btest execution 2022-02-06 03:05:47 +09:00
test_yjit.rb YJIT: Make case-when optimization respect === redefinition (#6846) 2022-12-02 11:40:16 -05:00
test_yjit_30k_ifelse.rb * append newline at EOF. [ci skip] 2021-10-21 08:12:53 +09:00
test_yjit_30k_methods.rb * append newline at EOF. [ci skip] 2021-10-21 08:12:53 +09:00
test_yjit_rust_port.rb Rust YJIT 2022-04-27 11:00:22 -04:00