]> gitweb.factorcode.org Git - factor.git/blobdiff - vm/code_block_visitor.hpp
vm: strip out call-counting profiler
[factor.git] / vm / code_block_visitor.hpp
index e321ae478bfe5cc8fa45419c2de2b268accd436a..2421ace669657b6565939e9d0c31181dc880807e 100644 (file)
@@ -24,7 +24,6 @@ template<typename Fixup> struct code_block_visitor {
        void visit_embedded_code_pointers(code_block *compiled);
        void visit_context_code_blocks();
        void visit_uninitialized_code_blocks();
-       void visit_sample_callstacks();
 
        void visit_code_roots();
 };
@@ -60,19 +59,15 @@ void code_block_visitor<Fixup>::visit_object_code_block(object *obj)
        case WORD_TYPE:
                {
                        word *w = (word *)obj;
-                       if(w->code)
-                               w->code = visit_code_block(w->code);
-                       if(w->counting_profiler)
-                               w->counting_profiler = visit_code_block(w->counting_profiler);
-
-                       parent->update_word_entry_point(w);
+                       if(w->entry_point)
+                               w->entry_point = visit_code_block(w->code())->entry_point();
                        break;
                }
        case QUOTATION_TYPE:
                {
                        quotation *q = (quotation *)obj;
-                       if(q->code)
-                               parent->set_quot_entry_point(q,visit_code_block(q->code));
+                       if(q->entry_point)
+                               q->entry_point = visit_code_block(q->code())->entry_point();
                        break;
                }
        case CALLSTACK_TYPE:
@@ -136,22 +131,10 @@ void code_block_visitor<Fixup>::visit_uninitialized_code_blocks()
        parent->code->uninitialized_blocks = new_uninitialized_blocks;
 }
 
-template<typename Fixup>
-void code_block_visitor<Fixup>::visit_sample_callstacks()
-{
-       for (std::vector<code_block *>::const_iterator iter = parent->sample_callstacks.begin();
-               iter != parent->sample_callstacks.end();
-               ++iter)
-       {
-               fixup.fixup_code(*iter);
-       }
-}
-
 template<typename Fixup>
 void code_block_visitor<Fixup>::visit_code_roots()
 {
        visit_uninitialized_code_blocks();
-       visit_sample_callstacks();
 }
 
 }