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 1247 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 } else { | 1258 } else { |
1259 bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE; | 1259 bool is_js_array = receiver_map->instance_type() == JS_ARRAY_TYPE; |
1260 ElementsKind elements_kind = receiver_map->elements_kind(); | 1260 ElementsKind elements_kind = receiver_map->elements_kind(); |
1261 | 1261 |
1262 if (IsFastElementsKind(elements_kind) || | 1262 if (IsFastElementsKind(elements_kind) || |
1263 IsExternalArrayElementsKind(elements_kind) || | 1263 IsExternalArrayElementsKind(elements_kind) || |
1264 IsFixedTypedArrayElementsKind(elements_kind)) { | 1264 IsFixedTypedArrayElementsKind(elements_kind)) { |
1265 cached_stub = | 1265 cached_stub = |
1266 KeyedLoadFastElementStub(is_js_array, | 1266 KeyedLoadFastElementStub(is_js_array, |
1267 elements_kind).GetCode(isolate()); | 1267 elements_kind).GetCode(isolate()); |
| 1268 } else if (elements_kind == NON_STRICT_ARGUMENTS_ELEMENTS) { |
| 1269 cached_stub = isolate()->builtins()->KeyedLoadIC_NonStrictArguments(); |
1268 } else { | 1270 } else { |
1269 ASSERT(elements_kind == DICTIONARY_ELEMENTS); | 1271 ASSERT(elements_kind == DICTIONARY_ELEMENTS); |
1270 cached_stub = KeyedLoadDictionaryElementStub().GetCode(isolate()); | 1272 cached_stub = KeyedLoadDictionaryElementStub().GetCode(isolate()); |
1271 } | 1273 } |
1272 } | 1274 } |
1273 | 1275 |
1274 handlers->Add(cached_stub); | 1276 handlers->Add(cached_stub); |
1275 } | 1277 } |
1276 } | 1278 } |
1277 | 1279 |
(...skipping 168 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1446 Handle<FunctionTemplateInfo>( | 1448 Handle<FunctionTemplateInfo>( |
1447 FunctionTemplateInfo::cast(signature->receiver())); | 1449 FunctionTemplateInfo::cast(signature->receiver())); |
1448 } | 1450 } |
1449 } | 1451 } |
1450 | 1452 |
1451 is_simple_api_call_ = true; | 1453 is_simple_api_call_ = true; |
1452 } | 1454 } |
1453 | 1455 |
1454 | 1456 |
1455 } } // namespace v8::internal | 1457 } } // namespace v8::internal |
OLD | NEW |