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/v8.h" | 5 #include "src/v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_ARM | 7 #if V8_TARGET_ARCH_ARM |
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 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
71 } | 71 } |
72 | 72 |
73 | 73 |
74 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( | 74 void CreateAllocationSiteStub::InitializeInterfaceDescriptor( |
75 CodeStubInterfaceDescriptor* descriptor) { | 75 CodeStubInterfaceDescriptor* descriptor) { |
76 Register registers[] = { cp, r2, r3 }; | 76 Register registers[] = { cp, r2, r3 }; |
77 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 77 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
78 } | 78 } |
79 | 79 |
80 | 80 |
81 void InstanceofStub::InitializeInterfaceDescriptor( | |
82 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | |
83 Register registers[] = {cp, left(), right()}; | |
84 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | |
85 } | |
86 | |
87 | |
88 void CallFunctionStub::InitializeInterfaceDescriptor( | 81 void CallFunctionStub::InitializeInterfaceDescriptor( |
89 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 82 CodeStubInterfaceDescriptor* descriptor) { |
90 // r1 function the function to call | 83 // r1 function the function to call |
91 Register registers[] = {cp, r1}; | 84 Register registers[] = {cp, r1}; |
92 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 85 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
93 } | 86 } |
94 | 87 |
95 | 88 |
96 void CallConstructStub::InitializeInterfaceDescriptor( | 89 void CallConstructStub::InitializeInterfaceDescriptor( |
97 Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { | 90 CodeStubInterfaceDescriptor* descriptor) { |
98 // r0 : number of arguments | 91 // r0 : number of arguments |
99 // r1 : the function to call | 92 // r1 : the function to call |
100 // r2 : feedback vector | 93 // r2 : feedback vector |
101 // r3 : (only if r2 is not the megamorphic symbol) slot in feedback | 94 // r3 : (only if r2 is not the megamorphic symbol) slot in feedback |
102 // vector (Smi) | 95 // vector (Smi) |
103 // TODO(turbofan): So far we don't gather type feedback and hence skip the | 96 // TODO(turbofan): So far we don't gather type feedback and hence skip the |
104 // slot parameter, but ArrayConstructStub needs the vector to be undefined. | 97 // slot parameter, but ArrayConstructStub needs the vector to be undefined. |
105 Register registers[] = {cp, r0, r1, r2}; | 98 Register registers[] = {cp, r0, r1, r2}; |
106 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); | 99 descriptor->Initialize(MajorKey(), ARRAY_SIZE(registers), registers); |
107 } | 100 } |
(...skipping 4991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5099 MemOperand(fp, 6 * kPointerSize), | 5092 MemOperand(fp, 6 * kPointerSize), |
5100 NULL); | 5093 NULL); |
5101 } | 5094 } |
5102 | 5095 |
5103 | 5096 |
5104 #undef __ | 5097 #undef __ |
5105 | 5098 |
5106 } } // namespace v8::internal | 5099 } } // namespace v8::internal |
5107 | 5100 |
5108 #endif // V8_TARGET_ARCH_ARM | 5101 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |