LGTM.
http://codereview.chromium.org/8585001/diff/4001/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): http://codereview.chromium.org/8585001/diff/4001/src/arm/full-codegen-arm.cc#newcode363 src/arm/full-codegen-arm.cc:363: CodeGenerator::RecordPositions(masm_, function()->end_position() - 1); What if the function source doesn't have a closing brace, e.g., Function("return 42;") ? Will this still work? http://codereview.chromium.org/8585001/diff/4001/src/ia32/full-codegen-ia32.cc File src/ia32/full-codegen-ia32.cc (right): http://codereview.chromium.org/8585001/diff/4001/src/ia32/full-codegen-ia32.cc#newcode367 src/ia32/full-codegen-ia32.cc:367: SetSourcePosition(function()->end_position() - 1); Can't the final character coincide with another scope close, e.g., "with (x) y = z; " ? http://codereview.chromium.org/8585001/diff/4001/test/mjsunit/debug-stepout-scope.js File test/mjsunit/debug-stepout-scope.js (right): http://codereview.chromium.org/8585001/diff/4001/test/mjsunit/debug-stepout-scope.js#newcode141 test/mjsunit/debug-stepout-scope.js:141: eval("with ({x:1}) x = 1"); Try adding tests with an extra character at the end, e.g., a space. Or a semicolon followed by a space. http://codereview.chromium.org/8585001/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
