Reviewers: Søren Gjesse,

Description:
Port fix of issue 73940 (revision 6946) to 3.0 branch.

Please review this at http://codereview.chromium.org/6588005/

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

Affected files:
  M src/array.js
  M src/version.cc


Index: src/array.js
diff --git a/src/array.js b/src/array.js
index 32115edfc549d066ee100a507c47968b3d5ec9ad..7a48acfb98e4ddac71900e1b9687fbacf86c0aa4 100644
--- a/src/array.js
+++ b/src/array.js
@@ -1023,13 +1023,13 @@ function ArrayIndexOf(element, index) {
   }
   var min = index;
   var max = length;
-  if (UseSparseVariant(this, length, true)) {
+  if (UseSparseVariant(this, length, IS_ARRAY(this))) {
     var intervals = %GetArrayKeys(this, length);
     if (intervals.length == 2 && intervals[0] < 0) {
       // A single interval.
       var intervalMin = -(intervals[0] + 1);
       var intervalMax = intervalMin + intervals[1];
-      min = MAX(min, intervalMin);
+      if (min < intervalMin) min = intervalMin;
       max = intervalMax;  // Capped by length already.
       // Fall through to loop below.
     } else {
@@ -1079,13 +1079,13 @@ function ArrayLastIndexOf(element, index) {
   }
   var min = 0;
   var max = index;
-  if (UseSparseVariant(this, length, true)) {
+  if (UseSparseVariant(this, length, IS_ARRAY(this))) {
     var intervals = %GetArrayKeys(this, index + 1);
     if (intervals.length == 2 && intervals[0] < 0) {
       // A single interval.
       var intervalMin = -(intervals[0] + 1);
       var intervalMax = intervalMin + intervals[1];
-      min = MAX(min, intervalMin);
+      if (min < intervalMin) min = intervalMin;
       max = intervalMax;  // Capped by index already.
       // Fall through to loop below.
     } else {
Index: src/version.cc
diff --git a/src/version.cc b/src/version.cc
index 8f5f74614cb58cb2c4ceced5511df7c4a8842026..a6b3e9297dc91f98dc9abecd34b136e1e6c5a33f 100644
--- a/src/version.cc
+++ b/src/version.cc
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     0
 #define BUILD_NUMBER      12
-#define PATCH_LEVEL       24
+#define PATCH_LEVEL       25
 #define CANDIDATE_VERSION false

 // Define SONAME to have the SCons build the put a specific SONAME into the


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to