ruby/bootstraptest
John Hawthorn b99833baec
Use a monotonically increasing number for object_id
This changes object_id from being based on the objects location in
memory (or a nearby memory location in the case of a conflict) to be
based on an always increasing number.

This number is a Ruby Integer which allows it to overflow the size of a
pointer without issue (very unlikely to happen in real programs
especially on 64-bit, but a nice guarantee).

This changes obj_to_id_tbl and id_to_obj_tbl to both be maps of Ruby
objects to Ruby objects (previously they were Ruby object to C integer)
which simplifies updating them after compaction as we can run them
through gc_update_table_refs.

Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2019-11-07 09:31:07 -08:00
..
pending.rb Move an unstable bootstraptest to pending 2019-09-03 21:49:52 +09:00
runner.rb Erase only on tty 2019-07-29 23:05:41 +09:00
test_attr.rb * bootstraptest/test_attr.rb: moved test for [ruby-core:14641]. 2008-01-17 16:59:23 +00:00
test_autoload.rb * bootstraptest/test_autoload.rb, bootstraptest/test_method.rb: 2013-06-13 02:01:42 +00: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_env.rb fallback env encoding to ASCII-8BIT 2018-09-26 17:24:00 +00:00
test_eval.rb Relaxed tests for CPDEBUG mode 2019-10-23 01:05:52 +09:00
test_exception.rb error.c: bypass Exception.new 2018-02-20 10:08:27 +00:00
test_fiber.rb Improved fiber benchmarks. Increase number of iterations. 2019-07-12 11:56:51 +12: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 Fix a bug of peephole optimization 2018-07-06 04:52:33 +00: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 fix memory corruption in old GCC 2019-10-10 00:13:30 +09:00
test_io.rb bootstraptest update test_io.rb [Bug #15060] [Fix GH-1495] 2018-09-04 05:28:38 +00:00
test_jump.rb Relaxed tests for CPDEBUG mode 2019-10-23 01:05:52 +09:00
test_literal.rb st.c (rb_hash_bulk_insert_into_st_table): avoid out-of-bounds write 2019-01-15 14:19:19 +00: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 relax error message format 2015-10-24 06:42:22 +00:00
test_objectspace.rb Use a monotonically increasing number for object_id 2019-11-07 09:31:07 -08:00
test_proc.rb `$SAFE` as a process global state. [Feature #14250] 2017-12-28 20:09:24 +00: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 Changed numbered parameter prefix 2019-09-24 21:57:54 +09:00
test_thread.rb Move an unstable bootstraptest to pending 2019-09-03 21:49:52 +09:00