aboutsummaryrefslogtreecommitdiffstats
path: root/transient_heap.c
diff options
context:
space:
mode:
authorkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-04-10 09:15:21 +0000
committerkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-04-10 09:15:21 +0000
commit25c1fd3b9037d9eb39596bb994eeabed812adada (patch)
treed50105485a5d01efee139d56b3c570561adfff97 /transient_heap.c
parent0cc2ffbc1bf135a3b7a8656b9242e87b1ad96d6c (diff)
downloadruby-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.c50
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)
{