diff options
Diffstat (limited to 'deps/v8/src/ia32/interface-descriptors-ia32.cc')
-rw-r--r-- | deps/v8/src/ia32/interface-descriptors-ia32.cc | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/deps/v8/src/ia32/interface-descriptors-ia32.cc b/deps/v8/src/ia32/interface-descriptors-ia32.cc index 304191bbd2..b8547d0194 100644 --- a/deps/v8/src/ia32/interface-descriptors-ia32.cc +++ b/deps/v8/src/ia32/interface-descriptors-ia32.cc @@ -56,11 +56,6 @@ const Register MathPowIntegerDescriptor::exponent() { return MathPowTaggedDescriptor::exponent(); } -const Register RegExpExecDescriptor::StringRegister() { return eax; } -const Register RegExpExecDescriptor::LastIndexRegister() { return ecx; } -const Register RegExpExecDescriptor::StringStartRegister() { return edx; } -const Register RegExpExecDescriptor::StringEndRegister() { return ebx; } -const Register RegExpExecDescriptor::CodeRegister() { return edi; } const Register GrowArrayElementsDescriptor::ObjectRegister() { return eax; } const Register GrowArrayElementsDescriptor::KeyRegister() { return ebx; } @@ -161,9 +156,20 @@ void CallTrampolineDescriptor::InitializePlatformSpecific( void CallForwardVarargsDescriptor::InitializePlatformSpecific( CallInterfaceDescriptorData* data) { + // eax : number of arguments + // ecx : start index (to support rest parameters) + // edi : the target to call + Register registers[] = {edi, eax, ecx}; + data->InitializePlatformSpecific(arraysize(registers), registers); +} + +void ConstructForwardVarargsDescriptor::InitializePlatformSpecific( + CallInterfaceDescriptorData* data) { + // eax : number of arguments + // edx : the new target // ecx : start index (to support rest parameters) // edi : the target to call - Register registers[] = {edi, ecx}; + Register registers[] = {edi, edx, eax, ecx}; data->InitializePlatformSpecific(arraysize(registers), registers); } |