| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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/arm/interface-descriptors-arm.h" | 5 #include "src/arm/interface-descriptors-arm.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
| 8 | 8 |
| 9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
| 10 | 10 |
| (...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 135 data->InitializePlatformSpecific(arraysize(registers), registers); | 135 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 136 } | 136 } |
| 137 | 137 |
| 138 | 138 |
| 139 void CallFunctionDescriptor::InitializePlatformSpecific( | 139 void CallFunctionDescriptor::InitializePlatformSpecific( |
| 140 CallInterfaceDescriptorData* data) { | 140 CallInterfaceDescriptorData* data) { |
| 141 Register registers[] = {r1}; | 141 Register registers[] = {r1}; |
| 142 data->InitializePlatformSpecific(arraysize(registers), registers); | 142 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 143 } | 143 } |
| 144 | 144 |
| 145 | 145 void CallICTrampolineDescriptor::InitializePlatformSpecific( |
| 146 void CallFunctionWithFeedbackDescriptor::InitializePlatformSpecific( | |
| 147 CallInterfaceDescriptorData* data) { | 146 CallInterfaceDescriptorData* data) { |
| 148 Register registers[] = {r1, r0, r3}; | 147 Register registers[] = {r1, r0, r3}; |
| 149 data->InitializePlatformSpecific(arraysize(registers), registers); | 148 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 150 } | 149 } |
| 151 | 150 |
| 152 | 151 void CallICDescriptor::InitializePlatformSpecific( |
| 153 void CallFunctionWithFeedbackAndVectorDescriptor::InitializePlatformSpecific( | |
| 154 CallInterfaceDescriptorData* data) { | 152 CallInterfaceDescriptorData* data) { |
| 155 Register registers[] = {r1, r0, r3, r2}; | 153 Register registers[] = {r1, r0, r3, r2}; |
| 156 data->InitializePlatformSpecific(arraysize(registers), registers); | 154 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 157 } | 155 } |
| 158 | 156 |
| 159 | 157 |
| 160 void CallConstructDescriptor::InitializePlatformSpecific( | 158 void CallConstructDescriptor::InitializePlatformSpecific( |
| 161 CallInterfaceDescriptorData* data) { | 159 CallInterfaceDescriptorData* data) { |
| 162 // r0 : number of arguments | 160 // r0 : number of arguments |
| 163 // r1 : the function to call | 161 // r1 : the function to call |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 } | 219 } |
| 222 | 220 |
| 223 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ | 221 #define SIMD128_ALLOC_DESC(TYPE, Type, type, lane_count, lane_type) \ |
| 224 void Allocate##Type##Descriptor::InitializePlatformSpecific( \ | 222 void Allocate##Type##Descriptor::InitializePlatformSpecific( \ |
| 225 CallInterfaceDescriptorData* data) { \ | 223 CallInterfaceDescriptorData* data) { \ |
| 226 data->InitializePlatformSpecific(0, nullptr, nullptr); \ | 224 data->InitializePlatformSpecific(0, nullptr, nullptr); \ |
| 227 } | 225 } |
| 228 SIMD128_TYPES(SIMD128_ALLOC_DESC) | 226 SIMD128_TYPES(SIMD128_ALLOC_DESC) |
| 229 #undef SIMD128_ALLOC_DESC | 227 #undef SIMD128_ALLOC_DESC |
| 230 | 228 |
| 229 void ArrayConstructorDescriptor::InitializePlatformSpecific( |
| 230 CallInterfaceDescriptorData* data) { |
| 231 // kTarget, kNewTarget, kActualArgumentsCount, kAllocationSite |
| 232 Register registers[] = {r1, r3, r0, r2}; |
| 233 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
| 234 } |
| 235 |
| 231 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( | 236 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( |
| 232 CallInterfaceDescriptorData* data) { | 237 CallInterfaceDescriptorData* data) { |
| 233 // register state | 238 // register state |
| 234 // r0 -- number of arguments | 239 // r0 -- number of arguments |
| 235 // r1 -- function | 240 // r1 -- function |
| 236 // r2 -- allocation site with elements kind | 241 // r2 -- allocation site with elements kind |
| 237 Register registers[] = {r1, r2, r0}; | 242 Register registers[] = {r1, r2, r0}; |
| 238 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 243 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
| 239 } | 244 } |
| 240 | 245 |
| (...skipping 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 442 Register registers[] = { | 447 Register registers[] = { |
| 443 r1, // loaded new FP | 448 r1, // loaded new FP |
| 444 }; | 449 }; |
| 445 data->InitializePlatformSpecific(arraysize(registers), registers); | 450 data->InitializePlatformSpecific(arraysize(registers), registers); |
| 446 } | 451 } |
| 447 | 452 |
| 448 } // namespace internal | 453 } // namespace internal |
| 449 } // namespace v8 | 454 } // namespace v8 |
| 450 | 455 |
| 451 #endif // V8_TARGET_ARCH_ARM | 456 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |