diff --git a/sourcepawn/jit/x86/jit_x86.cpp b/sourcepawn/jit/x86/jit_x86.cpp index 593567ce..32b675c8 100644 --- a/sourcepawn/jit/x86/jit_x86.cpp +++ b/sourcepawn/jit/x86/jit_x86.cpp @@ -1680,7 +1680,7 @@ inline void WriteOp_Tracker_Push_C(JitWriter *jit) /* Check for errors */ //cmp eax, 0 //jnz :error - IA32_Cmp_Rm_Imm32(jit, MOD_REG, REG_EAX, 0); + IA32_Cmp_Rm_Imm8(jit, MOD_REG, REG_EAX, 0); IA32_Jump_Cond_Imm32_Abs(jit, CC_NZ, data->jit_return); /* Restore */ @@ -1726,7 +1726,7 @@ inline void WriteOp_Tracker_Pop_SetHeap(JitWriter *jit) /* Check for errors */ //cmp eax, 0 //jnz :error - IA32_Cmp_Rm_Imm32(jit, MOD_REG, REG_EAX, 0); + IA32_Cmp_Rm_Imm8(jit, MOD_REG, REG_EAX, 0); IA32_Jump_Cond_Imm32_Abs(jit, CC_NZ, data->jit_return); /* Restore */ @@ -1884,9 +1884,6 @@ void WriteErrorRoutines(CompData *data, JitWriter *jit) data->jit_error_array_too_big = jit->get_outputpos(); Write_SetError(jit, SP_ERROR_ARRAY_TOO_BIG); - data->jit_error_tracker_bounds = jit->get_outputpos(); - Write_SetError(jit, SP_ERROR_TRACKER_BOUNDS); - data->jit_extern_error = jit->get_outputpos(); Write_GetError(jit); } diff --git a/sourcepawn/jit/x86/jit_x86.h b/sourcepawn/jit/x86/jit_x86.h index 5f8eae60..05d3a2a8 100644 --- a/sourcepawn/jit/x86/jit_x86.h +++ b/sourcepawn/jit/x86/jit_x86.h @@ -59,7 +59,6 @@ public: jitoffs_t jit_error_heaplow; jitoffs_t jit_error_heapmin; jitoffs_t jit_error_array_too_big; - jitoffs_t jit_error_tracker_bounds; jitoffs_t jit_extern_error; /* returning generic error */ jitoffs_t jit_sysreq_c; /* old version! */ uint32_t codesize; /* total codesize */ diff --git a/sourcepawn/jit/x86/opcode_helpers.cpp b/sourcepawn/jit/x86/opcode_helpers.cpp index c7609032..88e1b969 100644 --- a/sourcepawn/jit/x86/opcode_helpers.cpp +++ b/sourcepawn/jit/x86/opcode_helpers.cpp @@ -140,7 +140,7 @@ void Write_BreakDebug(JitWriter *jit) IA32_Pushad(jit); //push [esi+frm] - //push [ecx+context] + //push ctx //mov ecx, [ecx+dbreak] //call ecx //add esp, 8 @@ -715,8 +715,8 @@ void WriteOp_Tracker_Push_Reg(JitWriter *jit, uint8_t reg) /* Check for errors */ //cmp eax, 0 //jnz :error - IA32_Cmp_Rm_Imm32(jit, MOD_REG, REG_EAX, 0); - IA32_Jump_Cond_Imm32_Abs(jit, CC_NZ, data->jit_error_tracker_bounds); + IA32_Cmp_Rm_Imm8(jit, MOD_REG, REG_EAX, 0); + IA32_Jump_Cond_Imm32_Abs(jit, CC_NZ, data->jit_return); /* Restore */ //pop eax