Reviewers: Mads Ager, Description: Experimental: a temporary bugfix for an issue causing an incorrect virtual stack frame.
Please review this at http://codereview.chromium.org/17605 SVN Base: http://v8.googlecode.com/svn/branches/experimental/toiger/ Affected files: M src/jump-target-ia32.cc Index: src/jump-target-ia32.cc =================================================================== --- src/jump-target-ia32.cc (revision 1049) +++ src/jump-target-ia32.cc (working copy) @@ -109,19 +109,14 @@ // For a branch, the frame at the fall-through basic block (not labeled) // does not need to be mergable, but only the other (labeled) one. That // is achieved by reversing the condition and emitting the make mergable - // code as the actual fall-through block. This is necessary only when - // MakeMergable will generate code. - if (expected_frame_->RequiresMergeCode()) { - Label original_fall_through; - __ j(NegateCondition(cc), &original_fall_through, NegateHint(hint)); - expected_frame_->MakeMergable(); - __ jmp(&label_); - __ bind(&original_fall_through); - } else { - expected_frame_->MakeMergable(); - ASSERT(cgen_->HasValidEntryRegisters()); - __ j(cc, &label_, hint); - } + // code as the actual fall-through block. + // + // TODO(): This is necessary only when MakeMergable will generate code. + Label original_fall_through; + __ j(NegateCondition(cc), &original_fall_through, NegateHint(hint)); + expected_frame_->MakeMergable(); + __ jmp(&label_); + __ bind(&original_fall_through); } else { // We negate the condition and emit the code to merge to the expected // frame immediately. --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
