]> gitweb.factorcode.org Git - factor.git/commitdiff
VM: modifying the uninitialized_blocks map in place instead of creating a new one...
authorBjörn Lindqvist <bjourne@gmail.com>
Thu, 4 Dec 2014 17:04:49 +0000 (18:04 +0100)
committerJohn Benediktsson <mrjbq7@gmail.com>
Thu, 4 Dec 2014 18:23:34 +0000 (10:23 -0800)
vm/slot_visitor.hpp

index b1d4d4ef6bbf7b3e781b285ba67eb216906b2847..e19205e499d6fa7d616a80db9ef9584ce84516c3 100644 (file)
@@ -204,17 +204,13 @@ template <typename Fixup>
 void slot_visitor<Fixup>::visit_literal_table_roots() {
   std::map<code_block*, cell>* uninitialized_blocks =
       &parent->code->uninitialized_blocks;
-  std::map<code_block*, cell>::const_iterator iter =
+  std::map<code_block*, cell>::iterator iter =
       uninitialized_blocks->begin();
-  std::map<code_block*, cell>::const_iterator end = uninitialized_blocks->end();
+  std::map<code_block*, cell>::iterator end = uninitialized_blocks->end();
 
-  std::map<code_block*, cell> new_uninitialized_blocks;
   for (; iter != end; iter++) {
-    new_uninitialized_blocks.insert(
-        std::make_pair(iter->first, visit_pointer(iter->second)));
+    iter->second = visit_pointer(iter->second);
   }
-
-  parent->code->uninitialized_blocks = new_uninitialized_blocks;
 }
 
 template <typename Fixup> void slot_visitor<Fixup>::visit_sample_callstacks() {
@@ -398,7 +394,6 @@ void slot_visitor<Fixup>::visit_context(context* ctx) {
   visit_stack_elements(ctx->retainstack_seg, (cell*)ctx->retainstack);
   visit_object_array(ctx->context_objects,
                      ctx->context_objects + context_object_count);
-
 }
 
 template <typename Fixup> void slot_visitor<Fixup>::visit_contexts() {