| Index: src/ic.cc
|
| ===================================================================
|
| --- src/ic.cc (revision 5976)
|
| +++ src/ic.cc (working copy)
|
| @@ -1951,7 +1951,7 @@
|
|
|
|
|
| TRBinaryOpIC::TypeInfo TRBinaryOpIC::JoinTypes(TRBinaryOpIC::TypeInfo x,
|
| - TRBinaryOpIC::TypeInfo y) {
|
| + TRBinaryOpIC::TypeInfo y) {
|
| if (x == UNINITIALIZED) return y;
|
| if (y == UNINITIALIZED) return x;
|
| if (x == STRING && y == STRING) return STRING;
|
| @@ -2041,11 +2041,6 @@
|
| TRBinaryOpIC::GetName(result_type),
|
| Token::Name(op));
|
| }
|
| -
|
| - // Activate inlined smi code.
|
| - if (previous_type == TRBinaryOpIC::UNINITIALIZED) {
|
| - PatchInlinedSmiCode(ic.address());
|
| - }
|
| }
|
|
|
| Handle<JSBuiltinsObject> builtins = Top::builtins();
|
| @@ -2132,17 +2127,13 @@
|
| }
|
|
|
|
|
| -CompareIC::State CompareIC::TargetState(State state,
|
| - bool has_inlined_smi_code,
|
| - Handle<Object> x,
|
| - Handle<Object> y) {
|
| - if (!has_inlined_smi_code && state != UNINITIALIZED) return GENERIC;
|
| - if (state == UNINITIALIZED && x->IsSmi() && y->IsSmi()) return SMIS;
|
| - if ((state == UNINITIALIZED || (state == SMIS && has_inlined_smi_code)) &&
|
| - x->IsNumber() && y->IsNumber()) return HEAP_NUMBERS;
|
| +CompareIC::State CompareIC::TargetState(Handle<Object> x, Handle<Object> y) {
|
| + State state = GetState();
|
| + if (state != UNINITIALIZED) return GENERIC;
|
| + if (x->IsSmi() && y->IsSmi()) return SMIS;
|
| + if (x->IsNumber() && y->IsNumber()) return HEAP_NUMBERS;
|
| if (op_ != Token::EQ && op_ != Token::EQ_STRICT) return GENERIC;
|
| - if (state == UNINITIALIZED &&
|
| - x->IsJSObject() && y->IsJSObject()) return OBJECTS;
|
| + if (x->IsJSObject() && y->IsJSObject()) return OBJECTS;
|
| return GENERIC;
|
| }
|
|
|
|
|