LGTM. 2009/4/1 <[email protected]>
> > Reviewers: William Hesse, > > Description: > Revert change 1656 which was unsafe until it can be properly fixed. > > [email protected] > > Please review this at http://codereview.chromium.org/60010 > > SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ > > Affected files: > M src/codegen-ia32.cc > > > Index: src/codegen-ia32.cc > =================================================================== > --- src/codegen-ia32.cc (revision 1661) > +++ src/codegen-ia32.cc (working copy) > @@ -4799,25 +4799,17 @@ > target.size() * kPointerSize); > > Result value = frame_->Pop(); > + value.ToRegister(); > + ASSERT(value.is_valid()); > > // Postfix: Store the old value as the result. > if (is_postfix) { > - if (value.is_register()) { > - Result old_value = allocator_->Allocate(); > - ASSERT(old_value.is_valid()); > - __ mov(old_value.reg(), value.reg()); > - frame_->SetElementAt(target.size(), &old_value); > - } else { > - ASSERT(value.is_constant()); > - Result old_value = value; > - frame_->SetElementAt(target.size(), &old_value); > - } > + Result old_value = value; > + frame_->SetElementAt(target.size(), &old_value); > } > > // Perform optimistic increment/decrement. Ensure the value is > // writable. > - value.ToRegister(); > - ASSERT(value.is_valid()); > frame_->Spill(value.reg()); > ASSERT(allocator_->count(value.reg()) == 1); > > > > > > > --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
