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

Side by Side Diff: vm/snapshot.cc

Issue 11087070: - Get rid of RawClosure class and use RawInstance for closures. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
Patch Set: Created 8 years, 2 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « vm/snapshot.h ('k') | vm/stub_code_ia32.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/snapshot.h" 5 #include "vm/snapshot.h"
6 6
7 #include "platform/assert.h" 7 #include "platform/assert.h"
8 #include "vm/bigint_operations.h" 8 #include "vm/bigint_operations.h"
9 #include "vm/bootstrap.h" 9 #include "vm/bootstrap.h"
10 #include "vm/exceptions.h" 10 #include "vm/exceptions.h"
(...skipping 416 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 ASSERT(kind_ == Snapshot::kFull); 427 ASSERT(kind_ == Snapshot::kFull);
428 ASSERT(isolate()->no_gc_scope_depth() != 0); 428 ASSERT(isolate()->no_gc_scope_depth() != 0);
429 cls_ = Object::context_class(); 429 cls_ = Object::context_class();
430 RawContext* obj = reinterpret_cast<RawContext*>( 430 RawContext* obj = reinterpret_cast<RawContext*>(
431 AllocateUninitialized(cls_, Context::InstanceSize(num_variables))); 431 AllocateUninitialized(cls_, Context::InstanceSize(num_variables)));
432 obj->ptr()->num_variables_ = num_variables; 432 obj->ptr()->num_variables_ = num_variables;
433 return obj; 433 return obj;
434 } 434 }
435 435
436 436
437 RawClass* SnapshotReader::NewClass(intptr_t class_id, bool is_signature_class) { 437 RawClass* SnapshotReader::NewClass(intptr_t class_id) {
438 ASSERT(kind_ == Snapshot::kFull); 438 ASSERT(kind_ == Snapshot::kFull);
439 ASSERT(isolate()->no_gc_scope_depth() != 0); 439 ASSERT(isolate()->no_gc_scope_depth() != 0);
440 if (class_id < kNumPredefinedCids) { 440 if (class_id < kNumPredefinedCids) {
441 ASSERT((class_id >= kInstanceCid) && (class_id <= kDartFunctionCid)); 441 ASSERT((class_id >= kInstanceCid) && (class_id <= kDartFunctionCid));
442 return isolate()->class_table()->At(class_id); 442 return isolate()->class_table()->At(class_id);
443 } 443 }
444 cls_ = Object::class_class(); 444 cls_ = Object::class_class();
445 RawClass* obj = reinterpret_cast<RawClass*>( 445 RawClass* obj = reinterpret_cast<RawClass*>(
446 AllocateUninitialized(cls_, Class::InstanceSize())); 446 AllocateUninitialized(cls_, Class::InstanceSize()));
447 if (is_signature_class) { 447 Instance fake;
448 Closure fake; 448 obj->ptr()->handle_vtable_ = fake.vtable();
449 obj->ptr()->handle_vtable_ = fake.vtable();
450 } else {
451 Instance fake;
452 obj->ptr()->handle_vtable_ = fake.vtable();
453 }
454 cls_ = obj; 449 cls_ = obj;
455 cls_.set_id(kIllegalCid); 450 cls_.set_id(kIllegalCid);
456 isolate()->class_table()->Register(cls_); 451 isolate()->class_table()->Register(cls_);
457 return cls_.raw(); 452 return cls_.raw();
458 } 453 }
459 454
460 455
461 RawMint* SnapshotReader::NewMint(int64_t value) { 456 RawMint* SnapshotReader::NewMint(int64_t value) {
462 ASSERT(kind_ == Snapshot::kFull); 457 ASSERT(kind_ == Snapshot::kFull);
463 ASSERT(isolate()->no_gc_scope_depth() != 0); 458 ASSERT(isolate()->no_gc_scope_depth() != 0);
(...skipping 718 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 1177
1183 1178
1184 void MessageWriter::WriteMessage(const Object& obj) { 1179 void MessageWriter::WriteMessage(const Object& obj) {
1185 ASSERT(kind() == Snapshot::kMessage); 1180 ASSERT(kind() == Snapshot::kMessage);
1186 WriteObject(obj.raw()); 1181 WriteObject(obj.raw());
1187 UnmarkAll(); 1182 UnmarkAll();
1188 } 1183 }
1189 1184
1190 1185
1191 } // namespace dart 1186 } // namespace dart
OLDNEW
« no previous file with comments | « vm/snapshot.h ('k') | vm/stub_code_ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698