Chromium Code Reviews| Index: src/ic.cc |
| =================================================================== |
| --- src/ic.cc (revision 5966) |
| +++ 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,6 +2041,11 @@ |
| TRBinaryOpIC::GetName(result_type), |
| Token::Name(op)); |
| } |
| + |
| + // Activate inlined smi code. |
| + if (previous_type == TRBinaryOpIC::UNINITIALIZED) { |
| + PatchInlinedSmiCode(ic.address()); |
| + } |
| } |
| Handle<JSBuiltinsObject> builtins = Top::builtins(); |
| @@ -2127,8 +2132,7 @@ |
| } |
| -CompareIC::State CompareIC::TargetState(Handle<Object> x, Handle<Object> y) { |
| - State state = GetState(); |
| +CompareIC::State CompareIC::TargetState(State state, Handle<Object> x, Handle<Object> y) { |
|
Vitaly Repeshko
2010/12/10 13:38:56
Line too long.
fschneider
2010/12/10 14:32:17
Done.
|
| if (state != UNINITIALIZED) return GENERIC; |
| if (x->IsSmi() && y->IsSmi()) return SMIS; |
| if (x->IsNumber() && y->IsNumber()) return HEAP_NUMBERS; |