github.com/liangmanlin/routine@v1.1.0/g/go_386.s (about)

     1  // Copyright 2022 TimAndy. All rights reserved.
     2  // Licensed under the Apache-2.0 license that can be found in the LICENSE file.
     3  
     4  #include "funcdata.h"
     5  #include "go_asm.h"
     6  #include "go_tls.h"
     7  #include "textflag.h"
     8  
     9  TEXT ·getgp(SB), NOSPLIT, $0-4
    10      get_tls(CX)
    11      MOVL    g(CX), AX
    12      MOVL    AX, ret+0(FP)
    13      RET
    14  
    15  TEXT ·getg0(SB), NOSPLIT, $0-8
    16      NO_LOCAL_POINTERS
    17      MOVL    $0, ret_type+0(FP)
    18      MOVL    $0, ret_data+4(FP)
    19      GO_RESULTS_INITIALIZED
    20      //get runtime.g type
    21      MOVL    $type·runtime·g(SB), AX
    22      //get runtime·g0 variable
    23      MOVL    $runtime·g0(SB), BX
    24      //return interface{}
    25      MOVL    AX, ret_type+0(FP)
    26      MOVL    BX, ret_data+4(FP)
    27      RET