; Trampoline for hppa CPU ; ; Copyright 1997 Bruno Haible, ; ; This is free software distributed under the GNU General Public Licence ; described in the file COPYING. Contact the author if you don't have this ; or can't live with it. There is ABSOLUTELY NO WARRANTY, explicit or implied, ; on this software. ; .code .IMPORT $global$,DATA .IMPORT $$dyncall,MILLICODE .code .align 4 .EXPORT tramp,ENTRY,PRIV_LEV=3,ARGW0=GR,ARGW1=GR .label tramp .PROC .CALLINFO FRAME=0,NO_CALLS .ENTRY ; The closure pointer is already in register %r19. ; Move into register %r20. ldw 0(0,%r19),%r20 ; Move into register %r22 ldw 4(0,%r19),%r22 ; Move
into register %r21. ldw 8(0,%r19),%r21 ; Store into . stw %r22,0(0,%r20) ; Jump to %r21. bb,>=,n %r21,30,tramp_2 depi 0,31,2,%r21 ldw 4(0,%r21),%r19 ldw 0(0,%r21),%r21 .label tramp_2 ldsid (0,%r21),%r1 mtsp %r1,%sr0 be,n 0(%sr0,%r21) nop .EXIT .PROCEND