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

Subversion Repositories openrisc

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

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
#include "machine/asm.h"
8
 
9
        .seg    "text"
10
        .globl  _C_LABEL(GC_save_regs_in_stack)
11
        .globl  _C_LABEL(GC_push_regs)
12
_C_LABEL(GC_save_regs_in_stack):
13
_C_LABEL(GC_push_regs):
14
        ta      0x3   ! ST_FLUSH_WINDOWS
15
        mov     %sp,%o0
16
        retl
17
        nop
18
 
19
        .globl  _C_LABEL(GC_clear_stack_inner)
20
_C_LABEL(GC_clear_stack_inner):
21
        mov     %sp,%o2         ! Save sp
22
        add     %sp,-8,%o3      ! p = sp-8
23
        clr     %g1             ! [g0,g1] = 0
24
        add     %o1,-0x60,%sp   ! Move sp out of the way,
25
                                ! so that traps still work.
26
                                ! Includes some extra words
27
                                ! so we can be sloppy below.
28
loop:
29
        std     %g0,[%o3]       ! *(long long *)p = 0
30
        cmp     %o3,%o1
31
        bgu     loop            ! if (p > limit) goto loop
32
        add     %o3,-8,%o3      ! p -= 8 (delay slot)
33
        retl
34
        mov     %o2,%sp         ! Restore sp., delay slot

powered by: WebSVN 2.1.0

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