OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 826 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
837 | 837 |
838 prototype = handle(JSObject::cast(current_map->prototype())); | 838 prototype = handle(JSObject::cast(current_map->prototype())); |
839 if (current_map->is_dictionary_map() && | 839 if (current_map->is_dictionary_map() && |
840 !current_map->IsJSGlobalObjectMap() && | 840 !current_map->IsJSGlobalObjectMap() && |
841 !current_map->IsJSGlobalProxyMap()) { | 841 !current_map->IsJSGlobalProxyMap()) { |
842 if (!name->IsUniqueName()) { | 842 if (!name->IsUniqueName()) { |
843 ASSERT(name->IsString()); | 843 ASSERT(name->IsString()); |
844 name = factory()->InternalizeString(Handle<String>::cast(name)); | 844 name = factory()->InternalizeString(Handle<String>::cast(name)); |
845 } | 845 } |
846 ASSERT(current.is_null() || | 846 ASSERT(current.is_null() || |
847 (current->property_dictionary()->FindEntry(*name) == | 847 (current->property_dictionary()->FindEntry(name) == |
848 NameDictionary::kNotFound)); | 848 NameDictionary::kNotFound)); |
849 | 849 |
850 GenerateDictionaryNegativeLookup(masm(), miss, reg, name, | 850 GenerateDictionaryNegativeLookup(masm(), miss, reg, name, |
851 scratch1, scratch2); | 851 scratch1, scratch2); |
852 | 852 |
853 __ Ldr(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset)); | 853 __ Ldr(scratch1, FieldMemOperand(reg, HeapObject::kMapOffset)); |
854 reg = holder_reg; // From now on the object will be in holder_reg. | 854 reg = holder_reg; // From now on the object will be in holder_reg. |
855 __ Ldr(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); | 855 __ Ldr(reg, FieldMemOperand(scratch1, Map::kPrototypeOffset)); |
856 } else { | 856 } else { |
857 bool need_map = (depth != 1 || check == CHECK_ALL_MAPS) || | 857 bool need_map = (depth != 1 || check == CHECK_ALL_MAPS) || |
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1519 | 1519 |
1520 // Miss case, call the runtime. | 1520 // Miss case, call the runtime. |
1521 __ Bind(&miss); | 1521 __ Bind(&miss); |
1522 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1522 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1523 } | 1523 } |
1524 | 1524 |
1525 | 1525 |
1526 } } // namespace v8::internal | 1526 } } // namespace v8::internal |
1527 | 1527 |
1528 #endif // V8_TARGET_ARCH_ARM64 | 1528 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |