]> gitweb.factorcode.org Git - factor.git/commitdiff
removed VM_ASM_API_OVERFLOW (VM_ASM_API now regparm(3))
authorPhil Dawes <phil@phildawes.net>
Fri, 25 Sep 2009 19:33:38 +0000 (20:33 +0100)
committerPhil Dawes <phil@phildawes.net>
Fri, 25 Sep 2009 19:33:38 +0000 (20:33 +0100)
vm/callstack.hpp
vm/cpu-ppc.hpp
vm/cpu-x86.32.S
vm/cpu-x86.32.hpp
vm/cpu-x86.64.hpp
vm/cpu-x86.hpp
vm/math.cpp
vm/math.hpp
vm/quotations.cpp
vm/quotations.hpp

index ae1e80ca9aedca460f74762aebef82770570e194..1ea98f883c8a633de5f6b52e3de1c935de5bb597 100755 (executable)
@@ -13,7 +13,7 @@ PRIMITIVE(innermost_stack_frame_executing);
 PRIMITIVE(innermost_stack_frame_scan);
 PRIMITIVE(set_innermost_stack_frame_quot);
 
-VM_ASM_API void save_callstack_bottom(stack_frame *callstack_bottom,factor_vm *vm);
+VM_ASM_API void save_callstack_bottom(stack_frame *callstack_bottom, factor_vm *vm);
 
 
 }
index d0036fb84f038bcfcbce1d191e53ae2c6e830c36..495eb375ec6dd7fff3fa93aaa9baf64eceefd40b 100644 (file)
@@ -3,7 +3,6 @@ namespace factor
 
 #define FACTOR_CPU_STRING "ppc"
 #define VM_ASM_API VM_C_API
-#define VM_ASM_API_OVERFLOW VM_C_API
 
 register cell ds asm("r13");
 register cell rs asm("r14");
index 3eeb7980933ee2b809770a1c175b0e780ed0edbc..4f06de1ce7aba22008a84d76df2c23f715b1b23e 100644 (file)
@@ -82,7 +82,7 @@ DEF(void,set_x87_env,(const void*)):
        ret
 
 DEF(F_FASTCALL void,throw_impl,(CELL quot, F_STACK_FRAME *rewind_to, void *vm)):
-       mov CELL_SIZE(STACK_REG),NV_TEMP_REG  /* get vm ptr in case quot_xt = lazy_jit_compile */               
+       mov ARG2,NV_TEMP_REG  /* remember vm ptr in case quot_xt = lazy_jit_compile */          
        /* clear x87 stack, but preserve rounding mode and exception flags */
        sub $2,STACK_REG
        fnstcw (STACK_REG)
index a95179a49b611d5ab9bce6a7f5a11d7bc414cfb5..e74077147091b589c83c76ae554b9ecce8f71936 100644 (file)
@@ -6,6 +6,5 @@ namespace factor
 register cell ds asm("esi");
 register cell rs asm("edi");
 
-#define VM_ASM_API VM_C_API __attribute__ ((regparm (2)))
-#define VM_ASM_API_OVERFLOW VM_C_API __attribute__ ((regparm (3)))
+#define VM_ASM_API VM_C_API __attribute__ ((regparm (3)))
 }
index 841705c1717c7a3e7b32314fd738c3b8e8051a24..75d432ee13a35825933e502fee0210c1ef5e7914 100644 (file)
@@ -7,5 +7,4 @@ register cell ds asm("r14");
 register cell rs asm("r15");
 
 #define VM_ASM_API VM_C_API
-#define VM_ASM_API_OVERFLOW VM_C_API
 }
index 8fe0cc4b10c13a81c14f4c9f143f0abc2b6dc352..9074bc1a71b166ff029d03111b4439f5ae722c9d 100644 (file)
@@ -69,7 +69,7 @@ inline static unsigned int fpu_status(unsigned int status)
 }
 
 /* Defined in assembly */
-VM_ASM_API void c_to_factor(cell quot,void *vm);
+VM_ASM_API void c_to_factor(cell quot, void *vm);
 VM_ASM_API void throw_impl(cell quot, stack_frame *rewind_to, void *vm);
 VM_ASM_API void lazy_jit_compile(cell quot, void *vm);
 
index 61ec096c591ee1a1f43f067ba21e4dbae9a1d519..638d9fa85c4185f1b899efdb4f950d20caa33671 100755 (executable)
@@ -838,7 +838,7 @@ inline void factor_vm::overflow_fixnum_add(fixnum x, fixnum y)
                untag_fixnum(x) + untag_fixnum(y))));
 }
 
-VM_ASM_API_OVERFLOW void overflow_fixnum_add(fixnum x, fixnum y, factor_vm *myvm)
+VM_ASM_API void overflow_fixnum_add(fixnum x, fixnum y, factor_vm *myvm)
 {
        PRIMITIVE_OVERFLOW_GETVM()->overflow_fixnum_add(x,y);
 }
@@ -849,7 +849,7 @@ inline void factor_vm::overflow_fixnum_subtract(fixnum x, fixnum y)
                untag_fixnum(x) - untag_fixnum(y))));
 }
 
-VM_ASM_API_OVERFLOW void overflow_fixnum_subtract(fixnum x, fixnum y, factor_vm *myvm)
+VM_ASM_API void overflow_fixnum_subtract(fixnum x, fixnum y, factor_vm *myvm)
 {
        PRIMITIVE_OVERFLOW_GETVM()->overflow_fixnum_subtract(x,y);
 }
@@ -863,7 +863,7 @@ inline void factor_vm::overflow_fixnum_multiply(fixnum x, fixnum y)
        drepl(tag<bignum>(bignum_multiply(bx,by)));
 }
 
-VM_ASM_API_OVERFLOW void overflow_fixnum_multiply(fixnum x, fixnum y, factor_vm *myvm)
+VM_ASM_API void overflow_fixnum_multiply(fixnum x, fixnum y, factor_vm *myvm)
 {
        PRIMITIVE_OVERFLOW_GETVM()->overflow_fixnum_multiply(x,y);
 }
index a82a9a95803adf4d871ffcf15e4910b7ef05fa82..f81de376507696ce4a032c32adfc3881dc5055f7 100644 (file)
@@ -83,8 +83,8 @@ VM_C_API u64 to_unsigned_8(cell obj, factor_vm *vm);
 VM_C_API fixnum to_fixnum(cell tagged, factor_vm *vm);
 VM_C_API cell to_cell(cell tagged, factor_vm *vm);
 
-VM_ASM_API_OVERFLOW void overflow_fixnum_add(fixnum x, fixnum y, factor_vm *vm);
-VM_ASM_API_OVERFLOW void overflow_fixnum_subtract(fixnum x, fixnum y, factor_vm *vm);
-VM_ASM_API_OVERFLOW void overflow_fixnum_multiply(fixnum x, fixnum y, factor_vm *vm);
+VM_ASM_API void overflow_fixnum_add(fixnum x, fixnum y, factor_vm *vm);
+VM_ASM_API void overflow_fixnum_subtract(fixnum x, fixnum y, factor_vm *vm);
+VM_ASM_API void overflow_fixnum_multiply(fixnum x, fixnum y, factor_vm *vm);
 
 }
index e5a2a53f86ef1a0e33d517ee543d9ae4afe339ee..1bc6240481bbe16db90f2e129558b59b57a82fa8 100755 (executable)
@@ -368,7 +368,7 @@ cell factor_vm::lazy_jit_compile_impl(cell quot_, stack_frame *stack)
        return quot.value();
 }
 
-VM_ASM_API_OVERFLOW cell lazy_jit_compile_impl(cell quot_, stack_frame *stack, factor_vm *myvm)
+VM_ASM_API cell lazy_jit_compile_impl(cell quot_, stack_frame *stack, factor_vm *myvm)
 {
        ASSERTVM();
        return VM_PTR->lazy_jit_compile_impl(quot_,stack);
index 43beb0511276b025927a664e3862b4efbe47511d..b21884a35bfc8c4601f6c538e20421fd6bf09537 100755 (executable)
@@ -27,7 +27,7 @@ PRIMITIVE(jit_compile);
 PRIMITIVE(array_to_quotation);
 PRIMITIVE(quotation_xt);
 
-VM_ASM_API_OVERFLOW cell lazy_jit_compile_impl(cell quot, stack_frame *stack, factor_vm *myvm);
+VM_ASM_API cell lazy_jit_compile_impl(cell quot, stack_frame *stack, factor_vm *myvm);
 
 PRIMITIVE(quot_compiled_p);