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 942 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
953 HandlerFrontendFooter(name, &miss); | 953 HandlerFrontendFooter(name, &miss); |
954 return reg; | 954 return reg; |
955 } | 955 } |
956 | 956 |
957 | 957 |
958 void LoadStubCompiler::GenerateLoadField(Register reg, | 958 void LoadStubCompiler::GenerateLoadField(Register reg, |
959 Handle<JSObject> holder, | 959 Handle<JSObject> holder, |
960 FieldIndex field, | 960 FieldIndex field, |
961 Representation representation) { | 961 Representation representation) { |
962 __ Mov(receiver(), reg); | 962 __ Mov(receiver(), reg); |
963 if (kind() == Code::LOAD_IC) { | 963 LoadFieldStub stub(isolate(), field); |
964 LoadFieldStub stub(isolate(), field); | 964 GenerateTailCall(masm(), stub.GetCode()); |
965 GenerateTailCall(masm(), stub.GetCode()); | |
966 } else { | |
967 KeyedLoadFieldStub stub(isolate(), field); | |
968 GenerateTailCall(masm(), stub.GetCode()); | |
969 } | |
970 } | 965 } |
971 | 966 |
972 | 967 |
973 void LoadStubCompiler::GenerateLoadConstant(Handle<Object> value) { | 968 void LoadStubCompiler::GenerateLoadConstant(Handle<Object> value) { |
974 // Return the constant value. | 969 // Return the constant value. |
975 __ LoadObject(x0, value); | 970 __ LoadObject(x0, value); |
976 __ Ret(); | 971 __ Ret(); |
977 } | 972 } |
978 | 973 |
979 | 974 |
(...skipping 495 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1475 | 1470 |
1476 // Miss case, call the runtime. | 1471 // Miss case, call the runtime. |
1477 __ Bind(&miss); | 1472 __ Bind(&miss); |
1478 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); | 1473 TailCallBuiltin(masm, Builtins::kKeyedLoadIC_Miss); |
1479 } | 1474 } |
1480 | 1475 |
1481 | 1476 |
1482 } } // namespace v8::internal | 1477 } } // namespace v8::internal |
1483 | 1478 |
1484 #endif // V8_TARGET_ARCH_ARM64 | 1479 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |