Reviewers: ,
Message:
I'm helping out with building Chrome using Clang and this broke the build
when
we rolled in a new V8 version the other day.
Description:
Fix two-phase lookup problem in FlexibleBodyVisitor and FixedBodyVisitor.
In FlexibleBodyVisitor and FixedBodyVisitor, the calls to IteratePointers,
which lives in the base class BodyVisitorBase<StaticVisitor>, needs to be
qualified with the dependent base class to be able to be bound during
two-phase
lookup.
Please review this at http://codereview.chromium.org/3119026/show
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/objects-visiting.h
Index: src/objects-visiting.h
===================================================================
--- src/objects-visiting.h (revision 5302)
+++ src/objects-visiting.h (working copy)
@@ -199,14 +199,16 @@
public:
static inline ReturnType Visit(Map* map, HeapObject* object) {
int object_size = BodyDescriptor::SizeOf(map, object);
- IteratePointers(object, BodyDescriptor::kStartOffset, object_size);
+ BodyVisitorBase<StaticVisitor>::IteratePointers(
+ object, BodyDescriptor::kStartOffset, object_size);
return static_cast<ReturnType>(object_size);
}
template<int object_size>
static inline ReturnType VisitSpecialized(Map* map, HeapObject* object) {
ASSERT(BodyDescriptor::SizeOf(map, object) == object_size);
- IteratePointers(object, BodyDescriptor::kStartOffset, object_size);
+ BodyVisitorBase<StaticVisitor>::IteratePointers(
+ object, BodyDescriptor::kStartOffset, object_size);
return static_cast<ReturnType>(object_size);
}
};
@@ -216,9 +218,8 @@
class FixedBodyVisitor : public BodyVisitorBase<StaticVisitor> {
public:
static inline ReturnType Visit(Map* map, HeapObject* object) {
- IteratePointers(object,
- BodyDescriptor::kStartOffset,
- BodyDescriptor::kEndOffset);
+ BodyVisitorBase<StaticVisitor>::IteratePointers(
+ object, BodyDescriptor::kStartOffset, BodyDescriptor::kEndOffset);
return static_cast<ReturnType>(BodyDescriptor::kSize);
}
};
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev