Index: vm/snapshot.cc |
=================================================================== |
--- vm/snapshot.cc (revision 9303) |
+++ vm/snapshot.cc (working copy) |
@@ -82,6 +82,7 @@ |
library_(Library::Handle()), |
type_(AbstractType::Handle()), |
type_arguments_(AbstractTypeArguments::Handle()), |
+ tokens_(Array::Handle()), |
backward_references_((snapshot->kind() == Snapshot::kFull) ? |
kNumInitialReferencesInFullSnapshot : |
kNumInitialReferences) { |
@@ -329,9 +330,13 @@ |
RawTokenStream* SnapshotReader::NewTokenStream(intptr_t len) { |
- ALLOC_NEW_OBJECT_WITH_LEN(TokenStream, |
- Object::token_stream_class(), |
- len); |
+ ASSERT(kind_ == Snapshot::kFull); |
+ ASSERT(isolate()->no_gc_scope_depth() != 0); |
+ cls_ = Object::token_stream_class(); |
+ RawTokenStream* obj = reinterpret_cast<RawTokenStream*>( |
+ AllocateUninitialized(cls_, TokenStream::InstanceSize(len))); |
+ obj->ptr()->length_ = len; |
+ return obj; |
} |