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_MIPS | 7 #if V8_TARGET_ARCH_MIPS |
8 | 8 |
9 #include "src/interface-descriptors.h" | 9 #include "src/interface-descriptors.h" |
10 | 10 |
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
118 void CallFunctionWithFeedbackDescriptor::Initialize( | 118 void CallFunctionWithFeedbackDescriptor::Initialize( |
119 CallInterfaceDescriptorData* data) { | 119 CallInterfaceDescriptorData* data) { |
120 Register registers[] = {cp, a1, a3}; | 120 Register registers[] = {cp, a1, a3}; |
121 Representation representations[] = {Representation::Tagged(), | 121 Representation representations[] = {Representation::Tagged(), |
122 Representation::Tagged(), | 122 Representation::Tagged(), |
123 Representation::Smi()}; | 123 Representation::Smi()}; |
124 data->Initialize(arraysize(registers), registers, representations); | 124 data->Initialize(arraysize(registers), registers, representations); |
125 } | 125 } |
126 | 126 |
127 | 127 |
| 128 void CallFunctionWithFeedbackAndVectorDescriptor::Initialize( |
| 129 CallInterfaceDescriptorData* data) { |
| 130 Register registers[] = {cp, a1, a3, a2}; |
| 131 Representation representations[] = { |
| 132 Representation::Tagged(), Representation::Tagged(), Representation::Smi(), |
| 133 Representation::Tagged()}; |
| 134 data->Initialize(arraysize(registers), registers, representations); |
| 135 } |
| 136 |
| 137 |
128 void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { | 138 void CallConstructDescriptor::Initialize(CallInterfaceDescriptorData* data) { |
129 // a0 : number of arguments | 139 // a0 : number of arguments |
130 // a1 : the function to call | 140 // a1 : the function to call |
131 // a2 : feedback vector | 141 // a2 : feedback vector |
132 // a3 : (only if a2 is not the megamorphic symbol) slot in feedback | 142 // a3 : (only if a2 is not the megamorphic symbol) slot in feedback |
133 // vector (Smi) | 143 // vector (Smi) |
134 // TODO(turbofan): So far we don't gather type feedback and hence skip the | 144 // TODO(turbofan): So far we don't gather type feedback and hence skip the |
135 // slot parameter, but ArrayConstructStub needs the vector to be undefined. | 145 // slot parameter, but ArrayConstructStub needs the vector to be undefined. |
136 Register registers[] = {cp, a0, a1, a2}; | 146 Register registers[] = {cp, a0, a1, a2}; |
137 data->Initialize(arraysize(registers), registers, NULL); | 147 data->Initialize(arraysize(registers), registers, NULL); |
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 Representation::Tagged(), // call_data | 337 Representation::Tagged(), // call_data |
328 Representation::Tagged(), // holder | 338 Representation::Tagged(), // holder |
329 Representation::External(), // api_function_address | 339 Representation::External(), // api_function_address |
330 }; | 340 }; |
331 data->Initialize(arraysize(registers), registers, representations); | 341 data->Initialize(arraysize(registers), registers, representations); |
332 } | 342 } |
333 } | 343 } |
334 } // namespace v8::internal | 344 } // namespace v8::internal |
335 | 345 |
336 #endif // V8_TARGET_ARCH_MIPS | 346 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |