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_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/interface-descriptors.h" | 7 #include "src/interface-descriptors.h" |
8 | 8 |
9 namespace v8 { | 9 namespace v8 { |
10 namespace internal { | 10 namespace internal { |
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
247 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( | 247 void ArrayNoArgumentConstructorDescriptor::InitializePlatformSpecific( |
248 CallInterfaceDescriptorData* data) { | 248 CallInterfaceDescriptorData* data) { |
249 // register state | 249 // register state |
250 // a0 -- number of arguments | 250 // a0 -- number of arguments |
251 // a1 -- function | 251 // a1 -- function |
252 // a2 -- allocation site with elements kind | 252 // a2 -- allocation site with elements kind |
253 Register registers[] = {a1, a2, a0}; | 253 Register registers[] = {a1, a2, a0}; |
254 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 254 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
255 } | 255 } |
256 | 256 |
257 void ArrayConstructorConstantArgCountDescriptor::InitializePlatformSpecific( | 257 void ArraySingleArgumentConstructorDescriptor::InitializePlatformSpecific( |
258 CallInterfaceDescriptorData* data) { | 258 CallInterfaceDescriptorData* data) { |
259 // register state | 259 // register state |
260 // a0 -- number of arguments | 260 // a0 -- number of arguments |
261 // a1 -- function | 261 // a1 -- function |
262 // a2 -- allocation site with elements kind | 262 // a2 -- allocation site with elements kind |
263 Register registers[] = {a1, a2}; | 263 Register registers[] = {a1, a2, a0}; |
264 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | 264 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); |
265 } | 265 } |
266 | 266 |
267 | |
268 void ArrayConstructorDescriptor::InitializePlatformSpecific( | 267 void ArrayConstructorDescriptor::InitializePlatformSpecific( |
269 CallInterfaceDescriptorData* data) { | 268 CallInterfaceDescriptorData* data) { |
270 // stack param count needs (constructor pointer, and single argument) | 269 // stack param count needs (constructor pointer, and single argument) |
271 Register registers[] = {a1, a2, a0}; | 270 Register registers[] = {a1, a2, a0}; |
272 data->InitializePlatformSpecific(arraysize(registers), registers); | 271 data->InitializePlatformSpecific(arraysize(registers), registers); |
273 } | 272 } |
274 | 273 |
275 | 274 |
276 void InternalArrayConstructorConstantArgCountDescriptor:: | |
277 InitializePlatformSpecific(CallInterfaceDescriptorData* data) { | |
278 // register state | |
279 // a0 -- number of arguments | |
280 // a1 -- constructor function | |
281 Register registers[] = {a1}; | |
282 data->InitializePlatformSpecific(arraysize(registers), registers, NULL); | |
283 } | |
284 | |
285 | |
286 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( | 275 void InternalArrayConstructorDescriptor::InitializePlatformSpecific( |
287 CallInterfaceDescriptorData* data) { | 276 CallInterfaceDescriptorData* data) { |
288 // stack param count needs (constructor pointer, and single argument) | 277 // stack param count needs (constructor pointer, and single argument) |
289 Register registers[] = {a1, a0}; | 278 Register registers[] = {a1, a0}; |
290 data->InitializePlatformSpecific(arraysize(registers), registers); | 279 data->InitializePlatformSpecific(arraysize(registers), registers); |
291 } | 280 } |
292 | 281 |
293 void FastArrayPushDescriptor::InitializePlatformSpecific( | 282 void FastArrayPushDescriptor::InitializePlatformSpecific( |
294 CallInterfaceDescriptorData* data) { | 283 CallInterfaceDescriptorData* data) { |
295 // stack param count needs (arg count) | 284 // stack param count needs (arg count) |
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
425 a1, // the JSGeneratorObject to resume | 414 a1, // the JSGeneratorObject to resume |
426 a2 // the resume mode (tagged) | 415 a2 // the resume mode (tagged) |
427 }; | 416 }; |
428 data->InitializePlatformSpecific(arraysize(registers), registers); | 417 data->InitializePlatformSpecific(arraysize(registers), registers); |
429 } | 418 } |
430 | 419 |
431 } // namespace internal | 420 } // namespace internal |
432 } // namespace v8 | 421 } // namespace v8 |
433 | 422 |
434 #endif // V8_TARGET_ARCH_MIPS | 423 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |