Add 3rd argument register to X86.
Implement more instructions.
Change-Id: I3af7bbaf18eedc6537f1cfc2d57c4f6106fb5164
diff --git a/src/calling_convention_x86.cc b/src/calling_convention_x86.cc
index ee002c5..15f4495 100644
--- a/src/calling_convention_x86.cc
+++ b/src/calling_convention_x86.cc
@@ -91,9 +91,12 @@
if (entry_spills_.size() == 0) {
size_t num_spills = NumArgs() + NumLongOrDoubleArgs();
if (num_spills > 0) {
- entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EDX));
+ entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(ECX));
if (num_spills > 1) {
- entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(ECX));
+ entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EDX));
+ if (num_spills > 2) {
+ entry_spills_.push_back(X86ManagedRegister::FromCpuRegister(EBX));
+ }
}
}
}