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 4694 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4705 Ldr(Tmp0(), FieldMemOperand(scratch, offset)); | 4705 Ldr(Tmp0(), FieldMemOperand(scratch, offset)); |
4706 Cmp(map_in_out, Tmp0()); | 4706 Cmp(map_in_out, Tmp0()); |
4707 B(ne, no_map_match); | 4707 B(ne, no_map_match); |
4708 | 4708 |
4709 // Use the transitioned cached map. | 4709 // Use the transitioned cached map. |
4710 offset = (transitioned_kind * kPointerSize) + FixedArrayBase::kHeaderSize; | 4710 offset = (transitioned_kind * kPointerSize) + FixedArrayBase::kHeaderSize; |
4711 Ldr(map_in_out, FieldMemOperand(scratch, offset)); | 4711 Ldr(map_in_out, FieldMemOperand(scratch, offset)); |
4712 } | 4712 } |
4713 | 4713 |
4714 | 4714 |
4715 void MacroAssembler::LoadArrayFunction(Register function) { | |
4716 // Load the global or builtins object from the current context. | |
4717 Ldr(function, GlobalObjectMemOperand()); | |
4718 // Load the global context from the global or builtins object. | |
4719 Ldr(function, | |
4720 FieldMemOperand(function, GlobalObject::kGlobalContextOffset)); | |
4721 // Load the array function from the native context. | |
4722 Ldr(function, ContextMemOperand(function, Context::ARRAY_FUNCTION_INDEX)); | |
4723 } | |
4724 | |
4725 | |
4726 void MacroAssembler::LoadGlobalFunction(int index, Register function) { | 4715 void MacroAssembler::LoadGlobalFunction(int index, Register function) { |
4727 // Load the global or builtins object from the current context. | 4716 // Load the global or builtins object from the current context. |
4728 Ldr(function, GlobalObjectMemOperand()); | 4717 Ldr(function, GlobalObjectMemOperand()); |
4729 // Load the native context from the global or builtins object. | 4718 // Load the native context from the global or builtins object. |
4730 Ldr(function, FieldMemOperand(function, | 4719 Ldr(function, FieldMemOperand(function, |
4731 GlobalObject::kNativeContextOffset)); | 4720 GlobalObject::kNativeContextOffset)); |
4732 // Load the function from the native context. | 4721 // Load the function from the native context. |
4733 Ldr(function, ContextMemOperand(function, index)); | 4722 Ldr(function, ContextMemOperand(function, index)); |
4734 } | 4723 } |
4735 | 4724 |
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5075 } | 5064 } |
5076 } | 5065 } |
5077 | 5066 |
5078 | 5067 |
5079 #undef __ | 5068 #undef __ |
5080 | 5069 |
5081 | 5070 |
5082 } } // namespace v8::internal | 5071 } } // namespace v8::internal |
5083 | 5072 |
5084 #endif // V8_TARGET_ARCH_A64 | 5073 #endif // V8_TARGET_ARCH_A64 |
OLD | NEW |