Revision: 5303
Author: vego...@chromium.org
Date: Wed Aug 18 08:24:52 2010
Log: 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.

Review URL: http://codereview.chromium.org/3119026

http://code.google.com/p/v8/source/detail?r=5303

Modified:
 /branches/bleeding_edge/src/objects-visiting.h

=======================================
--- /branches/bleeding_edge/src/objects-visiting.h      Tue Aug 17 04:44:01 2010
+++ /branches/bleeding_edge/src/objects-visiting.h      Wed Aug 18 08:24:52 2010
@@ -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
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev

Reply via email to