Title: [133708] trunk/Source/WebCore
Revision
133708
Author
[email protected]
Date
2012-11-06 18:31:55 -0800 (Tue, 06 Nov 2012)

Log Message

[V8] neuterBinding should remember the type of its argument
https://bugs.webkit.org/show_bug.cgi?id=101413

Reviewed by Kentaro Hara.

This is a small part of the patch in
https://bugs.webkit.org/show_bug.cgi?id=101110 that we can land
separately to try to tease out what is causing the memory regression.

* bindings/v8/SerializedScriptValue.cpp:
(WebCore):
(WebCore::neuterBinding):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (133707 => 133708)


--- trunk/Source/WebCore/ChangeLog	2012-11-07 02:30:13 UTC (rev 133707)
+++ trunk/Source/WebCore/ChangeLog	2012-11-07 02:31:55 UTC (rev 133708)
@@ -1,3 +1,18 @@
+2012-11-06  Adam Barth  <[email protected]>
+
+        [V8] neuterBinding should remember the type of its argument
+        https://bugs.webkit.org/show_bug.cgi?id=101413
+
+        Reviewed by Kentaro Hara.
+
+        This is a small part of the patch in
+        https://bugs.webkit.org/show_bug.cgi?id=101110 that we can land
+        separately to try to tease out what is causing the memory regression.
+
+        * bindings/v8/SerializedScriptValue.cpp:
+        (WebCore):
+        (WebCore::neuterBinding):
+
 2012-11-06  Alexey Proskuryakov  <[email protected]>
 
         Clean up which storage cookie jar functions use

Modified: trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp (133707 => 133708)


--- trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2012-11-07 02:30:13 UTC (rev 133707)
+++ trunk/Source/WebCore/bindings/v8/SerializedScriptValue.cpp	2012-11-07 02:31:55 UTC (rev 133708)
@@ -2206,13 +2206,14 @@
 {
 }
 
-static void neuterBinding(void* domObject) 
+template<typename T>
+inline void neuterBinding(T* object) 
 {
     Vector<DOMDataStore*>& allStores = V8PerIsolateData::current()->allStores();
     for (size_t i = 0; i < allStores.size(); i++) {
-        v8::Handle<v8::Object> obj = allStores[i]->domObjectMap().get(domObject);
-        if (!obj.IsEmpty())
-            obj->SetIndexedPropertiesToExternalArrayData(0, v8::kExternalByteArray, 0);
+        v8::Handle<v8::Object> wrapper = allStores[i]->domObjectMap().get(object);
+        if (!wrapper.IsEmpty())
+            wrapper->SetIndexedPropertiesToExternalArrayData(0, v8::kExternalByteArray, 0);
     }
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to