Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index ffec178d42025c2d52eb8bfad7017816e1dbee59..5e6392187b084e4932f1e00b83422743a3a6dfae 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -4562,6 +4562,19 @@ Object* Code::GetObjectFromEntryAddress(Address location_of_address) { |
FromAddress(Memory::Address_at(location_of_address) - Code::kHeaderSize); |
} |
+bool Code::IsWeakObjectInOptimizedCode(Object* object) { |
+ ASSERT(is_optimized_code()); |
+ if (object->IsMap()) { |
+ return Map::cast(object)->CanTransition() && |
+ FLAG_collect_maps && |
+ FLAG_weak_embedded_maps_in_optimized_code; |
+ } |
+ if (object->IsJSObject() || |
+ (object->IsCell() && Cell::cast(object)->value()->IsJSObject())) { |
+ return FLAG_weak_embedded_objects_in_optimized_code; |
+ } |
+ return false; |
+} |
Object* Map::prototype() { |
return READ_FIELD(this, kPrototypeOffset); |