OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 1325 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1336 case POLYMORPHIC: | 1336 case POLYMORPHIC: |
1337 set_target(*code); | 1337 set_target(*code); |
1338 break; | 1338 break; |
1339 case MONOMORPHIC: | 1339 case MONOMORPHIC: |
1340 // Only move to megamorphic if the target changes. | 1340 // Only move to megamorphic if the target changes. |
1341 if (target() != *code) { | 1341 if (target() != *code) { |
1342 set_target(*megamorphic_stub()); | 1342 set_target(*megamorphic_stub()); |
1343 } | 1343 } |
1344 break; | 1344 break; |
1345 case MEGAMORPHIC: | 1345 case MEGAMORPHIC: |
| 1346 case GENERIC: |
1346 case DEBUG_STUB: | 1347 case DEBUG_STUB: |
1347 break; | 1348 break; |
1348 case MONOMORPHIC_PROTOTYPE_FAILURE: | 1349 case MONOMORPHIC_PROTOTYPE_FAILURE: |
1349 case GENERIC: | |
1350 UNREACHABLE(); | 1350 UNREACHABLE(); |
1351 break; | 1351 break; |
1352 } | 1352 } |
1353 | 1353 |
1354 TRACE_IC("KeyedLoadIC", name, state, target()); | 1354 TRACE_IC("KeyedLoadIC", name, state, target()); |
1355 } | 1355 } |
1356 | 1356 |
1357 | 1357 |
1358 static bool StoreICableLookup(LookupResult* lookup) { | 1358 static bool StoreICableLookup(LookupResult* lookup) { |
1359 // Bail out if we didn't find a result. | 1359 // Bail out if we didn't find a result. |
(...skipping 757 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2117 break; | 2117 break; |
2118 case MONOMORPHIC: | 2118 case MONOMORPHIC: |
2119 // Only move to megamorphic if the target changes. | 2119 // Only move to megamorphic if the target changes. |
2120 if (target() != *code) { | 2120 if (target() != *code) { |
2121 set_target((strict_mode == kStrictMode) | 2121 set_target((strict_mode == kStrictMode) |
2122 ? *megamorphic_stub_strict() | 2122 ? *megamorphic_stub_strict() |
2123 : *megamorphic_stub()); | 2123 : *megamorphic_stub()); |
2124 } | 2124 } |
2125 break; | 2125 break; |
2126 case MEGAMORPHIC: | 2126 case MEGAMORPHIC: |
| 2127 case GENERIC: |
2127 case DEBUG_STUB: | 2128 case DEBUG_STUB: |
2128 break; | 2129 break; |
2129 case MONOMORPHIC_PROTOTYPE_FAILURE: | 2130 case MONOMORPHIC_PROTOTYPE_FAILURE: |
2130 case GENERIC: | |
2131 UNREACHABLE(); | 2131 UNREACHABLE(); |
2132 break; | 2132 break; |
2133 } | 2133 } |
2134 | 2134 |
2135 TRACE_IC("KeyedStoreIC", name, state, target()); | 2135 TRACE_IC("KeyedStoreIC", name, state, target()); |
2136 } | 2136 } |
2137 | 2137 |
2138 | 2138 |
2139 #undef TRACE_IC | 2139 #undef TRACE_IC |
2140 | 2140 |
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2877 #undef ADDR | 2877 #undef ADDR |
2878 }; | 2878 }; |
2879 | 2879 |
2880 | 2880 |
2881 Address IC::AddressFromUtilityId(IC::UtilityId id) { | 2881 Address IC::AddressFromUtilityId(IC::UtilityId id) { |
2882 return IC_utilities[id]; | 2882 return IC_utilities[id]; |
2883 } | 2883 } |
2884 | 2884 |
2885 | 2885 |
2886 } } // namespace v8::internal | 2886 } } // namespace v8::internal |
OLD | NEW |