Index: src/ic.h |
diff --git a/src/ic.h b/src/ic.h |
index 41882e66890809936332c66762d85094bd4756c4..ca0398897cdca74eeff9f6bafe31df824291e330 100644 |
--- a/src/ic.h |
+++ b/src/ic.h |
@@ -106,6 +106,14 @@ class IC { |
return false; |
} |
+ // If the stub contains weak maps then this function adds the stub to |
+ // the dependent code array of each weak map. |
+ static void RegisterWeakMapDependency(Handle<Code> stub); |
+ |
+ // This function is called when a weak map in the stub is dying, |
+ // invalidates the stub by setting maps in it to undefined. |
+ static void InvalidateMaps(Code* stub); |
+ |
// Clear the inline cache to initial state. |
static void Clear(Isolate* isolate, |
Address address, |
@@ -173,6 +181,9 @@ class IC { |
// Set the call-site target. |
void set_target(Code* code) { |
+#ifdef VERIFY_HEAP |
+ code->VerifyEmbeddedObjectsDependency(); |
+#endif |
SetTargetAtAddress(address(), code, constant_pool()); |
target_set_ = true; |
} |