github.com/tinygo-org/tinygo@v0.31.3-0.20240404173401-90b0bf646c27/src/runtime/arch_arm64.go (about)

     1  package runtime
     2  
     3  const GOARCH = "arm64"
     4  
     5  // The bitness of the CPU (e.g. 8, 32, 64).
     6  const TargetBits = 64
     7  
     8  const deferExtraRegs = 0
     9  
    10  const callInstSize = 4 // "bl someFunction" is 4 bytes
    11  
    12  // Align on word boundary.
    13  func align(ptr uintptr) uintptr {
    14  	return (ptr + 15) &^ 15
    15  }
    16  
    17  func getCurrentStackPointer() uintptr {
    18  	return uintptr(stacksave())
    19  }