Upgrade to 3.29
Update V8 to 3.29.88.17 and update makefiles to support building on
all the relevant platforms.
Bug: 17370214
Change-Id: Ia3407c157fd8d72a93e23d8318ccaf6ecf77fa4e
diff --git a/test/mjsunit/debug-evaluate-locals.js b/test/mjsunit/debug-evaluate-locals.js
index 61b6dd9..ba3e92d 100644
--- a/test/mjsunit/debug-evaluate-locals.js
+++ b/test/mjsunit/debug-evaluate-locals.js
@@ -36,19 +36,21 @@
function h() {
var a = 1;
var b = 2;
+ var eval = 5; // Overriding eval should not break anything.
debugger; // Breakpoint.
+ return a;
}
function checkFrame0(frame) {
// Frame 0 (h) has normal variables a and b.
var count = frame.localCount();
- assertEquals(2, count);
+ assertEquals(3, count);
for (var i = 0; i < count; ++i) {
var name = frame.localName(i);
var value = frame.localValue(i).value();
if (name == 'a') {
assertEquals(1, value);
- } else {
+ } else if (name !='eval') {
assertEquals('b', name);
assertEquals(2, value);
}
@@ -59,7 +61,7 @@
function g() {
var a = 3;
eval("var b = 4;");
- h();
+ return h() + a;
}
function checkFrame1(frame) {
@@ -82,7 +84,7 @@
var a = 5;
var b = 0;
with ({b:6}) {
- g();
+ return g();
}
}
@@ -115,24 +117,35 @@
// Evaluating a and b on frames 0, 1 and 2 produces 1, 2, 3, 4, 5 and 6.
assertEquals(1, exec_state.frame(0).evaluate('a').value());
assertEquals(2, exec_state.frame(0).evaluate('b').value());
+ assertEquals(5, exec_state.frame(0).evaluate('eval').value());
assertEquals(3, exec_state.frame(1).evaluate('a').value());
assertEquals(4, exec_state.frame(1).evaluate('b').value());
+ assertEquals("function",
+ typeof exec_state.frame(1).evaluate('eval').value());
assertEquals(5, exec_state.frame(2).evaluate('a').value());
assertEquals(6, exec_state.frame(2).evaluate('b').value());
-
+ assertEquals("function",
+ typeof exec_state.frame(2).evaluate('eval').value());
+ assertEquals("foo",
+ exec_state.frame(0).evaluate('a = "foo"').value());
+ assertEquals("bar",
+ exec_state.frame(1).evaluate('a = "bar"').value());
// Indicate that all was processed.
listenerComplete = true;
}
} catch (e) {
- exception = e
+ exception = e;
+ print("Caught something. " + e + " " + e.stack);
};
};
// Add the debug event listener.
Debug.setListener(listener);
-f();
+var f_result = f();
-// Make sure that the debug event listener vas invoked.
-assertTrue(listenerComplete);
+assertEquals('foobar', f_result);
+
+// Make sure that the debug event listener was invoked.
assertFalse(exception, "exception in listener")
+assertTrue(listenerComplete);