OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/ic/ic.h" | 5 #include "src/ic/ic.h" |
6 | 6 |
7 #include <iostream> | 7 #include <iostream> |
8 | 8 |
9 #include "src/accessors.h" | 9 #include "src/accessors.h" |
10 #include "src/api-arguments-inl.h" | 10 #include "src/api-arguments-inl.h" |
(...skipping 2264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2275 } | 2275 } |
2276 } | 2276 } |
2277 if (external_arrays != 0 && | 2277 if (external_arrays != 0 && |
2278 external_arrays != target_receiver_maps.length()) { | 2278 external_arrays != target_receiver_maps.length()) { |
2279 TRACE_GENERIC_IC(isolate(), "KeyedStoreIC", | 2279 TRACE_GENERIC_IC(isolate(), "KeyedStoreIC", |
2280 "unsupported combination of external and normal arrays"); | 2280 "unsupported combination of external and normal arrays"); |
2281 return; | 2281 return; |
2282 } | 2282 } |
2283 } | 2283 } |
2284 | 2284 |
2285 TRACE_HANDLER_STATS(isolate(), KeyedStoreIC_Polymorphic); | |
2286 MapHandleList transitioned_maps(target_receiver_maps.length()); | 2285 MapHandleList transitioned_maps(target_receiver_maps.length()); |
2287 CodeHandleList handlers(target_receiver_maps.length()); | 2286 CodeHandleList handlers(target_receiver_maps.length()); |
2288 PropertyICCompiler::ComputeKeyedStorePolymorphicHandlers( | 2287 PropertyICCompiler::ComputeKeyedStorePolymorphicHandlers( |
2289 &target_receiver_maps, &transitioned_maps, &handlers, store_mode); | 2288 &target_receiver_maps, &transitioned_maps, &handlers, store_mode); |
2290 ConfigureVectorState(&target_receiver_maps, &transitioned_maps, &handlers); | 2289 ConfigureVectorState(&target_receiver_maps, &transitioned_maps, &handlers); |
2291 } | 2290 } |
2292 | 2291 |
2293 | 2292 |
2294 Handle<Map> KeyedStoreIC::ComputeTransitionedMap( | 2293 Handle<Map> KeyedStoreIC::ComputeTransitionedMap( |
2295 Handle<Map> map, KeyedAccessStoreMode store_mode) { | 2294 Handle<Map> map, KeyedAccessStoreMode store_mode) { |
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3214 DCHECK_EQ(LookupIterator::INTERCEPTOR, it.state()); | 3213 DCHECK_EQ(LookupIterator::INTERCEPTOR, it.state()); |
3215 it.Next(); | 3214 it.Next(); |
3216 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, | 3215 ASSIGN_RETURN_FAILURE_ON_EXCEPTION(isolate, result, |
3217 Object::GetProperty(&it)); | 3216 Object::GetProperty(&it)); |
3218 } | 3217 } |
3219 | 3218 |
3220 return *result; | 3219 return *result; |
3221 } | 3220 } |
3222 } // namespace internal | 3221 } // namespace internal |
3223 } // namespace v8 | 3222 } // namespace v8 |
OLD | NEW |