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

Reply via email to