OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [boehm-gc/] [sparc_sunos4_mach_dep.s] - Blame information for rev 834

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 721 jeremybenn
!       SPARCompiler 3.0 and later apparently no longer handles
2
!       asm outside functions.  So we need a separate .s file
3
!       This is only set up for SunOS 4.
4
!       Assumes this is called before the stack contents are
5
!       examined.
6
 
7
        .seg    "text"
8
        .globl  _GC_save_regs_in_stack
9
        .globl  _GC_push_regs
10
_GC_save_regs_in_stack:
11
_GC_push_regs:
12
        ta      0x3   ! ST_FLUSH_WINDOWS
13
        mov     %sp,%o0
14
        retl
15
        nop
16
 
17
        .globl  _GC_clear_stack_inner
18
_GC_clear_stack_inner:
19
        mov     %sp,%o2         ! Save sp
20
        add     %sp,-8,%o3      ! p = sp-8
21
        clr     %g1             ! [g0,g1] = 0
22
        add     %o1,-0x60,%sp   ! Move sp out of the way,
23
                                ! so that traps still work.
24
                                ! Includes some extra words
25
                                ! so we can be sloppy below.
26
loop:
27
        std     %g0,[%o3]       ! *(long long *)p = 0
28
        cmp     %o3,%o1
29
        bgu     loop            ! if (p > limit) goto loop
30
          add   %o3,-8,%o3      ! p -= 8 (delay slot)
31
        retl
32
          mov   %o2,%sp         ! Restore sp., delay slot
33
 
34
 
35
 
36
 
37
 
38
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.