| 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/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
| 10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 90 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( | 90 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( |
| 91 CodeStubInterfaceDescriptor* descriptor) { | 91 CodeStubInterfaceDescriptor* descriptor) { |
| 92 // cp: context | 92 // cp: context |
| 93 // x2: feedback vector | 93 // x2: feedback vector |
| 94 // x3: call feedback slot | 94 // x3: call feedback slot |
| 95 Register registers[] = { cp, x2, x3 }; | 95 Register registers[] = { cp, x2, x3 }; |
| 96 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 96 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
| 97 } | 97 } |
| 98 | 98 |
| 99 | 99 |
| 100 void InstanceofStub::InitializeInterfaceDescriptor( | |
| 101 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | |
| 102 Register registers[] = {cp, left(), right()}; | |
| 103 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | |
| 104 } | |
| 105 | |
| 106 | |
| 107 void CallFunctionStub::InitializeInterfaceDescriptor( | 100 void CallFunctionStub::InitializeInterfaceDescriptor( |
| 108 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 101 CodeStubInterfaceDescriptor* descriptor) { |
| 109 // x1 function the function to call | 102 // x1 function the function to call |
| 110 Register registers[] = {cp, x1}; | 103 Register registers[] = {cp, x1}; |
| 111 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 104 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
| 112 } | 105 } |
| 113 | 106 |
| 114 | 107 |
| 115 void CallConstructStub::InitializeInterfaceDescriptor( | 108 void CallConstructStub::InitializeInterfaceDescriptor( |
| 116 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 109 CodeStubInterfaceDescriptor* descriptor) { |
| 117 // x0 : number of arguments | 110 // x0 : number of arguments |
| 118 // x1 : the function to call | 111 // x1 : the function to call |
| 119 // x2 : feedback vector | 112 // x2 : feedback vector |
| 120 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) | 113 // x3 : slot in feedback vector (smi) (if r2 is not the megamorphic symbol) |
| 121 // TODO(turbofan): So far we don't gather type feedback and hence skip the | 114 // TODO(turbofan): So far we don't gather type feedback and hence skip the |
| 122 // slot parameter, but ArrayConstructStub needs the vector to be undefined. | 115 // slot parameter, but ArrayConstructStub needs the vector to be undefined. |
| 123 Register registers[] = {cp, x0, x1, x2}; | 116 Register registers[] = {cp, x0, x1, x2}; |
| 124 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 117 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
| 125 } | 118 } |
| 126 | 119 |
| (...skipping 5289 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5416 MemOperand(fp, 6 * kPointerSize), | 5409 MemOperand(fp, 6 * kPointerSize), |
| 5417 NULL); | 5410 NULL); |
| 5418 } | 5411 } |
| 5419 | 5412 |
| 5420 | 5413 |
| 5421 #undef __ | 5414 #undef __ |
| 5422 | 5415 |
| 5423 } } // namespace v8::internal | 5416 } } // namespace v8::internal |
| 5424 | 5417 |
| 5425 #endif // V8_TARGET_ARCH_ARM64 | 5418 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |