Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 026166fbf70ee7e8755215361914abddc698c038..3ac52bdf626024a33f52a428db0449b4a1a5e9af 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -1549,6 +1549,22 @@ bool HeapObject::MayContainRawValues() { |
} |
+bool HeapObject::MayContainMixedValues() { |
+ InstanceType type = map()->instance_type(); |
+ switch (type) { |
+ case CONSTANT_POOL_ARRAY_TYPE: |
+ case JS_FUNCTION_TYPE: |
+ return true; |
+ default: |
+ if (type >= FIRST_FIXED_TYPED_ARRAY_TYPE && |
+ type <= LAST_FIXED_TYPED_ARRAY_TYPE) { |
+ return true; |
+ } |
+ return false; |
+ } |
+} |
+ |
+ |
void HeapObject::IteratePointers(ObjectVisitor* v, int start, int end) { |
v->VisitPointers(reinterpret_cast<Object**>(FIELD_ADDR(this, start)), |
reinterpret_cast<Object**>(FIELD_ADDR(this, end))); |