You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Under win32 get a stack error that esp was not saved across a funciton call
i CHANGED 2 lines added push esi right before push ebp
else if (i == ENT) {
i = 4 * *pc++; if (i < -128 || i > 127) { printf("jit: ENT out of bounds\n"); return -1; }
*(int *)je = 0xe5895556; je = je + 4; // push esi push %ebp; movl %esp, %ebp
if (i > 0) { *(int )je = 0xec83; je = je + 2; (int)je++ = i; } // subl $(i4), %esp
}
added pop esi before ret
else if (i == LEV) { *(int *)je = 0x5e5dec89; je = je + 4; *je++ = 0xc3; }
// mov %ebp, %esp; pop %ebp; pop esi ret
esi must be saved in Win32, edi and ebx should also be saved but haven't run into any problems so far
No description provided.
The text was updated successfully, but these errors were encountered: