Reviewers: Mads Ager, William Hesse, Message: This fixes a bug introduced by a careless merge from bleeding_edge.
Description: Experimental: ensure that the virtual frame state is correct when visiting catch extension objects. Please review this at http://codereview.chromium.org/19011 SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ Affected files: M src/codegen-ia32.cc Index: src/codegen-ia32.cc =================================================================== --- src/codegen-ia32.cc (revision 1169) +++ src/codegen-ia32.cc (working copy) @@ -3100,13 +3100,15 @@ void CodeGenerator::VisitCatchExtensionObject(CatchExtensionObject* node) { + ASSERT(!in_spilled_code()); // Call runtime routine to allocate the catch extension object and // assign the exception value to the catch variable. - Comment cmnt(masm_, "[CatchExtensionObject "); + Comment cmnt(masm_, "[ CatchExtensionObject"); Load(node->key()); Load(node->value()); - __ CallRuntime(Runtime::kCreateCatchExtensionObject, 2); - frame_->Push(eax); + Result result = + frame_->CallRuntime(Runtime::kCreateCatchExtensionObject, 2); + frame_->Push(&result); } --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
