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/cpu.h" | 10 #include "vm/cpu.h" |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
825 // pre-allocated in the vm isolate also. | 825 // pre-allocated in the vm isolate also. |
826 cls = isolate->object_store()->array_class(); | 826 cls = isolate->object_store()->array_class(); |
827 cls.set_name(Symbols::_List()); | 827 cls.set_name(Symbols::_List()); |
828 cls = isolate->object_store()->one_byte_string_class(); | 828 cls = isolate->object_store()->one_byte_string_class(); |
829 cls.set_name(Symbols::OneByteString()); | 829 cls.set_name(Symbols::OneByteString()); |
830 | 830 |
831 // Make the VM isolate read-only after setting all objects as marked. | 831 // Make the VM isolate read-only after setting all objects as marked. |
832 PremarkingVisitor premarker(isolate); | 832 PremarkingVisitor premarker(isolate); |
833 isolate->heap()->WriteProtect(false); | 833 isolate->heap()->WriteProtect(false); |
834 ASSERT(isolate->heap()->UsedInWords(Heap::kNew) == 0); | 834 ASSERT(isolate->heap()->UsedInWords(Heap::kNew) == 0); |
835 isolate->heap()->IterateOldObjects(&premarker); | 835 isolate->heap()->old_space()->VisitObjects(&premarker); |
836 isolate->heap()->WriteProtect(true); | 836 isolate->heap()->WriteProtect(true); |
837 } | 837 } |
838 | 838 |
839 | 839 |
840 // Make unused space in an object whose type has been transformed safe | 840 // Make unused space in an object whose type has been transformed safe |
841 // for traversing during GC. | 841 // for traversing during GC. |
842 // The unused part of the transformed object is marked as an TypedDataInt8Array | 842 // The unused part of the transformed object is marked as an TypedDataInt8Array |
843 // object. | 843 // object. |
844 void Object::MakeUnusedSpaceTraversable(const Object& obj, | 844 void Object::MakeUnusedSpaceTraversable(const Object& obj, |
845 intptr_t original_size, | 845 intptr_t original_size, |
(...skipping 19834 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
20680 return tag_label.ToCString(); | 20680 return tag_label.ToCString(); |
20681 } | 20681 } |
20682 | 20682 |
20683 | 20683 |
20684 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 20684 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
20685 Instance::PrintJSONImpl(stream, ref); | 20685 Instance::PrintJSONImpl(stream, ref); |
20686 } | 20686 } |
20687 | 20687 |
20688 | 20688 |
20689 } // namespace dart | 20689 } // namespace dart |
OLD | NEW |