From 75050d8cccde2a6bbd3094d5f92b94ac8507bd66 Mon Sep 17 00:00:00 2001 From: "danno@chromium.org" Date: Mon, 30 Jun 2014 08:39:04 +0000 Subject: [PATCH] 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= R=danno@chromium.org Review URL: https://codereview.chromium.org/353953002 Patch from Weiliang Lin . git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- src/array.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/array.js b/src/array.js index 46dbb87..ca91c69 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), kStrictMode); + array[i+n] = %_Arguments(i); } var new_length = n + m; -- 2.7.4