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/object.h" | 5 #include "vm/object.h" |
6 | 6 |
7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
10 #include "vm/become.h" | 10 #include "vm/become.h" |
(...skipping 1033 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1044 cls = isolate->class_table()->At(kFreeListElement); | 1044 cls = isolate->class_table()->At(kFreeListElement); |
1045 cls.set_name(Symbols::FreeListElement()); | 1045 cls.set_name(Symbols::FreeListElement()); |
1046 cls = isolate->class_table()->At(kForwardingCorpse); | 1046 cls = isolate->class_table()->At(kForwardingCorpse); |
1047 cls.set_name(Symbols::ForwardingCorpse()); | 1047 cls.set_name(Symbols::ForwardingCorpse()); |
1048 | 1048 |
1049 { | 1049 { |
1050 ASSERT(isolate == Dart::vm_isolate()); | 1050 ASSERT(isolate == Dart::vm_isolate()); |
1051 WritableVMIsolateScope scope(Thread::Current()); | 1051 WritableVMIsolateScope scope(Thread::Current()); |
1052 PremarkingVisitor premarker; | 1052 PremarkingVisitor premarker; |
1053 ASSERT(isolate->heap()->UsedInWords(Heap::kNew) == 0); | 1053 ASSERT(isolate->heap()->UsedInWords(Heap::kNew) == 0); |
1054 isolate->heap()->IterateOldObjectsNoExternalPages(&premarker); | 1054 isolate->heap()->IterateOldObjectsNoImagePages(&premarker); |
1055 // Make the VM isolate read-only again after setting all objects as marked. | 1055 // Make the VM isolate read-only again after setting all objects as marked. |
| 1056 // Note objects in image pages are already pre-marked. |
1056 } | 1057 } |
1057 } | 1058 } |
1058 | 1059 |
1059 | 1060 |
1060 void Object::set_vm_isolate_snapshot_object_table(const Array& table) { | 1061 void Object::set_vm_isolate_snapshot_object_table(const Array& table) { |
1061 ASSERT(Isolate::Current() == Dart::vm_isolate()); | 1062 ASSERT(Isolate::Current() == Dart::vm_isolate()); |
1062 *vm_isolate_snapshot_object_table_ = table.raw(); | 1063 *vm_isolate_snapshot_object_table_ = table.raw(); |
1063 } | 1064 } |
1064 | 1065 |
1065 | 1066 |
(...skipping 21951 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
23017 return UserTag::null(); | 23018 return UserTag::null(); |
23018 } | 23019 } |
23019 | 23020 |
23020 | 23021 |
23021 const char* UserTag::ToCString() const { | 23022 const char* UserTag::ToCString() const { |
23022 const String& tag_label = String::Handle(label()); | 23023 const String& tag_label = String::Handle(label()); |
23023 return tag_label.ToCString(); | 23024 return tag_label.ToCString(); |
23024 } | 23025 } |
23025 | 23026 |
23026 } // namespace dart | 23027 } // namespace dart |
OLD | NEW |