Reviewers: Jakob,

Description:
Version 4.2.77.9 (cherry-pick)

Merged ddfca2b06992b3f82dfdc89e468ddc518f18396a

Bugfix in hydrogen GVN.

BUG=chromium:467481
LOG=N
[email protected]

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

Base URL: https://chromium.googlesource.com/v8/[email protected]

Affected files (+15, -19 lines):
  M include/v8-version.h
  M src/hydrogen.cc
  A + test/mjsunit/regress/regress-467481.js


Index: include/v8-version.h
diff --git a/include/v8-version.h b/include/v8-version.h
index 1aa052e640c7dfdd507c42259da5d4acbb4a12be..b8eb8b117146ac58ff4f60627aa603b0a31c0d1c 100644
--- a/include/v8-version.h
+++ b/include/v8-version.h
@@ -11,7 +11,7 @@
 #define V8_MAJOR_VERSION 4
 #define V8_MINOR_VERSION 2
 #define V8_BUILD_NUMBER 77
-#define V8_PATCH_LEVEL 8
+#define V8_PATCH_LEVEL 9

 // Use 1 for candidates and 0 otherwise.
 // (Boolean macro values are not supported by all preprocessors.)
Index: src/hydrogen.cc
diff --git a/src/hydrogen.cc b/src/hydrogen.cc
index 50e3b2124df60ddc29331f0d9d4feb8f753c6a54..d73a3ebac46bbec420eab87db222f27c78f9f426 100644
--- a/src/hydrogen.cc
+++ b/src/hydrogen.cc
@@ -6905,9 +6905,6 @@ HInstruction* HOptimizedGraphBuilder::BuildMonomorphicElementAccess(
     PropertyAccessType access_type,
     KeyedAccessStoreMode store_mode) {
   HCheckMaps* checked_object = Add<HCheckMaps>(object, map, dependency);
-  if (dependency) {
-    checked_object->ClearDependsOnFlag(kElementsKind);
-  }

   if (access_type == STORE && map->prototype()->IsJSObject()) {
     // monomorphic stores need a prototype chain check because shape
Index: test/mjsunit/regress/regress-467481.js
diff --git a/test/mjsunit/array-push12.js b/test/mjsunit/regress/regress-467481.js
similarity index 52%
copy from test/mjsunit/array-push12.js
copy to test/mjsunit/regress/regress-467481.js
index f4c15b484b41197c9007113ecf8f91fe909cc5d3..dcb12d89b0b0c857c28fdd55ff941a9bfcadf941 100644
--- a/test/mjsunit/array-push12.js
+++ b/test/mjsunit/regress/regress-467481.js
@@ -4,20 +4,19 @@

 // Flags: --allow-natives-syntax

-var a = [];
-for (var i = -20; i < 0; ++i) {
-  a[i] = 0;
+function f(a1, a2) {
+  var v7 = a2[0];
+  var v8 = a1[0];
+  a2[0] = 0.3;
 }
-
-function g() {
-    [].push.apply(a, arguments);
-}
-
-function f() {
-  g();
-}
-
-g();
-g();
+v6 = new Array(1);
+v6[0] = "tagged";
+f(v6, [1]);
+v5 = new Array(1);
+v5[0] = 0.1;
+f(v5, v5);
+v5 = new Array(10);
+f(v5, v5);
 %OptimizeFunctionOnNextCall(f);
-f();
+f(v5, v5);
+v5[0];


--
--
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