Index: vm/isolate.cc |
=================================================================== |
--- vm/isolate.cc (revision 9729) |
+++ vm/isolate.cc (working copy) |
@@ -20,6 +20,7 @@ |
#include "vm/random.h" |
#include "vm/stack_frame.h" |
#include "vm/stub_code.h" |
+#include "vm/symbols.h" |
#include "vm/thread.h" |
#include "vm/timer.h" |
#include "vm/visitor.h" |
@@ -163,7 +164,10 @@ |
stack_limit_(0), |
saved_stack_limit_(0), |
message_handler_(NULL), |
- spawn_data_(NULL) { |
+ spawn_data_(NULL), |
+ gc_prologue_callbacks_(), |
+ gc_epilogue_callbacks_(), |
+ symbols_(NULL) { |
} |
@@ -178,6 +182,7 @@ |
mutex_ = NULL; // Fail fast if interrupts are scheduled on a dead isolate. |
delete message_handler_; |
message_handler_ = NULL; // Fail fast if we send messages to a dead isolate. |
+ delete symbols_; |
} |
void Isolate::SetCurrent(Isolate* current) { |
@@ -411,6 +416,11 @@ |
// Visit objects in the object store. |
object_store()->VisitObjectPointers(visitor); |
+ // Visit cached symbols if any. |
+ if (symbols() != NULL) { |
+ symbols()->VisitObjectPointers(visitor); |
+ } |
+ |
// Visit objects in the class table. |
class_table()->VisitObjectPointers(visitor); |