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 #if V8_TARGET_ARCH_ARM | 5 #if V8_TARGET_ARCH_ARM |
6 | 6 |
7 #include "src/code-stubs.h" | 7 #include "src/code-stubs.h" |
8 #include "src/api-arguments.h" | 8 #include "src/api-arguments.h" |
9 #include "src/base/bits.h" | 9 #include "src/base/bits.h" |
10 #include "src/bootstrapper.h" | 10 #include "src/bootstrapper.h" |
(...skipping 37 matching lines...) Loading... |
48 if (constant_stack_parameter_count == 0) { | 48 if (constant_stack_parameter_count == 0) { |
49 descriptor->Initialize(deopt_handler, constant_stack_parameter_count, | 49 descriptor->Initialize(deopt_handler, constant_stack_parameter_count, |
50 JS_FUNCTION_STUB_MODE); | 50 JS_FUNCTION_STUB_MODE); |
51 } else { | 51 } else { |
52 descriptor->Initialize(r0, deopt_handler, constant_stack_parameter_count, | 52 descriptor->Initialize(r0, deopt_handler, constant_stack_parameter_count, |
53 JS_FUNCTION_STUB_MODE); | 53 JS_FUNCTION_STUB_MODE); |
54 } | 54 } |
55 } | 55 } |
56 | 56 |
57 | 57 |
58 void ArraySingleArgumentConstructorStub::InitializeDescriptor( | |
59 CodeStubDescriptor* descriptor) { | |
60 InitializeArrayConstructorDescriptor(isolate(), descriptor, 1); | |
61 } | |
62 | |
63 | |
64 void ArrayNArgumentsConstructorStub::InitializeDescriptor( | 58 void ArrayNArgumentsConstructorStub::InitializeDescriptor( |
65 CodeStubDescriptor* descriptor) { | 59 CodeStubDescriptor* descriptor) { |
66 InitializeArrayConstructorDescriptor(isolate(), descriptor, -1); | 60 InitializeArrayConstructorDescriptor(isolate(), descriptor, -1); |
67 } | 61 } |
68 | 62 |
69 | 63 |
70 void FastArrayPushStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { | 64 void FastArrayPushStub::InitializeDescriptor(CodeStubDescriptor* descriptor) { |
71 Address deopt_handler = Runtime::FunctionForId(Runtime::kArrayPush)->entry; | 65 Address deopt_handler = Runtime::FunctionForId(Runtime::kArrayPush)->entry; |
72 descriptor->Initialize(r0, deopt_handler, -1, JS_FUNCTION_STUB_MODE); | 66 descriptor->Initialize(r0, deopt_handler, -1, JS_FUNCTION_STUB_MODE); |
73 } | 67 } |
74 | 68 |
75 void InternalArraySingleArgumentConstructorStub::InitializeDescriptor( | |
76 CodeStubDescriptor* descriptor) { | |
77 InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, 1); | |
78 } | |
79 | |
80 | |
81 void InternalArrayNArgumentsConstructorStub::InitializeDescriptor( | 69 void InternalArrayNArgumentsConstructorStub::InitializeDescriptor( |
82 CodeStubDescriptor* descriptor) { | 70 CodeStubDescriptor* descriptor) { |
83 InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, -1); | 71 InitializeInternalArrayConstructorDescriptor(isolate(), descriptor, -1); |
84 } | 72 } |
85 | 73 |
86 | 74 |
87 #define __ ACCESS_MASM(masm) | 75 #define __ ACCESS_MASM(masm) |
88 | 76 |
89 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow, | 77 static void EmitIdenticalObjectComparison(MacroAssembler* masm, Label* slow, |
90 Condition cond); | 78 Condition cond); |
(...skipping 5348 matching lines...) Loading... |
5439 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, | 5427 CallApiFunctionAndReturn(masm, api_function_address, thunk_ref, |
5440 kStackUnwindSpace, NULL, return_value_operand, NULL); | 5428 kStackUnwindSpace, NULL, return_value_operand, NULL); |
5441 } | 5429 } |
5442 | 5430 |
5443 #undef __ | 5431 #undef __ |
5444 | 5432 |
5445 } // namespace internal | 5433 } // namespace internal |
5446 } // namespace v8 | 5434 } // namespace v8 |
5447 | 5435 |
5448 #endif // V8_TARGET_ARCH_ARM | 5436 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |