Reviewers: Yang,
Description:
Remove unwarranted assumptions about inlining from a debugger test.
Please review this at https://chromiumcodereview.appspot.com/10239003/
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M test/mjsunit/debug-evaluate-locals-optimized.js
Index: test/mjsunit/debug-evaluate-locals-optimized.js
===================================================================
--- test/mjsunit/debug-evaluate-locals-optimized.js (revision 11446)
+++ test/mjsunit/debug-evaluate-locals-optimized.js (working copy)
@@ -46,6 +46,11 @@
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 {
if (event == Debug.DebugEvent.Break)
@@ -138,23 +143,22 @@
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