| Index: src/objects.cc
|
| diff --git a/src/objects.cc b/src/objects.cc
|
| index d99338cbcff22df1ab574f0991df1094a8384063..a4f63a1ca2d79698c96e2f7d6cdec554a884dd5f 100644
|
| --- a/src/objects.cc
|
| +++ b/src/objects.cc
|
| @@ -1390,9 +1390,11 @@ void HeapObject::IterateBody(InstanceType type, int object_size,
|
| case EXTERNAL_FLOAT_ARRAY_TYPE:
|
| case EXTERNAL_DOUBLE_ARRAY_TYPE:
|
| break;
|
| - case SHARED_FUNCTION_INFO_TYPE:
|
| - SharedFunctionInfo::BodyDescriptor::IterateBody(this, v);
|
| + case SHARED_FUNCTION_INFO_TYPE: {
|
| + SharedFunctionInfo* shared = reinterpret_cast<SharedFunctionInfo*>(this);
|
| + shared->SharedFunctionInfoIterateBody(v);
|
| break;
|
| + }
|
|
|
| #define MAKE_STRUCT_CASE(NAME, Name, name) \
|
| case NAME##_TYPE:
|
| @@ -7926,6 +7928,12 @@ void SharedFunctionInfo::CompleteInobjectSlackTracking() {
|
| }
|
|
|
|
|
| +void SharedFunctionInfo::SharedFunctionInfoIterateBody(ObjectVisitor* v) {
|
| + v->VisitSharedFunctionInfo(this);
|
| + SharedFunctionInfo::BodyDescriptor::IterateBody(this, v);
|
| +}
|
| +
|
| +
|
| #define DECLARE_TAG(ignore1, name, ignore2) name,
|
| const char* const VisitorSynchronization::kTags[
|
| VisitorSynchronization::kNumberOfSyncTags] = {
|
| @@ -7983,7 +7991,6 @@ void ObjectVisitor::VisitDebugTarget(RelocInfo* rinfo) {
|
| CHECK_EQ(target, old_target); // VisitPointer doesn't change Code* *target.
|
| }
|
|
|
| -
|
| void ObjectVisitor::VisitEmbeddedPointer(RelocInfo* rinfo) {
|
| ASSERT(rinfo->rmode() == RelocInfo::EMBEDDED_OBJECT);
|
| VisitPointer(rinfo->target_object_address());
|
|
|