Title: [168631] trunk/Source/_javascript_Core
Revision
168631
Author
akl...@apple.com
Date
2014-05-12 11:26:17 -0700 (Mon, 12 May 2014)

Log Message

0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
<https://webkit.org/b/132828>
<rdar://problem/16886285>

Reviewed by Michael Saboff.

* runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::visitChildren):

    Use JSCell::structure(VM&) to reduce the number of hoops we jump
    through to find Structures during marking.

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (168630 => 168631)


--- trunk/Source/_javascript_Core/ChangeLog	2014-05-12 18:19:36 UTC (rev 168630)
+++ trunk/Source/_javascript_Core/ChangeLog	2014-05-12 18:26:17 UTC (rev 168631)
@@ -1,3 +1,18 @@
+2014-05-12  Andreas Kling  <akl...@apple.com>
+
+        0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
+        <https://webkit.org/b/132828>
+        <rdar://problem/16886285>
+
+        Reviewed by Michael Saboff.
+
+        * runtime/JSObject.cpp:
+        (JSC::JSObject::visitButterfly):
+        (JSC::JSObject::visitChildren):
+
+            Use JSCell::structure(VM&) to reduce the number of hoops we jump
+            through to find Structures during marking.
+
 2014-05-12  László Langó  <llango.u-sze...@partner.samsung.com>
 
         [cmake] Add missing FTL source files to the build system.

Modified: trunk/Source/_javascript_Core/runtime/JSObject.cpp (168630 => 168631)


--- trunk/Source/_javascript_Core/runtime/JSObject.cpp	2014-05-12 18:19:36 UTC (rev 168630)
+++ trunk/Source/_javascript_Core/runtime/JSObject.cpp	2014-05-12 18:26:17 UTC (rev 168631)
@@ -165,7 +165,7 @@
 {
     ASSERT(butterfly);
     
-    Structure* structure = this->structure();
+    Structure* structure = this->structure(visitor.vm());
     
     size_t propertyCapacity = structure->outOfLineCapacity();
     size_t preCapacity;
@@ -214,7 +214,7 @@
 
     Butterfly* butterfly = thisObject->butterfly();
     if (butterfly)
-        thisObject->visitButterfly(visitor, butterfly, thisObject->structure()->outOfLineSize());
+        thisObject->visitButterfly(visitor, butterfly, thisObject->structure(visitor.vm())->outOfLineSize());
 
 #if !ASSERT_DISABLED
     visitor.m_isCheckingForDefaultMarkViolation = wasCheckingForDefaultMarkViolation;
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to