From 8741dbefce340531f83820a4d67da1058bb2be28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Lindqvist?= Date: Tue, 17 Jun 2014 17:22:03 +0200 Subject: [PATCH] VM: bignum_roots traversal code deleted! --- vm/data_roots.hpp | 23 ----------------------- vm/slot_visitor.hpp | 14 -------------- vm/vm.hpp | 1 - 3 files changed, 38 deletions(-) diff --git a/vm/data_roots.hpp b/vm/data_roots.hpp index 9f26556ea0..94be9695d2 100644 --- a/vm/data_roots.hpp +++ b/vm/data_roots.hpp @@ -37,27 +37,4 @@ template struct data_root : public tagged { } }; -/* A similar hack for the bignum implementation */ -struct gc_bignum { - bignum** addr; - factor_vm* parent; - - gc_bignum(bignum** addr, factor_vm* parent) : addr(addr), parent(parent) { - /* Don't bother with variables holding NULL pointers. */ - if (*addr) { - parent->check_data_pointer(*addr); - parent->bignum_roots.push_back(addr); - } - } - - ~gc_bignum() { - if (*addr) { - FACTOR_ASSERT(parent->bignum_roots.back() == addr); - parent->bignum_roots.pop_back(); - } - } -}; - -#define GC_BIGNUM(x) gc_bignum x##__data_root(&x, this) - } diff --git a/vm/slot_visitor.hpp b/vm/slot_visitor.hpp index 70b121d878..b1d4d4ef6b 100644 --- a/vm/slot_visitor.hpp +++ b/vm/slot_visitor.hpp @@ -119,7 +119,6 @@ template struct slot_visitor { void visit_slots(object* ptr); void visit_stack_elements(segment* region, cell* top); void visit_data_roots(); - void visit_bignum_roots(); void visit_callback_roots(); void visit_literal_table_roots(); void visit_roots(); @@ -186,18 +185,6 @@ template void slot_visitor::visit_data_roots() { } } -template void slot_visitor::visit_bignum_roots() { - std::vector::const_iterator iter = - parent->bignum_roots.begin(); - std::vector::const_iterator end = - parent->bignum_roots.end(); - - for (; iter < end; iter++) { - bignum** ref = *iter; - *ref = (bignum*)fixup.fixup_data(*ref); - } -} - template struct callback_slot_visitor { slot_visitor* visitor; @@ -251,7 +238,6 @@ template void slot_visitor::visit_roots() { visit_handle(&parent->bignum_neg_one); visit_data_roots(); - visit_bignum_roots(); visit_callback_roots(); visit_literal_table_roots(); visit_sample_callstacks(); diff --git a/vm/vm.hpp b/vm/vm.hpp index 7e5f8359d3..2643cc5eaf 100644 --- a/vm/vm.hpp +++ b/vm/vm.hpp @@ -114,7 +114,6 @@ struct factor_vm { themselves here. See data_roots.hpp and code_roots.hpp */ std::vector data_roots; - std::vector bignum_roots; std::vector code_roots; /* Debugger */