OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
8 | 8 |
9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
10 #include "src/ic-inl.h" | 10 #include "src/ic-inl.h" |
(...skipping 787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
798 | 798 |
799 | 799 |
800 void NamedLoadHandlerCompiler::GenerateLoadField( | 800 void NamedLoadHandlerCompiler::GenerateLoadField( |
801 Register reg, FieldIndex field, Representation representation) { | 801 Register reg, FieldIndex field, Representation representation) { |
802 __ Mov(receiver(), reg); | 802 __ Mov(receiver(), reg); |
803 LoadFieldStub stub(isolate(), field); | 803 LoadFieldStub stub(isolate(), field); |
804 GenerateTailCall(masm(), stub.GetCode()); | 804 GenerateTailCall(masm(), stub.GetCode()); |
805 } | 805 } |
806 | 806 |
807 | 807 |
| 808 void NamedLoadHandlerCompiler::GenerateLoadConstant(Register reg, |
| 809 int constant_index) { |
| 810 if (!reg.is(receiver())) __ Mov(receiver(), reg); |
| 811 LoadConstantStub stub(isolate(), constant_index); |
| 812 GenerateTailCall(masm(), stub.GetCode()); |
| 813 } |
| 814 |
| 815 |
808 void NamedLoadHandlerCompiler::GenerateLoadConstant(Handle<Object> value) { | 816 void NamedLoadHandlerCompiler::GenerateLoadConstant(Handle<Object> value) { |
809 // Return the constant value. | 817 // Return the constant value. |
810 __ LoadObject(x0, value); | 818 __ LoadObject(x0, value); |
811 __ Ret(); | 819 __ Ret(); |
812 } | 820 } |
813 | 821 |
814 | 822 |
815 void NamedLoadHandlerCompiler::GenerateLoadCallback( | 823 void NamedLoadHandlerCompiler::GenerateLoadCallback( |
816 Register reg, Handle<ExecutableAccessorInfo> callback) { | 824 Register reg, Handle<ExecutableAccessorInfo> callback) { |
817 DCHECK(!AreAliased(scratch2(), scratch3(), scratch4(), reg)); | 825 DCHECK(!AreAliased(scratch2(), scratch3(), scratch4(), reg)); |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1256 | 1264 |
1257 // Miss case, call the runtime. | 1265 // Miss case, call the runtime. |
1258 __ Bind(&miss); | 1266 __ Bind(&miss); |
1259 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1267 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1260 } | 1268 } |
1261 | 1269 |
1262 | 1270 |
1263 } } // namespace v8::internal | 1271 } } // namespace v8::internal |
1264 | 1272 |
1265 #endif // V8_TARGET_ARCH_ARM64 | 1273 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |