Nice.  LGTM.

On Thu, Jul 30, 2009 at 9:59 AM, <[email protected]> wrote:

> Reviewers: Kevin Millikin,
>
> Description:
> X64: Change wording of comments.
>
> Please review this at http://codereview.chromium.org/160381
>
> SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
>
> Affected files:
>  M     src/x64/codegen-x64.cc
>
>
> Index: src/x64/codegen-x64.cc
> ===================================================================
> --- src/x64/codegen-x64.cc      (revision 2582)
> +++ src/x64/codegen-x64.cc      (working copy)
> @@ -4976,14 +4976,14 @@
>
>     // Complete the operation.
>     if (op == Token::DIV) {
> -      // Check for negative zero result.  If result is zero, and divisor
> -      // is negative, return a floating point negative zero.  The jump
> -      // to non_zero_result is safe w.r.t. the frame.
> +      // Check for negative zero result.  If the result is zero, and the
> +      // divisor is negative, return a floating point negative zero.
>       Label non_zero_result;
>       __ testl(left->reg(), left->reg());
>       __ j(not_zero, &non_zero_result);
>       __ testl(right->reg(), right->reg());
>       deferred->Branch(negative);
> +      // The frame is identical on all paths reaching this label.
>       __ bind(&non_zero_result);
>       // Check for the corner case of dividing the most negative smi by
>       // -1. We cannot use the overflow flag, since it is not set by
> @@ -5003,15 +5003,14 @@
>       frame_->Push(&quotient);
>     } else {
>       ASSERT(op == Token::MOD);
> -      // Check for a negative zero result.  If the result is zero, and
> -      // the dividend is negative, return a floating point negative
> -      // zero.  The frame is unchanged between the jump to
> &non_zero_result
> -      // and the target, so a Label can be used.
> +      // Check for a negative zero result.  If the result is zero, and the
> +      // dividend is negative, return a floating point negative zero.
>       Label non_zero_result;
>       __ testl(rdx, rdx);
>       __ j(not_zero, &non_zero_result);
>       __ testl(left->reg(), left->reg());
>       deferred->Branch(negative);
> +      // The frame is identical on all paths reaching this label.
>       __ bind(&non_zero_result);
>       deferred->BindExit();
>       left->Unuse();
>
>
>

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

Reply via email to