.... although I would add { } to around the call to Flatten...

On Fri, Sep 19, 2008 at 12:35 PM, Kasper Lund <[EMAIL PROTECTED]> wrote:
> LGTM.
>
> On Fri, Sep 19, 2008 at 12:28 PM,  <[EMAIL PROTECTED]> wrote:
>> Reviewers: Kasper Lund, Mads Ager,
>>
>> Message:
>> I'm not sure, this is a toss up.  We can see what the bots say...
>>
>> Description:
>> TryFlatten is inlined, while Flatten is not.  Make an optimization to
>> avoid the call to Flatten when we're already flat.  This gives me 5% on
>> some simple indexOf experiments.
>>
>> Please review this at http://codereview.chromium.org/2986
>>
>> Affected files:
>>  M src/objects-inl.h
>>
>>
>> Index: src/objects-inl.h
>> diff --git a/src/objects-inl.h b/src/objects-inl.h
>> index
>> 271dd7ebf9432da075cf63dc716172efc1c29197..8fec4d1630e6a7c478eff0ebb3956805fb51ca7f
>> 100644
>> --- a/src/objects-inl.h
>> +++ b/src/objects-inl.h
>> @@ -1198,7 +1198,11 @@ void String::set_length_field(int value) {
>>
>>
>>  void String::TryFlatten() {
>> -  Flatten();
>> +  // We don't need to flatten strings that are already flat.  Since this
>> code
>> +  // is inlined, it can be helpful in the flat case to not call out to
>> Flatten.
>> +  StringRepresentationTag str_type = representation_tag();
>> +  if (str_type != kSeqStringTag && str_type != kExternalStringTag)
>> +    Flatten();
>>  }
>>
>>
>>
>>
>>
>

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

Reply via email to