OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_OBJECTS_VISITING_INL_H_ | 5 #ifndef V8_OBJECTS_VISITING_INL_H_ |
6 #define V8_OBJECTS_VISITING_INL_H_ | 6 #define V8_OBJECTS_VISITING_INL_H_ |
7 | 7 |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 837 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
848 RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) | | 848 RelocInfo::ModeMask(RelocInfo::DEBUG_BREAK_SLOT) | |
849 RelocInfo::ModeMask(RelocInfo::RUNTIME_ENTRY); | 849 RelocInfo::ModeMask(RelocInfo::RUNTIME_ENTRY); |
850 | 850 |
851 // There are two places where we iterate code bodies: here and the | 851 // There are two places where we iterate code bodies: here and the |
852 // templated CodeIterateBody (below). They should be kept in sync. | 852 // templated CodeIterateBody (below). They should be kept in sync. |
853 IteratePointer(v, kRelocationInfoOffset); | 853 IteratePointer(v, kRelocationInfoOffset); |
854 IteratePointer(v, kHandlerTableOffset); | 854 IteratePointer(v, kHandlerTableOffset); |
855 IteratePointer(v, kDeoptimizationDataOffset); | 855 IteratePointer(v, kDeoptimizationDataOffset); |
856 IteratePointer(v, kTypeFeedbackInfoOffset); | 856 IteratePointer(v, kTypeFeedbackInfoOffset); |
857 IterateNextCodeLink(v, kNextCodeLinkOffset); | 857 IterateNextCodeLink(v, kNextCodeLinkOffset); |
858 IteratePointer(v, kConstantPoolOffset); | 858 if (FLAG_enable_ool_constant_pool) { |
| 859 IteratePointer(v, kConstantPoolOffset); |
| 860 } |
859 | 861 |
860 RelocIterator it(this, mode_mask); | 862 RelocIterator it(this, mode_mask); |
861 Isolate* isolate = this->GetIsolate(); | 863 Isolate* isolate = this->GetIsolate(); |
862 for (; !it.done(); it.next()) { | 864 for (; !it.done(); it.next()) { |
863 it.rinfo()->Visit(isolate, v); | 865 it.rinfo()->Visit(isolate, v); |
864 } | 866 } |
865 } | 867 } |
866 | 868 |
867 | 869 |
868 template <typename StaticVisitor> | 870 template <typename StaticVisitor> |
(...skipping 16 matching lines...) Expand all Loading... |
885 StaticVisitor::VisitPointer( | 887 StaticVisitor::VisitPointer( |
886 heap, reinterpret_cast<Object**>(this->address() + kHandlerTableOffset)); | 888 heap, reinterpret_cast<Object**>(this->address() + kHandlerTableOffset)); |
887 StaticVisitor::VisitPointer( | 889 StaticVisitor::VisitPointer( |
888 heap, | 890 heap, |
889 reinterpret_cast<Object**>(this->address() + kDeoptimizationDataOffset)); | 891 reinterpret_cast<Object**>(this->address() + kDeoptimizationDataOffset)); |
890 StaticVisitor::VisitPointer( | 892 StaticVisitor::VisitPointer( |
891 heap, | 893 heap, |
892 reinterpret_cast<Object**>(this->address() + kTypeFeedbackInfoOffset)); | 894 reinterpret_cast<Object**>(this->address() + kTypeFeedbackInfoOffset)); |
893 StaticVisitor::VisitNextCodeLink( | 895 StaticVisitor::VisitNextCodeLink( |
894 heap, reinterpret_cast<Object**>(this->address() + kNextCodeLinkOffset)); | 896 heap, reinterpret_cast<Object**>(this->address() + kNextCodeLinkOffset)); |
895 StaticVisitor::VisitPointer( | 897 if (FLAG_enable_ool_constant_pool) { |
896 heap, reinterpret_cast<Object**>(this->address() + kConstantPoolOffset)); | 898 StaticVisitor::VisitPointer( |
| 899 heap, |
| 900 reinterpret_cast<Object**>(this->address() + kConstantPoolOffset)); |
| 901 } |
897 | 902 |
898 | 903 |
899 RelocIterator it(this, mode_mask); | 904 RelocIterator it(this, mode_mask); |
900 for (; !it.done(); it.next()) { | 905 for (; !it.done(); it.next()) { |
901 it.rinfo()->template Visit<StaticVisitor>(heap); | 906 it.rinfo()->template Visit<StaticVisitor>(heap); |
902 } | 907 } |
903 } | 908 } |
904 } | 909 } |
905 } // namespace v8::internal | 910 } // namespace v8::internal |
906 | 911 |
907 #endif // V8_OBJECTS_VISITING_INL_H_ | 912 #endif // V8_OBJECTS_VISITING_INL_H_ |
OLD | NEW |