Revision: 11449
Author:   [email protected]
Date:     Thu Apr 26 04:58:34 2012
Log: Remove unwarranted assumptions about inlining from a debugger test.
Review URL: https://chromiumcodereview.appspot.com/10239003
http://code.google.com/p/v8/source/detail?r=11449

Modified:
/branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized-double.js
 /branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized.js

=======================================
--- /branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized-double.js Tue Feb 28 01:05:55 2012 +++ /branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized-double.js Thu Apr 26 04:58:34 2012
@@ -55,6 +55,11 @@
 function arraySum(arr) {
   return arr.reduce(function (a, b) { return a + b; }, 0);
 }
+
+function isCurrentlyOptimized(fun) {
+  // See runtime.cc.
+  return (%GetOptimizationStatus(fun) & 1) != 0;
+}

 function listener(event, exec_state, event_data, data) {
   try {
@@ -148,22 +153,21 @@
           assertFalse(frame.isConstructCall());
         }

-        // When function f is optimized (1 means YES, see runtime.cc) we
-        // expect an optimized frame for f with g1, g2 and g3 inlined.
-        if (%GetOptimizationStatus(f) == 1) {
-          if (i == 1 || i == 2 || i == 3) {
-            assertTrue(frame.isOptimizedFrame());
-            assertTrue(frame.isInlinedFrame());
-            assertEquals(4 - i, frame.inlinedFrameIndex());
-          } else if (i == 4) {
-            assertTrue(frame.isOptimizedFrame());
-            assertFalse(frame.isInlinedFrame());
-          } else {
-            assertFalse(frame.isOptimizedFrame());
-            assertFalse(frame.isInlinedFrame());
-          }
+        if (i > 4) {
+          assertFalse(frame.isOptimizedFrame());
+          assertFalse(frame.isInlinedFrame());
         }
       }
+
+ // When function f is optimized we expect an optimized frame for f. We
+      // can't say whether or not the top 3 frames (g1, g2 and g3) are
+      // optimized and inlined.
+      var frame4 = exec_state.frame(4);
+
+      if (isCurrentlyOptimized(f)) {
+        assertTrue(frame4.isOptimizedFrame());
+        assertFalse(frame4.isInlinedFrame());
+      }

       // Indicate that all was processed.
       listenerComplete = true;
=======================================
--- /branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized.js Tue Feb 28 01:05:55 2012 +++ /branches/bleeding_edge/test/mjsunit/debug-evaluate-locals-optimized.js Thu Apr 26 04:58:34 2012
@@ -45,6 +45,11 @@
 function arraySum(arr) {
   return arr.reduce(function (a, b) { return a + b; }, 0);
 }
+
+function isCurrentlyOptimized(fun) {
+  // See runtime.cc.
+  return (%GetOptimizationStatus(fun) & 1) != 0;
+}

 function listener(event, exec_state, event_data, data) {
   try {
@@ -138,22 +143,21 @@
           assertFalse(frame.isConstructCall());
         }

-        // When function f is optimized (1 means YES, see runtime.cc) we
-        // expect an optimized frame for f with g1, g2 and g3 inlined.
-        if (%GetOptimizationStatus(f) == 1) {
-          if (i == 1 || i == 2 || i == 3) {
-            assertTrue(frame.isOptimizedFrame());
-            assertTrue(frame.isInlinedFrame());
-            assertEquals(4 - i, frame.inlinedFrameIndex());
-          } else if (i == 4) {
-            assertTrue(frame.isOptimizedFrame());
-            assertFalse(frame.isInlinedFrame());
-          } else {
-            assertFalse(frame.isOptimizedFrame());
-            assertFalse(frame.isInlinedFrame());
-          }
+        if (i > 4) {
+          assertFalse(frame.isOptimizedFrame());
+          assertFalse(frame.isInlinedFrame());
         }
       }
+
+ // When function f is optimized we expect an optimized frame for f. We
+      // can't say whether or not the top 3 frames (g1, g2 and g3) are
+      // optimized and inlined.
+      var frame4 = exec_state.frame(4);
+
+      if (isCurrentlyOptimized(f)) {
+        assertTrue(frame4.isOptimizedFrame());
+        assertFalse(frame4.isInlinedFrame());
+      }

       // Indicate that all was processed.
       listenerComplete = true;

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

Reply via email to