The issue with Forget is the serious one.  I think using "Drop" is all
it takes to make it work.


http://codereview.chromium.org/16567/diff/209/217
File src/codegen-ia32.cc (right):

http://codereview.chromium.org/16567/diff/209/217#newcode1651
Line 1651: result.Unuse();
Since the reference to eax is live in the next basic block, it should be
passed to Jump or Bind.

http://codereview.chromium.org/16567/diff/209/217#newcode1660
Line 1660: frame_->EmitPush(eax);  // Materialize result on the stack.
EmitPush assumes the frame is spilled.  This should be a plain Push of
the result.

http://codereview.chromium.org/16567/diff/209/214
File src/virtual-frame-ia32.cc (right):

http://codereview.chromium.org/16567/diff/209/214#newcode637
Line 637: Forget(height());
As discussed offline, Forget as it currently stands probably isn't the
right thing here.  It assumes that it is forgetting things below the
actual stack pointer, and it doesn't adjust the stack pointer itself but
assumes someone else has or will.

http://codereview.chromium.org/16567/diff/209/215
File src/virtual-frame-ia32.h (right):

http://codereview.chromium.org/16567/diff/209/215#newcode242
Line 242: // This avoid generating unnecessary merge code when jumping
to the
avoids

http://codereview.chromium.org/16567

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to