seems almost ok, but I'll need another pass after you fix the bug.
http://codereview.chromium.org/7618007/diff/1/src/full-codegen.cc File src/full-codegen.cc (right): http://codereview.chromium.org/7618007/diff/1/src/full-codegen.cc#newcode940 src/full-codegen.cc:940: } Break should also patch context in the stack slot: ------------------- var o = { x: function () { }, y: function () { print("bazinga!"); } }; function foo() { while (true) { with (o) { x(); break; } } baz(); // esi fill be restored from stack after the call with ({}) y(); // bazinga } function baz() {} foo(); ------------------- (add this test to mjsunit). http://codereview.chromium.org/7618007/diff/1/src/full-codegen.h File src/full-codegen.h (right): http://codereview.chromium.org/7618007/diff/1/src/full-codegen.h#newcode150 src/full-codegen.h:150: // contains the value in case of a return). Comment is out of date. Please update. http://codereview.chromium.org/7618007/ -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
