| 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 "v8.h" | 5 #include "v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
| 10 #include "code-stubs.h" | 10 #include "code-stubs.h" |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 58 | 58 |
| 59 | 59 |
| 60 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( | 60 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( |
| 61 CodeStubInterfaceDescriptor* descriptor) { | 61 CodeStubInterfaceDescriptor* descriptor) { |
| 62 // x3: array literals array | 62 // x3: array literals array |
| 63 // x2: array literal index | 63 // x2: array literal index |
| 64 // x1: constant elements | 64 // x1: constant elements |
| 65 static Register registers[] = { x3, x2, x1 }; | 65 static Register registers[] = { x3, x2, x1 }; |
| 66 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); | 66 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); |
| 67 descriptor->register_params_ = registers; | 67 descriptor->register_params_ = registers; |
| 68 static Representation representations[] = { |
| 69 Representation::Tagged(), |
| 70 Representation::Smi(), |
| 71 Representation::Tagged() }; |
| 72 descriptor->register_param_representations_ = representations; |
| 68 descriptor->deoptimization_handler_ = | 73 descriptor->deoptimization_handler_ = |
| 69 Runtime::FunctionForId( | 74 Runtime::FunctionForId( |
| 70 Runtime::kHiddenCreateArrayLiteralStubBailout)->entry; | 75 Runtime::kHiddenCreateArrayLiteralStubBailout)->entry; |
| 71 } | 76 } |
| 72 | 77 |
| 73 | 78 |
| 74 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( | 79 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( |
| 75 CodeStubInterfaceDescriptor* descriptor) { | 80 CodeStubInterfaceDescriptor* descriptor) { |
| 76 // x3: object literals array | 81 // x3: object literals array |
| 77 // x2: object literal index | 82 // x2: object literal index |
| (...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 223 descriptor->register_param_count_ = | 228 descriptor->register_param_count_ = |
| 224 sizeof(registers_no_args) / sizeof(registers_no_args[0]); | 229 sizeof(registers_no_args) / sizeof(registers_no_args[0]); |
| 225 descriptor->register_params_ = registers_no_args; | 230 descriptor->register_params_ = registers_no_args; |
| 226 } else { | 231 } else { |
| 227 // stack param count needs (constructor pointer, and single argument) | 232 // stack param count needs (constructor pointer, and single argument) |
| 228 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; | 233 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; |
| 229 descriptor->stack_parameter_count_ = x0; | 234 descriptor->stack_parameter_count_ = x0; |
| 230 descriptor->register_param_count_ = | 235 descriptor->register_param_count_ = |
| 231 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); | 236 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); |
| 232 descriptor->register_params_ = registers_variable_args; | 237 descriptor->register_params_ = registers_variable_args; |
| 238 static Representation representations[] = { |
| 239 Representation::Tagged(), |
| 240 Representation::Tagged(), |
| 241 Representation::Integer32() }; |
| 242 descriptor->register_param_representations_ = representations; |
| 233 } | 243 } |
| 234 | 244 |
| 235 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; | 245 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; |
| 236 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; | 246 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; |
| 237 descriptor->deoptimization_handler_ = | 247 descriptor->deoptimization_handler_ = |
| 238 Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry; | 248 Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry; |
| 239 } | 249 } |
| 240 | 250 |
| 241 | 251 |
| 242 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( | 252 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
| (...skipping 26 matching lines...) Expand all Loading... |
| 269 descriptor->register_param_count_ = | 279 descriptor->register_param_count_ = |
| 270 sizeof(registers_no_args) / sizeof(registers_no_args[0]); | 280 sizeof(registers_no_args) / sizeof(registers_no_args[0]); |
| 271 descriptor->register_params_ = registers_no_args; | 281 descriptor->register_params_ = registers_no_args; |
| 272 } else { | 282 } else { |
| 273 // stack param count needs (constructor pointer, and single argument) | 283 // stack param count needs (constructor pointer, and single argument) |
| 274 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; | 284 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; |
| 275 descriptor->stack_parameter_count_ = x0; | 285 descriptor->stack_parameter_count_ = x0; |
| 276 descriptor->register_param_count_ = | 286 descriptor->register_param_count_ = |
| 277 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); | 287 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); |
| 278 descriptor->register_params_ = registers_variable_args; | 288 descriptor->register_params_ = registers_variable_args; |
| 289 static Representation representations[] = { |
| 290 Representation::Tagged(), |
| 291 Representation::Integer32() }; |
| 292 descriptor->register_param_representations_ = representations; |
| 279 } | 293 } |
| 280 | 294 |
| 281 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; | 295 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; |
| 282 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; | 296 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; |
| 283 descriptor->deoptimization_handler_ = | 297 descriptor->deoptimization_handler_ = |
| 284 Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry; | 298 Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry; |
| 285 } | 299 } |
| 286 | 300 |
| 287 | 301 |
| 288 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( | 302 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
| (...skipping 5200 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5489 MemOperand(fp, 6 * kPointerSize), | 5503 MemOperand(fp, 6 * kPointerSize), |
| 5490 NULL); | 5504 NULL); |
| 5491 } | 5505 } |
| 5492 | 5506 |
| 5493 | 5507 |
| 5494 #undef __ | 5508 #undef __ |
| 5495 | 5509 |
| 5496 } } // namespace v8::internal | 5510 } } // namespace v8::internal |
| 5497 | 5511 |
| 5498 #endif // V8_TARGET_ARCH_ARM64 | 5512 #endif // V8_TARGET_ARCH_ARM64 |
| OLD | NEW |