sizeof jit_int as jit_int on the stack.
+2008-11-04 Klaus Treichel <ktreichel@web.de>
+
+ * jit/jit-apply-x86-64.h (jit_builtin_apply): Use r11 for calling
+ the function and pass the constant 8 in rax for the number of SSE
+ registers used to pass values for variadic functions.
+
+ * jit/jit-rules-x86-64.c (_spill_reg): Spill values with sizes
+ less than 4 as jit_type_int on the stack.
+
2008-10-12 Aleksey Demakov <ademakov@gmail.com>
* jit/jit-unwind.c: fix typos.
"movaps 0x90(%%rax), %%xmm5\n\t" \
"movaps 0xA0(%%rax), %%xmm6\n\t" \
"movaps 0xB0(%%rax), %%xmm7\n\t" \
- "movq %0, %%rax\n\t" \
- "callq *%%rax\n\t" \
+ "movq %0, %%r11\n\t" \
+ "movl $8, %%eax\n\t" \
+ "callq *%%r11\n\t" \
"movq %3, %%rcx\n\t" \
"movq %%rax, (%%rcx)\n\t" \
"movq %%rdx, 0x08(%%rcx)\n\t" \
{
switch(type->kind)
{
+#if 0
case JIT_TYPE_SBYTE:
case JIT_TYPE_UBYTE:
{
_jit_reg_info[reg].cpu_reg, 2);
}
break;
-
+#else
+ case JIT_TYPE_SBYTE:
+ case JIT_TYPE_UBYTE:
+ case JIT_TYPE_SHORT:
+ case JIT_TYPE_USHORT:
+#endif
case JIT_TYPE_INT:
case JIT_TYPE_UINT:
case JIT_TYPE_FLOAT32: