+2007-01-26 Aleksey Demakov <ademakov@gmail.com>
+
+ * jit/jit-apply-x86.c (_jit_create_redirector): redirector does not
+ use stack frame so remove frame set up and restore instructions.
+
2007-01-23 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-internal.h, jit/jit-function.c: remove the closure_entry
{
void *start = (void *)buf;
- /* Set up a new stack frame */
- x86_push_reg(buf, X86_EBP);
- x86_mov_reg_reg(buf, X86_EBP, X86_ESP, 4);
-
/* Save the fastcall registers, if necessary */
#if JIT_APPLY_X86_FASTCALL == 1
if(abi == (int)jit_abi_fastcall)
}
#endif
- /* Restore the value of EBP */
- x86_pop_reg(buf, X86_EBP);
-
/* Jump to the function that the redirector indicated */
x86_jump_reg(buf, X86_EAX);
* The number of bytes that are needed for a redirector stub.
* This includes any extra bytes that are needed for alignment.
*/
-#define jit_redirector_size 32
+#define jit_redirector_size 24
/*
* The number of bytes that are needed for a indirector stub.