LGTM.

On Tue, Oct 28, 2008 at 11:22 AM,  <[EMAIL PROTECTED]> wrote:
> Reviewers: Kasper Lund,
>
> Description:
> In my final round of refactoring, I accidentally broke my string
> lenght optimization.  Here is the fix: check that the instance type
> not the receiver is JS_VALUE_TYPE.
>
>
> Please review this at http://codereview.chromium.org/8656
>
> SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
>
> Affected files:
>  M     src/ic-arm.cc
>  M     src/stub-cache-ia32.cc
>
>
> Index: src/stub-cache-ia32.cc
> ===================================================================
> --- src/stub-cache-ia32.cc      (revision 621)
> +++ src/stub-cache-ia32.cc      (working copy)
> @@ -185,7 +185,8 @@
>                                             Label* miss) {
>   Label load_length, check_wrapper;
>
> -  // Check if the object is a string.
> +  // Check if the object is a string leaving the instance type in the
> +  // scratch register.
>   GenerateStringCheck(masm, receiver, scratch, miss, &check_wrapper);
>
>   // Load length directly from the string.
> @@ -200,7 +201,7 @@
>
>   // Check if the object is a JSValue wrapper.
>   __ bind(&check_wrapper);
> -  __ cmp(receiver, JS_VALUE_TYPE);
> +  __ cmp(scratch, JS_VALUE_TYPE);
>   __ j(not_equal, miss, not_taken);
>
>   // Check if the wrapped value is a string and load the length
> Index: src/ic-arm.cc
> ===================================================================
> --- src/ic-arm.cc       (revision 621)
> +++ src/ic-arm.cc       (working copy)
> @@ -190,7 +190,8 @@
>
>   __ ldr(r0, MemOperand(sp, 0));
>
> -  // Check if the object is a string.
> +  // Check if the object is a string leaving the instance type in the
> +  // r1 register.
>   GenerateStringCheck(masm, r0, r1, r3, &miss, &check_wrapper);
>
>   // Load length directly from the string.
> @@ -204,7 +205,7 @@
>
>   // Check if the object is a JSValue wrapper.
>   __ bind(&check_wrapper);
> -  __ cmp(r0, Operand(JS_VALUE_TYPE));
> +  __ cmp(r1, Operand(JS_VALUE_TYPE));
>   __ b(ne, &miss);
>
>   // Check if the wrapped value is a string and load the length
>
>
>

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to