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/bigint_operations.h" |
9 #include "vm/bootstrap.h" | 9 #include "vm/bootstrap.h" |
10 #include "vm/class_finalizer.h" | 10 #include "vm/class_finalizer.h" |
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
199 !IsSingletonClassId(GetVMIsolateObjectId(class_header))); | 199 !IsSingletonClassId(GetVMIsolateObjectId(class_header))); |
200 ASSERT((SerializedHeaderTag::decode(class_header) != kObjectId) || | 200 ASSERT((SerializedHeaderTag::decode(class_header) != kObjectId) || |
201 !IsObjectStoreClassId(SerializedHeaderData::decode(class_header))); | 201 !IsObjectStoreClassId(SerializedHeaderData::decode(class_header))); |
202 Class& cls = Class::ZoneHandle(isolate(), Class::null()); | 202 Class& cls = Class::ZoneHandle(isolate(), Class::null()); |
203 AddBackRef(object_id, &cls, kIsDeserialized); | 203 AddBackRef(object_id, &cls, kIsDeserialized); |
204 // Read the library/class information and lookup the class. | 204 // Read the library/class information and lookup the class. |
205 str_ ^= ReadObjectImpl(class_header); | 205 str_ ^= ReadObjectImpl(class_header); |
206 library_ = Library::LookupLibrary(str_); | 206 library_ = Library::LookupLibrary(str_); |
207 ASSERT(!library_.IsNull()); | 207 ASSERT(!library_.IsNull()); |
208 str_ ^= ReadObjectImpl(); | 208 str_ ^= ReadObjectImpl(); |
209 cls = library_.LookupClass(str_, NULL); // No ambiguity error expected. | 209 cls = library_.LookupClass(str_); |
210 cls.EnsureIsFinalized(isolate()); | 210 cls.EnsureIsFinalized(isolate()); |
211 ASSERT(!cls.IsNull()); | 211 ASSERT(!cls.IsNull()); |
212 return cls.raw(); | 212 return cls.raw(); |
213 } | 213 } |
214 | 214 |
215 | 215 |
216 RawObject* SnapshotReader::ReadObjectImpl() { | 216 RawObject* SnapshotReader::ReadObjectImpl() { |
217 int64_t value = Read<int64_t>(); | 217 int64_t value = Read<int64_t>(); |
218 if ((value & kSmiTagMask) == kSmiTag) { | 218 if ((value & kSmiTagMask) == kSmiTag) { |
219 return NewInteger(value); | 219 return NewInteger(value); |
(...skipping 1265 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1485 UnmarkAll(); | 1485 UnmarkAll(); |
1486 isolate->set_long_jump_base(base); | 1486 isolate->set_long_jump_base(base); |
1487 } else { | 1487 } else { |
1488 isolate->set_long_jump_base(base); | 1488 isolate->set_long_jump_base(base); |
1489 ThrowException(exception_type(), exception_msg()); | 1489 ThrowException(exception_type(), exception_msg()); |
1490 } | 1490 } |
1491 } | 1491 } |
1492 | 1492 |
1493 | 1493 |
1494 } // namespace dart | 1494 } // namespace dart |
OLD | NEW |