OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 | 81 |
82 | 82 |
83 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( | 83 void FastCloneShallowArrayStub::InitializeInterfaceDescriptor( |
84 CodeStubInterfaceDescriptor* descriptor) { | 84 CodeStubInterfaceDescriptor* descriptor) { |
85 // x3: array literals array | 85 // x3: array literals array |
86 // x2: array literal index | 86 // x2: array literal index |
87 // x1: constant elements | 87 // x1: constant elements |
88 static Register registers[] = { x3, x2, x1 }; | 88 static Register registers[] = { x3, x2, x1 }; |
89 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); | 89 descriptor->register_param_count_ = sizeof(registers) / sizeof(registers[0]); |
90 descriptor->register_params_ = registers; | 90 descriptor->register_params_ = registers; |
91 static Representation representations[] = { | |
92 Representation::Tagged(), | |
93 Representation::Smi(), | |
94 Representation::Tagged() }; | |
95 descriptor->register_param_representations_ = representations; | |
96 descriptor->deoptimization_handler_ = | 91 descriptor->deoptimization_handler_ = |
97 Runtime::FunctionForId( | 92 Runtime::FunctionForId( |
98 Runtime::kHiddenCreateArrayLiteralStubBailout)->entry; | 93 Runtime::kHiddenCreateArrayLiteralStubBailout)->entry; |
99 } | 94 } |
100 | 95 |
101 | 96 |
102 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( | 97 void FastCloneShallowObjectStub::InitializeInterfaceDescriptor( |
103 CodeStubInterfaceDescriptor* descriptor) { | 98 CodeStubInterfaceDescriptor* descriptor) { |
104 // x3: object literals array | 99 // x3: object literals array |
105 // x2: object literal index | 100 // x2: object literal index |
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 descriptor->register_param_count_ = | 246 descriptor->register_param_count_ = |
252 sizeof(registers_no_args) / sizeof(registers_no_args[0]); | 247 sizeof(registers_no_args) / sizeof(registers_no_args[0]); |
253 descriptor->register_params_ = registers_no_args; | 248 descriptor->register_params_ = registers_no_args; |
254 } else { | 249 } else { |
255 // stack param count needs (constructor pointer, and single argument) | 250 // stack param count needs (constructor pointer, and single argument) |
256 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; | 251 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; |
257 descriptor->stack_parameter_count_ = x0; | 252 descriptor->stack_parameter_count_ = x0; |
258 descriptor->register_param_count_ = | 253 descriptor->register_param_count_ = |
259 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); | 254 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); |
260 descriptor->register_params_ = registers_variable_args; | 255 descriptor->register_params_ = registers_variable_args; |
261 static Representation representations[] = { | |
262 Representation::Tagged(), | |
263 Representation::Tagged(), | |
264 Representation::Integer32() }; | |
265 descriptor->register_param_representations_ = representations; | |
266 } | 256 } |
267 | 257 |
268 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; | 258 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; |
269 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; | 259 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; |
270 descriptor->deoptimization_handler_ = | 260 descriptor->deoptimization_handler_ = |
271 Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry; | 261 Runtime::FunctionForId(Runtime::kHiddenArrayConstructor)->entry; |
272 } | 262 } |
273 | 263 |
274 | 264 |
275 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( | 265 void ArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
(...skipping 26 matching lines...) Expand all Loading... |
302 descriptor->register_param_count_ = | 292 descriptor->register_param_count_ = |
303 sizeof(registers_no_args) / sizeof(registers_no_args[0]); | 293 sizeof(registers_no_args) / sizeof(registers_no_args[0]); |
304 descriptor->register_params_ = registers_no_args; | 294 descriptor->register_params_ = registers_no_args; |
305 } else { | 295 } else { |
306 // stack param count needs (constructor pointer, and single argument) | 296 // stack param count needs (constructor pointer, and single argument) |
307 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; | 297 descriptor->handler_arguments_mode_ = PASS_ARGUMENTS; |
308 descriptor->stack_parameter_count_ = x0; | 298 descriptor->stack_parameter_count_ = x0; |
309 descriptor->register_param_count_ = | 299 descriptor->register_param_count_ = |
310 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); | 300 sizeof(registers_variable_args) / sizeof(registers_variable_args[0]); |
311 descriptor->register_params_ = registers_variable_args; | 301 descriptor->register_params_ = registers_variable_args; |
312 static Representation representations[] = { | |
313 Representation::Tagged(), | |
314 Representation::Integer32() }; | |
315 descriptor->register_param_representations_ = representations; | |
316 } | 302 } |
317 | 303 |
318 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; | 304 descriptor->hint_stack_parameter_count_ = constant_stack_parameter_count; |
319 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; | 305 descriptor->function_mode_ = JS_FUNCTION_STUB_MODE; |
320 descriptor->deoptimization_handler_ = | 306 descriptor->deoptimization_handler_ = |
321 Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry; | 307 Runtime::FunctionForId(Runtime::kHiddenInternalArrayConstructor)->entry; |
322 } | 308 } |
323 | 309 |
324 | 310 |
325 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( | 311 void InternalArrayNoArgumentConstructorStub::InitializeInterfaceDescriptor( |
(...skipping 5065 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5391 MemOperand(fp, 6 * kPointerSize), | 5377 MemOperand(fp, 6 * kPointerSize), |
5392 NULL); | 5378 NULL); |
5393 } | 5379 } |
5394 | 5380 |
5395 | 5381 |
5396 #undef __ | 5382 #undef __ |
5397 | 5383 |
5398 } } // namespace v8::internal | 5384 } } // namespace v8::internal |
5399 | 5385 |
5400 #endif // V8_TARGET_ARCH_ARM64 | 5386 #endif // V8_TARGET_ARCH_ARM64 |
OLD | NEW |