Black Lives Matter. Support the Equal Justice Initiative.

Text file src/runtime/preempt_arm64.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  	MOVD R30, -496(RSP)
     9  	SUB $496, RSP
    10  	#ifdef GOOS_linux
    11  	MOVD R29, -8(RSP)
    12  	SUB $8, RSP, R29
    13  	#endif
    14  	#ifdef GOOS_ios
    15  	MOVD R30, (RSP)
    16  	#endif
    17  	MOVD R0, 8(RSP)
    18  	MOVD R1, 16(RSP)
    19  	MOVD R2, 24(RSP)
    20  	MOVD R3, 32(RSP)
    21  	MOVD R4, 40(RSP)
    22  	MOVD R5, 48(RSP)
    23  	MOVD R6, 56(RSP)
    24  	MOVD R7, 64(RSP)
    25  	MOVD R8, 72(RSP)
    26  	MOVD R9, 80(RSP)
    27  	MOVD R10, 88(RSP)
    28  	MOVD R11, 96(RSP)
    29  	MOVD R12, 104(RSP)
    30  	MOVD R13, 112(RSP)
    31  	MOVD R14, 120(RSP)
    32  	MOVD R15, 128(RSP)
    33  	MOVD R16, 136(RSP)
    34  	MOVD R17, 144(RSP)
    35  	MOVD R19, 152(RSP)
    36  	MOVD R20, 160(RSP)
    37  	MOVD R21, 168(RSP)
    38  	MOVD R22, 176(RSP)
    39  	MOVD R23, 184(RSP)
    40  	MOVD R24, 192(RSP)
    41  	MOVD R25, 200(RSP)
    42  	MOVD R26, 208(RSP)
    43  	MOVD NZCV, R0
    44  	MOVD R0, 216(RSP)
    45  	MOVD FPSR, R0
    46  	MOVD R0, 224(RSP)
    47  	FMOVD F0, 232(RSP)
    48  	FMOVD F1, 240(RSP)
    49  	FMOVD F2, 248(RSP)
    50  	FMOVD F3, 256(RSP)
    51  	FMOVD F4, 264(RSP)
    52  	FMOVD F5, 272(RSP)
    53  	FMOVD F6, 280(RSP)
    54  	FMOVD F7, 288(RSP)
    55  	FMOVD F8, 296(RSP)
    56  	FMOVD F9, 304(RSP)
    57  	FMOVD F10, 312(RSP)
    58  	FMOVD F11, 320(RSP)
    59  	FMOVD F12, 328(RSP)
    60  	FMOVD F13, 336(RSP)
    61  	FMOVD F14, 344(RSP)
    62  	FMOVD F15, 352(RSP)
    63  	FMOVD F16, 360(RSP)
    64  	FMOVD F17, 368(RSP)
    65  	FMOVD F18, 376(RSP)
    66  	FMOVD F19, 384(RSP)
    67  	FMOVD F20, 392(RSP)
    68  	FMOVD F21, 400(RSP)
    69  	FMOVD F22, 408(RSP)
    70  	FMOVD F23, 416(RSP)
    71  	FMOVD F24, 424(RSP)
    72  	FMOVD F25, 432(RSP)
    73  	FMOVD F26, 440(RSP)
    74  	FMOVD F27, 448(RSP)
    75  	FMOVD F28, 456(RSP)
    76  	FMOVD F29, 464(RSP)
    77  	FMOVD F30, 472(RSP)
    78  	FMOVD F31, 480(RSP)
    79  	CALL ¬∑asyncPreempt2(SB)
    80  	FMOVD 480(RSP), F31
    81  	FMOVD 472(RSP), F30
    82  	FMOVD 464(RSP), F29
    83  	FMOVD 456(RSP), F28
    84  	FMOVD 448(RSP), F27
    85  	FMOVD 440(RSP), F26
    86  	FMOVD 432(RSP), F25
    87  	FMOVD 424(RSP), F24
    88  	FMOVD 416(RSP), F23
    89  	FMOVD 408(RSP), F22
    90  	FMOVD 400(RSP), F21
    91  	FMOVD 392(RSP), F20
    92  	FMOVD 384(RSP), F19
    93  	FMOVD 376(RSP), F18
    94  	FMOVD 368(RSP), F17
    95  	FMOVD 360(RSP), F16
    96  	FMOVD 352(RSP), F15
    97  	FMOVD 344(RSP), F14
    98  	FMOVD 336(RSP), F13
    99  	FMOVD 328(RSP), F12
   100  	FMOVD 320(RSP), F11
   101  	FMOVD 312(RSP), F10
   102  	FMOVD 304(RSP), F9
   103  	FMOVD 296(RSP), F8
   104  	FMOVD 288(RSP), F7
   105  	FMOVD 280(RSP), F6
   106  	FMOVD 272(RSP), F5
   107  	FMOVD 264(RSP), F4
   108  	FMOVD 256(RSP), F3
   109  	FMOVD 248(RSP), F2
   110  	FMOVD 240(RSP), F1
   111  	FMOVD 232(RSP), F0
   112  	MOVD 224(RSP), R0
   113  	MOVD R0, FPSR
   114  	MOVD 216(RSP), R0
   115  	MOVD R0, NZCV
   116  	MOVD 208(RSP), R26
   117  	MOVD 200(RSP), R25
   118  	MOVD 192(RSP), R24
   119  	MOVD 184(RSP), R23
   120  	MOVD 176(RSP), R22
   121  	MOVD 168(RSP), R21
   122  	MOVD 160(RSP), R20
   123  	MOVD 152(RSP), R19
   124  	MOVD 144(RSP), R17
   125  	MOVD 136(RSP), R16
   126  	MOVD 128(RSP), R15
   127  	MOVD 120(RSP), R14
   128  	MOVD 112(RSP), R13
   129  	MOVD 104(RSP), R12
   130  	MOVD 96(RSP), R11
   131  	MOVD 88(RSP), R10
   132  	MOVD 80(RSP), R9
   133  	MOVD 72(RSP), R8
   134  	MOVD 64(RSP), R7
   135  	MOVD 56(RSP), R6
   136  	MOVD 48(RSP), R5
   137  	MOVD 40(RSP), R4
   138  	MOVD 32(RSP), R3
   139  	MOVD 24(RSP), R2
   140  	MOVD 16(RSP), R1
   141  	MOVD 8(RSP), R0
   142  	MOVD 496(RSP), R30
   143  	#ifdef GOOS_linux
   144  	MOVD -8(RSP), R29
   145  	#endif
   146  	MOVD (RSP), R27
   147  	ADD $512, RSP
   148  	JMP (R27)
   149  

View as plain text