diff --git a/js/src/frontend/BytecodeEmitter.cpp b/js/src/frontend/BytecodeEmitter.cpp index aed05cca63e..f62f568fc93 100644 --- a/js/src/frontend/BytecodeEmitter.cpp +++ b/js/src/frontend/BytecodeEmitter.cpp @@ -3436,8 +3436,6 @@ EmitVariables(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn, VarEmit ParseNode *next; for (ParseNode *pn2 = pn->pn_head; ; pn2 = next) { - if (!UpdateSourceCoordNotes(cx, bce, pn2->pn_pos.begin)) - return false; next = pn2->pn_next; ParseNode *pn3; @@ -5906,9 +5904,6 @@ EmitObject(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn) } for (ParseNode *pn2 = pn->pn_head; pn2; pn2 = pn2->pn_next) { - if (!UpdateSourceCoordNotes(cx, bce, pn2->pn_pos.begin)) - return false; - /* Emit an index for t[2] for later consumption by JSOP_INITELEM. */ ParseNode *pn3 = pn2->pn_left; bool isIndex = false; @@ -6070,8 +6065,6 @@ EmitArray(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn, uint32_t co if (nspread && !EmitNumberOp(cx, 0, bce)) return false; for (atomIndex = 0; pn2; atomIndex++, pn2 = pn2->pn_next) { - if (!UpdateSourceCoordNotes(cx, bce, pn2->pn_pos.begin)) - return false; if (pn2->isKind(PNK_ELISION)) { if (Emit1(cx, bce, JSOP_HOLE) < 0) return false; @@ -6379,8 +6372,6 @@ frontend::EmitTree(ExclusiveContext *cx, BytecodeEmitter *bce, ParseNode *pn) case PNK_COMMA: { for (ParseNode *pn2 = pn->pn_head; ; pn2 = pn2->pn_next) { - if (!UpdateSourceCoordNotes(cx, bce, pn2->pn_pos.begin)) - return false; if (!EmitTree(cx, bce, pn2)) return false; if (!pn2->pn_next) diff --git a/js/src/jit-test/tests/debug/Object-deleteProperty-error-02.js b/js/src/jit-test/tests/debug/Object-deleteProperty-error-02.js index 5b949ec8fe5..aecfa52a9a4 100644 --- a/js/src/jit-test/tests/debug/Object-deleteProperty-error-02.js +++ b/js/src/jit-test/tests/debug/Object-deleteProperty-error-02.js @@ -8,7 +8,11 @@ dbg.onDebuggerStatement = function (frame) { assertEq(exc.message, "diaf"); assertEq(exc.fileName, "fail"); assertEq(exc.lineNumber, 4); - assertEq(exc.columnNumber, 20); + + // Arrant nonsense? Sure -- but different from lineNumber is all this + // test exists to verify. If you're the person to make column numbers + // actually work, change this accordingly. + assertEq(exc.columnNumber, 0); return; } throw new Error("deleteProperty should throw"); diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-01.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-01.js index 50c38dffe1c..aca6f14f93e 100644 --- a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-01.js +++ b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-01.js @@ -16,4 +16,4 @@ Debugger(global).onDebuggerStatement = function (frame) { global.log = ''; global.eval("function f(n) { for (var i = 0; i < n; ++i) log += '. '; log += '! '; } debugger;"); global.f(3); -assertEq(global.log, "25 32 44 . 39 32 44 . 39 32 44 . 39 32 57 ! 69 "); +assertEq(global.log, "21 32 44 . 39 32 44 . 39 32 44 . 39 32 57 ! 69 "); diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-02.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-02.js deleted file mode 100644 index 4a4480f4c98..00000000000 --- a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-02.js +++ /dev/null @@ -1,21 +0,0 @@ -// getColumnOffsets correctly places multiple variable declarations. - -var global = newGlobal(); -Debugger(global).onDebuggerStatement = function (frame) { - var script = frame.eval("f").return.script; - script.getAllColumnOffsets().forEach(function (offset) { - script.setBreakpoint(offset.offset, { - hit: function (frame) { - assertEq(offset.lineNumber, 1); - global.log += offset.columnNumber + " "; - } - }); - }); -}; - -global.log = ''; -global.eval("function f(n){var w0,x1=3,y2=4,z3=9} debugger;"); -global.f(3); - -// Should have hit each variable declared. -assertEq(global.log, "18 21 26 31 33 "); diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-03.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-03.js deleted file mode 100644 index 1019f0cdfaf..00000000000 --- a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-03.js +++ /dev/null @@ -1,20 +0,0 @@ -// getColumnOffsets correctly places comma separated expressions. - -var global = newGlobal(); -Debugger(global).onDebuggerStatement = function (frame) { - var script = frame.eval("f").return.script; - script.getAllColumnOffsets().forEach(function (offset) { - script.setBreakpoint(offset.offset, { - hit: function (frame) { - assertEq(offset.lineNumber, 1); - global.log += offset.columnNumber + " "; - } - }); - }); -}; - -global.log = ''; -global.eval("function f(n){print(n),print(n),print(n)} debugger;"); -global.f(3); -// Should hit each call that was separated by commas. -assertEq(global.log, "14 23 32 40 "); diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-04.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-04.js deleted file mode 100644 index dfc9c176f11..00000000000 --- a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-04.js +++ /dev/null @@ -1,20 +0,0 @@ -// getColumnOffsets correctly places object properties. - -var global = newGlobal(); -Debugger(global).onDebuggerStatement = function (frame) { - var script = frame.eval("f").return.script; - script.getAllColumnOffsets().forEach(function (offset) { - script.setBreakpoint(offset.offset, { - hit: function (frame) { - assertEq(offset.lineNumber, 1); - global.log += offset.columnNumber + " "; - } - }); - }); -}; - -global.log = ''; -global.eval("function f(n){var o={a:1,b:2,c:3}} debugger;"); -global.f(3); -// Should hit each property in the object. -assertEq(global.log, "18 21 25 29 19 "); diff --git a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-05.js b/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-05.js deleted file mode 100644 index 8e9bcb3b36e..00000000000 --- a/js/src/jit-test/tests/debug/Script-getAllColumnOffsets-05.js +++ /dev/null @@ -1,20 +0,0 @@ -// getColumnOffsets correctly places array properties. - -var global = newGlobal(); -Debugger(global).onDebuggerStatement = function (frame) { - var script = frame.eval("f").return.script; - script.getAllColumnOffsets().forEach(function (offset) { - script.setBreakpoint(offset.offset, { - hit: function (frame) { - assertEq(offset.lineNumber, 1); - global.log += offset.columnNumber + " "; - } - }); - }); -}; - -global.log = ''; -global.eval("function f(n){var a=[1,2,3]} debugger;"); -global.f(3); -// Should hit each item in the array. -assertEq(global.log, "18 21 23 25 19 ");