| OLD | NEW | 
|    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/bootstrap.h" |    9 #include "vm/bootstrap.h" | 
|    9 #include "vm/exceptions.h" |   10 #include "vm/exceptions.h" | 
|   10 #include "vm/heap.h" |   11 #include "vm/heap.h" | 
|   11 #include "vm/object.h" |   12 #include "vm/object.h" | 
|   12 #include "vm/object_store.h" |   13 #include "vm/object_store.h" | 
|   13  |   14  | 
|   14 namespace dart { |   15 namespace dart { | 
|   15  |   16  | 
|   16 enum { |   17 enum { | 
|   17   kInstanceId = ObjectStore::kMaxId, |   18   kInstanceId = ObjectStore::kMaxId, | 
| (...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  236   ASSERT(kind_ == Snapshot::kFull); |  237   ASSERT(kind_ == Snapshot::kFull); | 
|  237   ASSERT(isolate()->no_gc_scope_depth() != 0); |  238   ASSERT(isolate()->no_gc_scope_depth() != 0); | 
|  238   cls_ = object_store()->mint_class(); |  239   cls_ = object_store()->mint_class(); | 
|  239   RawMint* obj = reinterpret_cast<RawMint*>( |  240   RawMint* obj = reinterpret_cast<RawMint*>( | 
|  240       AllocateUninitialized(cls_, Mint::InstanceSize())); |  241       AllocateUninitialized(cls_, Mint::InstanceSize())); | 
|  241   obj->ptr()->value_ = value; |  242   obj->ptr()->value_ = value; | 
|  242   return obj; |  243   return obj; | 
|  243 } |  244 } | 
|  244  |  245  | 
|  245  |  246  | 
 |  247 RawBigint* SnapshotReader::NewBigint(const char* hex_string) { | 
 |  248   ASSERT(kind_ == Snapshot::kFull); | 
 |  249   ASSERT(isolate()->no_gc_scope_depth() != 0); | 
 |  250   cls_ = object_store()->bigint_class(); | 
 |  251   intptr_t bigint_length = BigintOperations::ComputeChunkLength(hex_string); | 
 |  252   const Bigint& result = Bigint::Handle(reinterpret_cast<RawBigint*>( | 
 |  253       AllocateUninitialized(cls_, Bigint::InstanceSize(bigint_length)))); | 
 |  254   BigintOperations::FromHexCString(hex_string, result); | 
 |  255   return result.raw(); | 
 |  256 } | 
 |  257  | 
 |  258  | 
|  246 RawDouble* SnapshotReader::NewDouble(double value) { |  259 RawDouble* SnapshotReader::NewDouble(double value) { | 
|  247   ASSERT(kind_ == Snapshot::kFull); |  260   ASSERT(kind_ == Snapshot::kFull); | 
|  248   ASSERT(isolate()->no_gc_scope_depth() != 0); |  261   ASSERT(isolate()->no_gc_scope_depth() != 0); | 
|  249   cls_ = object_store()->double_class(); |  262   cls_ = object_store()->double_class(); | 
|  250   RawDouble* obj = reinterpret_cast<RawDouble*>( |  263   RawDouble* obj = reinterpret_cast<RawDouble*>( | 
|  251       AllocateUninitialized(cls_, Double::InstanceSize())); |  264       AllocateUninitialized(cls_, Double::InstanceSize())); | 
|  252   obj->ptr()->value_ = value; |  265   obj->ptr()->value_ = value; | 
|  253   return obj; |  266   return obj; | 
|  254 } |  267 } | 
|  255  |  268  | 
| (...skipping 402 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  658  |  671  | 
|  659  |  672  | 
|  660 void SnapshotWriterVisitor::VisitPointers(RawObject** first, RawObject** last) { |  673 void SnapshotWriterVisitor::VisitPointers(RawObject** first, RawObject** last) { | 
|  661   for (RawObject** current = first; current <= last; current++) { |  674   for (RawObject** current = first; current <= last; current++) { | 
|  662     RawObject* raw_obj = *current; |  675     RawObject* raw_obj = *current; | 
|  663     writer_->WriteObject(raw_obj); |  676     writer_->WriteObject(raw_obj); | 
|  664   } |  677   } | 
|  665 } |  678 } | 
|  666  |  679  | 
|  667 }  // namespace dart |  680 }  // namespace dart | 
| OLD | NEW |