Index: src/heap-inl.h |
diff --git a/src/heap-inl.h b/src/heap-inl.h |
index 8977cdb460213806429a6937fa2ac883be5c77f6..396f6789284e1cfa6d56d03b0e3581da6e55a760 100644 |
--- a/src/heap-inl.h |
+++ b/src/heap-inl.h |
@@ -255,11 +255,16 @@ void Heap::FinalizeExternalString(String* string) { |
ExternalString::kResourceOffset - |
kHeapObjectTag); |
+ // Clear pointer cache. |
+ ExternalString::cast(string)->clear_data_cache(); |
+ |
// Dispose of the C++ object if it has not already been disposed. |
if (*resource_addr != NULL) { |
(*resource_addr)->Dispose(); |
- *resource_addr = NULL; |
} |
+ |
+ // Clear the resource pointer in the string. |
+ *resource_addr = NULL; |
} |