PPC: Fix simulator.

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1590423002

Cr-Commit-Position: refs/heads/master@{#33343}
This commit is contained in:
mbrandy 2016-01-15 12:23:31 -08:00 committed by Commit bot
parent b2c246e0a9
commit b099e861ef
2 changed files with 4 additions and 4 deletions

View File

@ -53,7 +53,7 @@
#define ABI_PASSES_HANDLES_IN_REGS \
(!V8_HOST_ARCH_PPC || V8_OS_AIX || V8_TARGET_ARCH_PPC64)
#if (!V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN)
#if !V8_HOST_ARCH_PPC || !V8_TARGET_ARCH_PPC64 || V8_TARGET_LITTLE_ENDIAN
#define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 1
#else
#define ABI_RETURNS_OBJECT_PAIRS_IN_REGS 0

View File

@ -1235,9 +1235,9 @@ void Simulator::SoftwareInterrupt(Instruction* instr) {
const int kArgCount = 6;
int arg0_regnum = 3;
intptr_t result_buffer = 0;
if (redirection->type() == ExternalReference::BUILTIN_CALL_TRIPLE ||
(redirection->type() == ExternalReference::BUILTIN_CALL_PAIR &&
!ABI_RETURNS_OBJECT_PAIRS_IN_REGS)) {
bool uses_result_buffer =
redirection->type() == ExternalReference::BUILTIN_CALL_TRIPLE;
if (uses_result_buffer) {
result_buffer = get_register(r3);
arg0_regnum++;
}