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
-~----------~----~----~----~------~----~------~--~---

Reply via email to