1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/test/ruby
Koichi Sasada df48db987d mandatory_only_cme should not be in def
`def` (`rb_method_definition_t`) is shared by multiple callable
method entries (cme, `rb_callable_method_entry_t`).

There are two issues:

* old -> young reference: `cme1->def->mandatory_only_cme = monly_cme`
  if `cme1` is young and `monly_cme` is young, there is no problem.
  Howevr, another old `cme2` can refer `def`, in this case, old `cme2`
  points young `monly_cme` and it violates gengc assumption.
* cme can have different `defined_class` but `monly_cme` only has
  one `defined_class`. It does not make sense and `monly_cme`
  should be created for a cme (not `def`).

To solve these issues, this patch allocates `monly_cme` per `cme`.
`cme` does not have another room to store a pointer to the `monly_cme`,
so this patch introduces `overloaded_cme_table`, which is weak key map
`[cme] -> [monly_cme]`.

`def::body::iseqptr::monly_cme` is deleted.

The first issue is reported by Alan Wu.
2021-12-21 11:03:09 +09:00
..
enc Take into account data in emoji-variation-sequences.txt in tests. 2021-08-17 16:03:52 +09:00
allpairs.rb
beginmainend.rb
bug-11928.rb
bug-13526.rb
lbtest.rb
marshaltestlib.rb [WIP] add error_squiggle gem 2021-06-29 23:45:49 +09:00
sentence.rb
test_alias.rb
test_argf.rb Assert for duplicated ARGF [Bug #18074] 2021-08-10 23:40:45 +09:00
test_arithmetic_sequence.rb
test_arity.rb
test_array.rb Refined test [Bug #18140] 2021-09-02 09:11:41 +09:00
test_assignment.rb test/ruby/test_assignment.rb: Avoid "assigned but unused variable" 2021-04-23 22:11:01 +09:00
test_ast.rb test/ruby/test_ast.rb: Avoid a "method redefined" warning 2021-12-20 19:45:25 +09:00
test_autoload.rb Remove autoload for constant if the autoload fails 2021-10-08 14:54:26 -07:00
test_backtrace.rb Make backtrace generation work outward from current frame 2021-08-06 10:15:01 -07:00
test_basicinstructions.rb
test_beginendblock.rb
test_bignum.rb Prefer qualified names under Thread 2021-06-29 11:41:10 +09:00
test_call.rb
test_case.rb Avoid improper optimization of case statements mixed integer/rational/complex 2021-05-12 19:30:05 -07:00
test_class.rb Remove Class#descendants 2021-12-20 11:02:15 -08:00
test_clone.rb
test_comparable.rb
test_complex.rb
test_complex2.rb
test_complexrational.rb
test_condition.rb
test_const.rb
test_continuation.rb
test_default_gems.rb
test_defined.rb Add more tests for defined? with method calls 2021-03-29 07:45:15 -07:00
test_dir.rb Expect bool as sort: option at glob [Feature #18287] 2021-11-18 21:47:18 +09:00
test_dir_m17n.rb win32: Use UTF-8 as filesystem encoding [Feature #12654] 2020-12-20 18:34:04 +09:00
test_econv.rb Fix some typos by spell checker 2021-04-26 10:07:41 +09:00
test_encoding.rb Fix a failure 2021-02-16 18:17:09 +09:00
test_enum.rb Make Enumerable#each_cons return object if over size 2021-11-16 19:31:35 -08:00
test_enumerator.rb Use capture_output instead of capture_io 2021-09-13 21:14:42 +09:00
test_env.rb ENV ivars should not be accessible from ractors 2021-12-17 15:46:50 +09:00
test_eval.rb Lazily create singletons on instance_{exec,eval} (#5146) 2021-12-02 15:53:39 -08:00
test_exception.rb Use Test::Unit::AssertionFailedError instead of MiniTest::Assertion for test-unit migration 2021-09-06 18:34:15 +09:00
test_fiber.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_file.rb
test_file_exhaustive.rb Apply the timeout scale to also separated workers 2021-10-30 12:26:06 +09:00
test_fixnum.rb test/ruby: Check warning messages at a finer granularity 2020-12-17 20:06:18 +09:00
test_flip.rb
test_float.rb Attempt to fix floating point test failure 2021-05-29 14:08:24 -07:00
test_fnmatch.rb
test_frozen_error.rb
test_gc.rb Revert "Add GC.stat_size_pool to get stats for a size pool" 2021-11-25 11:01:50 -05:00
test_gc_compact.rb Send the message for s390x to stderr [ci skip] 2021-12-17 11:28:06 +09:00
test_hash.rb Add documentation and tests for keyword argument value omission 2021-09-11 20:23:36 +09:00
test_ifunless.rb
test_inlinecache.rb
test_insns_leaf.rb [Bug #17880] Set leaf false on opt_setinlinecache (#4565) 2021-06-14 17:34:57 -07:00
test_integer.rb Don't call + and < in Integer.times for !FIXNUM 2021-12-01 16:21:50 -08:00
test_integer_comb.rb
test_io.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_io_buffer.rb Rename IMMUTABLE to READONLY. 2021-12-21 12:25:42 +13:00
test_io_m17n.rb
test_iseq.rb mandatory_only_cme should not be in def 2021-12-21 11:03:09 +09:00
test_iterator.rb
test_jit.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_jit_debug.rb Rename --jit to --mjit (#5248) 2021-12-13 16:08:01 -08:00
test_key_error.rb
test_keyword.rb Adds mixed hash value and value omission tests 2021-09-13 13:54:03 +09:00
test_lambda.rb test/ruby/test_lambda.rb: Remove "warning: assigned but unused variable" 2021-04-04 15:26:09 +09:00
test_lazy_enumerator.rb Fix lazy enumerator with index size 2021-05-27 14:17:32 -07:00
test_literal.rb Use to_s and puts in tests 2021-12-16 15:12:12 +09:00
test_m17n.rb test/ruby/test_m17n.rb: skip a test that breaks another test 2021-11-15 16:53:49 +09:00
test_m17n_comb.rb Add test for String#casecmp? 2021-01-24 15:57:13 +09:00
test_marshal.rb test/ruby/test_marshal.rb: Prevent "assigned but unused variable" warning 2021-10-25 20:43:42 +09:00
test_math.rb Add domain check macros 2021-07-04 22:15:59 +09:00
test_memory_view.rb [memory_view][fiddle] Rename len to byte_size in rb_memory_view_t 2020-12-23 09:24:53 +09:00
test_metaclass.rb
test_method.rb Add {Method,UnboundMethod}#{public?,private?,protected?} 2021-12-09 12:59:37 -08:00
test_method_cache.rb invalidate negative cache any time. 2021-02-19 16:54:31 +09:00
test_mixed_unicode_escapes.rb
test_module.rb Make Module#{public,private,protected,module_function} return arguments 2021-11-18 09:47:40 -08:00
test_name_error.rb Prevent "warning: ambiguity between regexp and two divisions" 2021-06-30 13:41:18 +09:00
test_nomethod_error.rb [WIP] add error_squiggle gem 2021-06-29 23:45:49 +09:00
test_not.rb
test_numeric.rb Use Rational for Float#round with ndigits > 14 2021-08-06 15:03:51 -07:00
test_object.rb [WIP] add error_squiggle gem 2021-06-29 23:45:49 +09:00
test_objectspace.rb Fix typos 2021-11-02 19:17:37 +09:00
test_optimization.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_pack.rb Add a test for bug 18343 2021-11-16 19:28:45 -08:00
test_parse.rb Anonymous block forwarding allows a method to forward a passed 2021-11-18 14:17:57 -08:00
test_path.rb
test_pattern_matching.rb Disable did_you_mean in TestPatternMatching 2021-10-22 21:22:14 -04:00
test_pipe.rb
test_primitive.rb
test_proc.rb Preserve the encoding of message from outer local variables 2021-10-29 18:53:57 +09:00
test_process.rb Use to_s and puts in tests 2021-12-16 15:12:12 +09:00
test_rand.rb
test_random_formatter.rb [ruby/securerandom] Use String#unpack1 2021-12-14 11:59:22 +09:00
test_range.rb
test_rational.rb test_cdhash: refactor change class 2021-05-12 10:30:46 +09:00
test_rational2.rb
test_readpartial.rb
test_refinement.rb Make the metaclass of Refinement explicitly 2021-10-26 19:36:52 +09:00
test_regexp.rb Avoid race condition in Regexp#match 2021-10-01 19:50:19 -09:00
test_require.rb Allow Kernel#load to load code into a specified module 2021-11-17 22:43:40 -08:00
test_require_lib.rb RSS library is the bundled gems now 2021-05-26 11:39:01 +09:00
test_rubyoptions.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_rubyvm.rb test/ruby/test_rubyvm.rb: prevent "assigned but unused variable" warnings 2021-10-25 20:45:05 +09:00
test_rubyvm_jit.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_settracefunc.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_signal.rb
test_sleep.rb
test_sprintf.rb [Feature #18290] Remove tests that test use of rb_gc_force_recycle 2021-11-08 15:39:53 -05:00
test_sprintf_comb.rb
test_stack.rb
test_string.rb Add tests for the edge caces of String#end_with? 2021-10-08 14:08:03 +09:00
test_stringchar.rb
test_struct.rb Pass UnboundMethod to 2nd arg of define_method 2021-12-13 10:23:52 +09:00
test_super.rb Add tests for cme NULL crash 2021-11-17 13:20:31 -05:00
test_symbol.rb
test_syntax.rb Fix arg_forward without parentheses [Bug #18267] 2021-12-15 07:01:20 +09:00
test_system.rb
test_thread.rb Prepare for removing RubyVM::JIT (#5262) 2021-12-13 23:07:46 -08:00
test_thread_cv.rb Reap rarely leaked threads 2021-10-14 22:57:45 +09:00
test_thread_queue.rb Prefer qualified names under Thread 2021-06-29 11:41:10 +09:00
test_threadgroup.rb
test_time.rb Check month overflow when marshal 2021-12-09 21:51:39 +09:00
test_time_tz.rb Parse "-00:00" as UTC for the round-trip [Feature #17544] 2021-02-16 20:34:23 +09:00
test_trace.rb
test_transcode.rb - add regression tests for U+6E7F (湿) in ISO-2022-JP 2021-07-01 17:33:43 +09:00
test_undef.rb Lazily create singletons on instance_{exec,eval} (#5146) 2021-12-02 15:53:39 -08:00
test_unicode_escape.rb
test_variable.rb Remove cvar overtaken classes at end of test methods 2021-03-10 12:09:45 -08:00
test_vm_dump.rb
test_weakmap.rb ObjectSpace::WeakMap#inspect: check if living object [Bug #18392] 2021-12-07 21:55:41 +09:00
test_whileuntil.rb
test_yield.rb
test_yjit.rb YJIT: Implement intern 2021-12-18 15:59:30 -05:00
ut_eof.rb