Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(150)

Unified Diff: vm/snapshot.cc

Issue 10697055: Represent tokens as a compressed stream instead of an array. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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;
}

Powered by Google App Engine
This is Rietveld 408576698