Revision: 6738
Author: [email protected]
Date: Fri Feb 11 01:02:40 2011
Log: Merge revision 6721 to the 3.0 branch.

This fixes a crash triggered when V8 tries to optimize an infinite loop
while the loop is running.

Review URL: http://codereview.chromium.org/6489025
http://code.google.com/p/v8/source/detail?r=6738

Modified:
 /branches/3.0/src/hydrogen.cc
 /branches/3.0/src/version.cc

=======================================
--- /branches/3.0/src/hydrogen.cc       Wed Feb  9 23:21:03 2011
+++ /branches/3.0/src/hydrogen.cc       Fri Feb 11 01:02:40 2011
@@ -1813,16 +1813,14 @@
                                               bool is_truncating) {
   // Insert the representation change right before its use. For phi-uses we
   // insert at the end of the corresponding predecessor.
-  HBasicBlock* insert_block = use->block();
+  HInstruction* next = NULL;
   if (use->IsPhi()) {
     int index = 0;
     while (use->OperandAt(index) != value) ++index;
-    insert_block = insert_block->predecessors()->at(index);
-  }
-
-  HInstruction* next = (insert_block == use->block())
-      ? HInstruction::cast(use)
-      : insert_block->end();
+    next = use->block()->predecessors()->at(index)->end();
+  } else {
+    next = HInstruction::cast(use);
+  }

   // For constants we try to make the representation change at compile
   // time. When a representation change is not possible without loss of
=======================================
--- /branches/3.0/src/version.cc        Thu Feb 10 02:03:00 2011
+++ /branches/3.0/src/version.cc        Fri Feb 11 01:02:40 2011
@@ -35,7 +35,7 @@
 #define MAJOR_VERSION     3
 #define MINOR_VERSION     0
 #define BUILD_NUMBER      12
-#define PATCH_LEVEL       15
+#define PATCH_LEVEL       16
 #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