Reviewers: danno,

Description:
Use simple keyed store again in ArrayPush_JS_Builtin

This reverts the change of array.js in r20839 and recovers 38%
performance regression of DOM-Search case in Browsermark2.0. There is
no performance impact on JavaScript benchmarks (Octane, Kraken and
SunSpider).

BUG=

Please review this at https://codereview.chromium.org/353953002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+1, -3 lines):
  M src/array.js


Index: src/array.js
diff --git a/src/array.js b/src/array.js
index a16f430d116d31362819af77f3ea124bbd0bab96..e8f7c63c9a743817e65533165a483eacfd5c49c3 100644
--- a/src/array.js
+++ b/src/array.js
@@ -443,9 +443,7 @@ function ArrayPush() {
   var m = %_ArgumentsLength();

   for (var i = 0; i < m; i++) {
- // Use SetProperty rather than a direct keyed store to ensure that the store - // site doesn't become poisened with an elements transition KeyedStoreIC.
-    %SetProperty(array, i+n, %_Arguments(i), 0, kStrictMode);
+    array[i+n] = %_Arguments(i);
   }

   var new_length = n + m;


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to