Title: [114793] trunk/Source/_javascript_Core
Revision
114793
Author
[email protected]
Date
2012-04-20 15:52:53 -0700 (Fri, 20 Apr 2012)

Log Message

Inline the JSArray constructor
https://bugs.webkit.org/show_bug.cgi?id=84416

Patch by Benjamin Poulain <[email protected]> on 2012-04-20
Reviewed by Geoffrey Garen.

The constructor is trivial, no reason to jump for it.

This makes the creation of array ~5% faster (on non-trivial cases, no empty arrays).

* runtime/JSArray.cpp:
(JSC):
* runtime/JSArray.h:
(JSC::JSArray::JSArray):
* _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (114792 => 114793)


--- trunk/Source/_javascript_Core/ChangeLog	2012-04-20 22:38:49 UTC (rev 114792)
+++ trunk/Source/_javascript_Core/ChangeLog	2012-04-20 22:52:53 UTC (rev 114793)
@@ -1,3 +1,20 @@
+2012-04-20  Benjamin Poulain  <[email protected]>
+
+        Inline the JSArray constructor
+        https://bugs.webkit.org/show_bug.cgi?id=84416
+
+        Reviewed by Geoffrey Garen.
+
+        The constructor is trivial, no reason to jump for it.
+
+        This makes the creation of array ~5% faster (on non-trivial cases, no empty arrays).
+
+        * runtime/JSArray.cpp:
+        (JSC):
+        * runtime/JSArray.h:
+        (JSC::JSArray::JSArray):
+        * _javascript_Core.vcproj/_javascript_Core/_javascript_Core.def:
+
 2012-04-20  Mark Hahnenberg  <[email protected]>
 
         Heap should cancel GC timer at the start of the collection

Modified: trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def (114792 => 114793)


--- trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2012-04-20 22:38:49 UTC (rev 114792)
+++ trunk/Source/_javascript_Core/_javascript_Core.vcproj/_javascript_Core/_javascript_Core.def	2012-04-20 22:52:53 UTC (rev 114793)
@@ -9,7 +9,6 @@
     ??0DropAllLocks@JSLock@JSC@@QAE@W4JSLockBehavior@2@@Z
     ??0DynamicGlobalObjectScope@JSC@@QAE@AAVJSGlobalData@1@PAVJSGlobalObject@1@@Z 
     ??0InternalFunction@JSC@@IAE@PAVJSGlobalObject@1@PAVStructure@1@@Z
-    ??0JSArray@JSC@@IAE@AAVJSGlobalData@1@PAVStructure@1@@Z
     ??0JSByteArray@JSC@@AAE@PAVExecState@1@PAVStructure@1@PAVByteArray@WTF@@@Z
     ??0JSLock@JSC@@QAE@PAVExecState@1@@Z
     ??0MD5@WTF@@QAE@XZ

Modified: trunk/Source/_javascript_Core/runtime/JSArray.cpp (114792 => 114793)


--- trunk/Source/_javascript_Core/runtime/JSArray.cpp	2012-04-20 22:38:49 UTC (rev 114792)
+++ trunk/Source/_javascript_Core/runtime/JSArray.cpp	2012-04-20 22:52:53 UTC (rev 114793)
@@ -125,14 +125,6 @@
 
 #endif
 
-JSArray::JSArray(JSGlobalData& globalData, Structure* structure)
-    : JSNonFinalObject(globalData, structure)
-    , m_indexBias(0)
-    , m_storage(0)
-    , m_sparseValueMap(0)
-{
-}
-
 void JSArray::finishCreation(JSGlobalData& globalData, unsigned initialLength)
 {
     Base::finishCreation(globalData);

Modified: trunk/Source/_javascript_Core/runtime/JSArray.h (114792 => 114793)


--- trunk/Source/_javascript_Core/runtime/JSArray.h	2012-04-20 22:38:49 UTC (rev 114792)
+++ trunk/Source/_javascript_Core/runtime/JSArray.h	2012-04-20 22:52:53 UTC (rev 114793)
@@ -139,7 +139,13 @@
         friend class JIT;
 
     protected:
-        JS_EXPORT_PRIVATE explicit JSArray(JSGlobalData&, Structure*);
+        explicit JSArray(JSGlobalData& globalData, Structure* structure)
+            : JSNonFinalObject(globalData, structure)
+            , m_indexBias(0)
+            , m_storage(0)
+            , m_sparseValueMap(0)
+        {
+        }
 
         JS_EXPORT_PRIVATE void finishCreation(JSGlobalData&, unsigned initialLength = 0);
         JS_EXPORT_PRIVATE JSArray* tryFinishCreationUninitialized(JSGlobalData&, unsigned initialLength);
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to