Correction in PowerPC JIT code. Fixes crash in server browser, etc, on Mac OS X

and probably PowerPC Linux, too...fixes Bugzilla #2519.
This commit is contained in:
Ryan C. Gordon 2006-05-29 03:02:54 +00:00
parent 856a397e8c
commit 997dffc649
2 changed files with 5 additions and 5 deletions

View file

@ -264,7 +264,7 @@ ifeq ($(PLATFORM),darwin)
CC=gcc CC=gcc
# !!! FIXME: calling conventions are still broken! See Bugzilla #2519 # !!! FIXME: calling conventions are still broken! See Bugzilla #2519
#VM_PPC=vm_ppc_new VM_PPC=vm_ppc_new
BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes BASE_CFLAGS = -Wall -fno-strict-aliasing -Wimplicit -Wstrict-prototypes
BASE_CFLAGS += -DMACOS_X -fno-common -pipe BASE_CFLAGS += -DMACOS_X -fno-common -pipe

View file

@ -1106,7 +1106,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif #endif
assertInteger(opStackDepth-1); assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2); assertInteger(opStackDepth-2);
Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] ); Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0; opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0; opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0; opStackLoadInstructionAddr[opStackDepth-1] = 0;
@ -1130,7 +1130,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif #endif
assertInteger(opStackDepth-1); assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2); assertInteger(opStackDepth-2);
Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] ); Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0; opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0; opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0; opStackLoadInstructionAddr[opStackDepth-1] = 0;
@ -1154,7 +1154,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif #endif
assertInteger(opStackDepth-1); assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2); assertInteger(opStackDepth-2);
Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] ); Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0; opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0; opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0; opStackLoadInstructionAddr[opStackDepth-1] = 0;
@ -1178,7 +1178,7 @@ void VM_Compile( vm_t *vm, vmHeader_t *header ) {
#endif #endif
assertInteger(opStackDepth-1); assertInteger(opStackDepth-1);
assertInteger(opStackDepth-2); assertInteger(opStackDepth-2);
Inst( "cmp", PPC_CMP, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] ); Inst( "cmpl", PPC_CMPL, 0, opStackIntRegisters[opStackDepth-2], opStackIntRegisters[opStackDepth-1] );
opStackRegType[opStackDepth-1] = 0; opStackRegType[opStackDepth-1] = 0;
opStackRegType[opStackDepth-2] = 0; opStackRegType[opStackDepth-2] = 0;
opStackLoadInstructionAddr[opStackDepth-1] = 0; opStackLoadInstructionAddr[opStackDepth-1] = 0;