Reviewers: Mads Ager, Description: - Eliminated superfluous type tests in IsMatch.
Please review this at http://codereview.chromium.org/7622 Affected files: M src/objects.cc Index: src/objects.cc =================================================================== --- src/objects.cc (revision 522) +++ src/objects.cc (working copy) @@ -5344,8 +5344,8 @@ } private: - bool IsMatch(Object* other) { - return number_ == ToUint32(other); + bool IsMatch(Object* number) { + return number_ == ToUint32(number); } // Thomas Wang, Integer Hash Functions. @@ -5391,9 +5391,8 @@ string_ = string; } - bool IsMatch(Object* other) { - if (!other->IsString()) return false; - return string_->Equals(String::cast(other)); + bool IsMatch(Object* string) { + return string_->Equals(String::cast(string)); } uint32_t Hash() { return StringHash(string_); } @@ -5417,9 +5416,8 @@ explicit Utf8SymbolKey(Vector<const char> string) : string_(string), length_field_(0) { } - bool IsMatch(Object* other) { - if (!other->IsString()) return false; - return String::cast(other)->IsEqualTo(string_); + bool IsMatch(Object* string) { + return String::cast(string)->IsEqualTo(string_); } HashFunction GetHashFunction() { @@ -5463,9 +5461,8 @@ return StringHash; } - bool IsMatch(Object* other) { - if (!other->IsString()) return false; - return String::cast(other)->Equals(string_); + bool IsMatch(Object* string) { + return String::cast(string)->Equals(string_); } uint32_t Hash() { return string_->Hash(); } @@ -5712,9 +5709,8 @@ symbols_ = symbols; } - bool IsMatch(Object* other) { - if (!other->IsFixedArray()) return false; - FixedArray* o = FixedArray::cast(other); + bool IsMatch(Object* symbols) { + FixedArray* o = FixedArray::cast(symbols); int len = symbols_->length(); if (o->length() != len) return false; for (int i = 0; i < len; i++) { --~--~---------~--~----~------------~-------~--~----~ v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev -~----------~----~----~----~------~----~------~--~---
