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