Index: src/x64/interface-descriptors-x64.cc |
diff --git a/src/x64/interface-descriptors-x64.cc b/src/x64/interface-descriptors-x64.cc |
index c323a2d5dba402651aa3b47ffb5ffbe78e520e67..22490a89593f5ef00a17a5782f86080ec2b59ed7 100644 |
--- a/src/x64/interface-descriptors-x64.cc |
+++ b/src/x64/interface-descriptors-x64.cc |
@@ -388,8 +388,20 @@ void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( |
CallInterfaceDescriptorData* data) { |
Register registers[] = { |
rax, // argument count (not including receiver) |
+ rbx, // address of first argument. |
+ rdi // the constructor. |
rmcilroy
2015/10/13 14:07:30
I don't think this change was intended?
oth
2015/10/14 08:40:09
Done. Darn!
|
+ }; |
+ data->InitializePlatformSpecific(arraysize(registers), registers); |
+} |
+ |
+ |
+void InterpreterPushArgsAndConstructDescriptor::InitializePlatformSpecific( |
+ CallInterfaceDescriptorData* data) { |
+ Register registers[] = { |
+ rax, // argument count (not including receiver) |
+ rdx, // original constructor |
+ rdi, // constructor |
rbx, // address of first argument |
- rdi // the target callable to be call |
}; |
data->InitializePlatformSpecific(arraysize(registers), registers); |
} |