diff options
Diffstat (limited to 'deps/v8/src/ic/ic-state.cc')
-rw-r--r-- | deps/v8/src/ic/ic-state.cc | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/deps/v8/src/ic/ic-state.cc b/deps/v8/src/ic/ic-state.cc index 298eaa2707..4bdaf3ff03 100644 --- a/deps/v8/src/ic/ic-state.cc +++ b/deps/v8/src/ic/ic-state.cc @@ -191,17 +191,17 @@ void BinaryOpICState::GenerateAheadOfTime( } -Type* BinaryOpICState::GetResultType(Zone* zone) const { +Type* BinaryOpICState::GetResultType() const { Kind result_kind = result_kind_; if (HasSideEffects()) { result_kind = NONE; } else if (result_kind == GENERIC && op_ == Token::ADD) { - return Type::Union(Type::Number(zone), Type::String(zone), zone); + return Type::NumberOrString(); } else if (result_kind == NUMBER && op_ == Token::SHR) { - return Type::Unsigned32(zone); + return Type::Unsigned32(); } DCHECK_NE(GENERIC, result_kind); - return KindToType(result_kind, zone); + return KindToType(result_kind); } @@ -320,20 +320,20 @@ const char* BinaryOpICState::KindToString(Kind kind) { // static -Type* BinaryOpICState::KindToType(Kind kind, Zone* zone) { +Type* BinaryOpICState::KindToType(Kind kind) { switch (kind) { case NONE: - return Type::None(zone); + return Type::None(); case SMI: - return Type::SignedSmall(zone); + return Type::SignedSmall(); case INT32: - return Type::Signed32(zone); + return Type::Signed32(); case NUMBER: - return Type::Number(zone); + return Type::Number(); case STRING: - return Type::String(zone); + return Type::String(); case GENERIC: - return Type::Any(zone); + return Type::Any(); } UNREACHABLE(); return NULL; @@ -356,10 +356,10 @@ const char* CompareICState::GetStateName(State state) { return "STRING"; case UNIQUE_NAME: return "UNIQUE_NAME"; - case OBJECT: - return "OBJECT"; - case KNOWN_OBJECT: - return "KNOWN_OBJECT"; + case RECEIVER: + return "RECEIVER"; + case KNOWN_RECEIVER: + return "KNOWN_RECEIVER"; case GENERIC: return "GENERIC"; } @@ -384,9 +384,9 @@ Type* CompareICState::StateToType(Zone* zone, State state, Handle<Map> map) { return Type::InternalizedString(zone); case UNIQUE_NAME: return Type::UniqueName(zone); - case OBJECT: + case RECEIVER: return Type::Receiver(zone); - case KNOWN_OBJECT: + case KNOWN_RECEIVER: return map.is_null() ? Type::Receiver(zone) : Type::Class(map, zone); case GENERIC: return Type::Any(zone); @@ -406,7 +406,7 @@ CompareICState::State CompareICState::NewInputState(State old_state, if (value->IsInternalizedString()) return INTERNALIZED_STRING; if (value->IsString()) return STRING; if (value->IsSymbol()) return UNIQUE_NAME; - if (value->IsJSObject()) return OBJECT; + if (value->IsJSReceiver()) return RECEIVER; break; case BOOLEAN: if (value->IsBoolean()) return BOOLEAN; @@ -429,12 +429,12 @@ CompareICState::State CompareICState::NewInputState(State old_state, case UNIQUE_NAME: if (value->IsUniqueName()) return UNIQUE_NAME; break; - case OBJECT: - if (value->IsJSObject()) return OBJECT; + case RECEIVER: + if (value->IsJSReceiver()) return RECEIVER; break; case GENERIC: break; - case KNOWN_OBJECT: + case KNOWN_RECEIVER: UNREACHABLE(); break; } @@ -465,12 +465,12 @@ CompareICState::State CompareICState::TargetState( return Token::IsEqualityOp(op) ? INTERNALIZED_STRING : STRING; } if (x->IsString() && y->IsString()) return STRING; - if (x->IsJSObject() && y->IsJSObject()) { - if (Handle<JSObject>::cast(x)->map() == - Handle<JSObject>::cast(y)->map()) { - return KNOWN_OBJECT; + if (x->IsJSReceiver() && y->IsJSReceiver()) { + if (Handle<JSReceiver>::cast(x)->map() == + Handle<JSReceiver>::cast(y)->map()) { + return KNOWN_RECEIVER; } else { - return Token::IsEqualityOp(op) ? OBJECT : GENERIC; + return Token::IsEqualityOp(op) ? RECEIVER : GENERIC; } } if (!Token::IsEqualityOp(op)) return GENERIC; @@ -490,15 +490,15 @@ CompareICState::State CompareICState::TargetState( if (old_left == SMI && x->IsHeapNumber()) return NUMBER; if (old_right == SMI && y->IsHeapNumber()) return NUMBER; return GENERIC; - case KNOWN_OBJECT: - if (x->IsJSObject() && y->IsJSObject()) { - return Token::IsEqualityOp(op) ? OBJECT : GENERIC; + case KNOWN_RECEIVER: + if (x->IsJSReceiver() && y->IsJSReceiver()) { + return Token::IsEqualityOp(op) ? RECEIVER : GENERIC; } return GENERIC; case BOOLEAN: case STRING: case UNIQUE_NAME: - case OBJECT: + case RECEIVER: case GENERIC: return GENERIC; } |