Black Lives Matter. Support the Equal Justice Initiative.

Text file src/runtime/preempt_arm.s

Documentation: runtime

     1  // Code generated by mkpreempt.go; DO NOT EDIT.
     2  
     3  #include "go_asm.h"
     4  #include "textflag.h"
     5  
     6  // Note: asyncPreempt doesn't use the internal ABI, but we must be able to inject calls to it from the signal handler, so Go code has to see the PC of this function literally.
     7  TEXT ·asyncPreempt<ABIInternal>(SB),NOSPLIT|NOFRAME,$0-0
     8  	MOVW.W R14, -188(R13)
     9  	MOVW R0, 4(R13)
    10  	MOVW R1, 8(R13)
    11  	MOVW R2, 12(R13)
    12  	MOVW R3, 16(R13)
    13  	MOVW R4, 20(R13)
    14  	MOVW R5, 24(R13)
    15  	MOVW R6, 28(R13)
    16  	MOVW R7, 32(R13)
    17  	MOVW R8, 36(R13)
    18  	MOVW R9, 40(R13)
    19  	MOVW R11, 44(R13)
    20  	MOVW R12, 48(R13)
    21  	MOVW CPSR, R0
    22  	MOVW R0, 52(R13)
    23  	MOVB ·goarm(SB), R0
    24  	CMP $6, R0
    25  	BLT nofp
    26  	MOVW FPCR, R0
    27  	MOVW R0, 56(R13)
    28  	MOVD F0, 60(R13)
    29  	MOVD F1, 68(R13)
    30  	MOVD F2, 76(R13)
    31  	MOVD F3, 84(R13)
    32  	MOVD F4, 92(R13)
    33  	MOVD F5, 100(R13)
    34  	MOVD F6, 108(R13)
    35  	MOVD F7, 116(R13)
    36  	MOVD F8, 124(R13)
    37  	MOVD F9, 132(R13)
    38  	MOVD F10, 140(R13)
    39  	MOVD F11, 148(R13)
    40  	MOVD F12, 156(R13)
    41  	MOVD F13, 164(R13)
    42  	MOVD F14, 172(R13)
    43  	MOVD F15, 180(R13)
    44  nofp:
    45  	CALL ·asyncPreempt2(SB)
    46  	MOVB ·goarm(SB), R0
    47  	CMP $6, R0
    48  	BLT nofp2
    49  	MOVD 180(R13), F15
    50  	MOVD 172(R13), F14
    51  	MOVD 164(R13), F13
    52  	MOVD 156(R13), F12
    53  	MOVD 148(R13), F11
    54  	MOVD 140(R13), F10
    55  	MOVD 132(R13), F9
    56  	MOVD 124(R13), F8
    57  	MOVD 116(R13), F7
    58  	MOVD 108(R13), F6
    59  	MOVD 100(R13), F5
    60  	MOVD 92(R13), F4
    61  	MOVD 84(R13), F3
    62  	MOVD 76(R13), F2
    63  	MOVD 68(R13), F1
    64  	MOVD 60(R13), F0
    65  	MOVW 56(R13), R0
    66  	MOVW R0, FPCR
    67  nofp2:
    68  	MOVW 52(R13), R0
    69  	MOVW R0, CPSR
    70  	MOVW 48(R13), R12
    71  	MOVW 44(R13), R11
    72  	MOVW 40(R13), R9
    73  	MOVW 36(R13), R8
    74  	MOVW 32(R13), R7
    75  	MOVW 28(R13), R6
    76  	MOVW 24(R13), R5
    77  	MOVW 20(R13), R4
    78  	MOVW 16(R13), R3
    79  	MOVW 12(R13), R2
    80  	MOVW 8(R13), R1
    81  	MOVW 4(R13), R0
    82  	MOVW 188(R13), R14
    83  	MOVW.P 192(R13), R15
    84  	UNDEF
    85  

View as plain text