diff options
author | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-10 09:15:21 +0000 |
---|---|---|
committer | kazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-04-10 09:15:21 +0000 |
commit | 25c1fd3b9037d9eb39596bb994eeabed812adada (patch) | |
tree | d50105485a5d01efee139d56b3c570561adfff97 /transient_heap.c | |
parent | 0cc2ffbc1bf135a3b7a8656b9242e87b1ad96d6c (diff) | |
download | bundler-25c1fd3b9037d9eb39596bb994eeabed812adada.tar.gz |
Reverting all commits from r67479 to r67496 because of CI failures
Because hard to specify commits related to r67479 only.
So please commit again.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67499 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'transient_heap.c')
-rw-r--r-- | transient_heap.c | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/transient_heap.c b/transient_heap.c index c89d705fa9..55a796325f 100644 --- a/transient_heap.c +++ b/transient_heap.c @@ -796,56 +796,6 @@ blocks_clear_marked_index(struct transient_heap_block* block) } } -static void -transient_heap_block_update_refs(struct transient_heap* theap, struct transient_heap_block* block) -{ - int i=0, n=0; - - while (i<block->info.index) { - void *ptr = &block->buff[i]; - struct transient_alloc_header *header = ptr; - - unpoison_memory_region(header, sizeof *header, false); - - void *poisoned = __asan_region_is_poisoned(header->obj, SIZEOF_VALUE); - unpoison_object(header->obj, false); - - header->obj = rb_gc_new_location(header->obj); - - if (poisoned) { - poison_object(header->obj); - } - - i += header->size; - poison_memory_region(header, sizeof *header); - n++; - } -} - -static void -transient_heap_blocks_update_refs(struct transient_heap* theap, struct transient_heap_block *block, const char *type_str) -{ - while (block) { - transient_heap_block_update_refs(theap, block); - block = block->info.next_block; - } -} - -void -rb_transient_heap_update_references(void) -{ - struct transient_heap* theap = transient_heap_get(); - int i; - - transient_heap_blocks_update_refs(theap, theap->using_blocks, "using_blocks"); - transient_heap_blocks_update_refs(theap, theap->marked_blocks, "marked_blocks"); - - for (i=0; i<theap->promoted_objects_index; i++) { - VALUE obj = theap->promoted_objects[i]; - theap->promoted_objects[i] == rb_gc_new_location(obj); - } -} - void rb_transient_heap_start_marking(int full_marking) { |