X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=boehm-gc%2Fsparc_mach_dep.S;fp=boehm-gc%2Fsparc_mach_dep.S;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=860eeb666f337dfbd131dc2718d5d91ffd8f1c19;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/boehm-gc/sparc_mach_dep.S b/boehm-gc/sparc_mach_dep.S deleted file mode 100644 index 860eeb66..00000000 --- a/boehm-gc/sparc_mach_dep.S +++ /dev/null @@ -1,67 +0,0 @@ -! SPARCompiler 3.0 and later apparently no longer handles -! asm outside functions. So we need a separate .s file -! This is only set up for SunOS 5, not SunOS 4. -! Assumes this is called before the stack contents are -! examined. - - .seg "text" - .globl GC_save_regs_in_stack - .globl GC_push_regs -GC_save_regs_in_stack: -GC_push_regs: -#if defined(__arch64__) || defined(__sparcv9) - save %sp,-128,%sp - flushw - ret - restore %sp,2047+128,%o0 -#else /* 32 bit SPARC */ - ta 0x3 ! ST_FLUSH_WINDOWS - mov %sp,%o0 - retl - nop -#endif /* 32 bit SPARC */ -.GC_save_regs_in_stack_end: - .size GC_save_regs_in_stack,.GC_save_regs_in_stack_end-GC_save_regs_in_stack - - - .globl GC_clear_stack_inner -GC_clear_stack_inner: -#if defined(__arch64__) || defined(__sparcv9) - mov %sp,%o2 ! Save sp - add %sp,2047-8,%o3 ! p = sp+bias-8 - add %o1,-2047-192,%sp ! Move sp out of the way, - ! so that traps still work. - ! Includes some extra words - ! so we can be sloppy below. -loop: - stx %g0,[%o3] ! *(long *)p = 0 - cmp %o3,%o1 - bgu,pt %xcc, loop ! if (p > limit) goto loop - add %o3,-8,%o3 ! p -= 8 (delay slot) - retl - mov %o2,%sp ! Restore sp., delay slot -#else /* 32 bit SPARC */ - mov %sp,%o2 ! Save sp - add %sp,-8,%o3 ! p = sp-8 - clr %g1 ! [g0,g1] = 0 - add %o1,-0x60,%sp ! Move sp out of the way, - ! so that traps still work. - ! Includes some extra words - ! so we can be sloppy below. -loop: - std %g0,[%o3] ! *(long long *)p = 0 - cmp %o3,%o1 - bgu loop ! if (p > limit) goto loop - add %o3,-8,%o3 ! p -= 8 (delay slot) - retl - mov %o2,%sp ! Restore sp., delay slot -#endif /* 32 bit SPARC */ -.GC_clear_stack_inner_end: - .size GC_clear_stack_inner,.GC_clear_stack_inner_end-GC_clear_stack_inner - - - - - - -