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/code-stubs.h" | 5 #include "src/code-stubs.h" |
6 | 6 |
7 #include "src/bailout-reason.h" | 7 #include "src/bailout-reason.h" |
8 #include "src/field-index.h" | 8 #include "src/field-index.h" |
9 #include "src/hydrogen.h" | 9 #include "src/hydrogen.h" |
10 #include "src/ic/ic.h" | 10 #include "src/ic/ic.h" |
(...skipping 2173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2184 inline_or_runtime.Then(); | 2184 inline_or_runtime.Then(); |
2185 { | 2185 { |
2186 // Found a cached index, load property inline. | 2186 // Found a cached index, load property inline. |
2187 Push(Add<HLoadFieldByIndex>(receiver, Pop())); | 2187 Push(Add<HLoadFieldByIndex>(receiver, Pop())); |
2188 } | 2188 } |
2189 inline_or_runtime.Else(); | 2189 inline_or_runtime.Else(); |
2190 { | 2190 { |
2191 // KeyedLookupCache miss; call runtime. | 2191 // KeyedLookupCache miss; call runtime. |
2192 Add<HPushArguments>(receiver, key); | 2192 Add<HPushArguments>(receiver, key); |
2193 Push(Add<HCallRuntime>( | 2193 Push(Add<HCallRuntime>( |
2194 isolate()->factory()->empty_string(), | |
2195 Runtime::FunctionForId(is_strong(casted_stub()->language_mode()) | 2194 Runtime::FunctionForId(is_strong(casted_stub()->language_mode()) |
2196 ? Runtime::kKeyedGetPropertyStrong | 2195 ? Runtime::kKeyedGetPropertyStrong |
2197 : Runtime::kKeyedGetProperty), | 2196 : Runtime::kKeyedGetProperty), |
2198 2)); | 2197 2)); |
2199 } | 2198 } |
2200 inline_or_runtime.End(); | 2199 inline_or_runtime.End(); |
2201 } | 2200 } |
2202 if_dict_properties.End(); | 2201 if_dict_properties.End(); |
2203 } | 2202 } |
2204 index_name_split.End(); | 2203 index_name_split.End(); |
2205 | 2204 |
2206 return Pop(); | 2205 return Pop(); |
2207 } | 2206 } |
2208 | 2207 |
2209 | 2208 |
2210 Handle<Code> KeyedLoadGenericStub::GenerateCode() { | 2209 Handle<Code> KeyedLoadGenericStub::GenerateCode() { |
2211 return DoGenerateCode(this); | 2210 return DoGenerateCode(this); |
2212 } | 2211 } |
2213 | 2212 |
2214 } // namespace internal | 2213 } // namespace internal |
2215 } // namespace v8 | 2214 } // namespace v8 |
OLD | NEW |