Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(42)

Side by Side Diff: src/heap/objects-visiting-inl.h

Issue 1030353003: Enable constant pool support. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698