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

     1  //go:build (arm && !baremetal && !tinygo.wasm) || (arm && arm7tdmi)
     2  
     3  package runtime
     4  
     5  const GOARCH = "arm"
     6  
     7  // The bitness of the CPU (e.g. 8, 32, 64).
     8  const TargetBits = 32
     9  
    10  const deferExtraRegs = 0
    11  
    12  const callInstSize = 4 // "bl someFunction" is 4 bytes
    13  
    14  // Align on the maximum alignment for this platform (double).
    15  func align(ptr uintptr) uintptr {
    16  	return (ptr + 7) &^ 7
    17  }
    18  
    19  func getCurrentStackPointer() uintptr {
    20  	return uintptr(stacksave())
    21  }