github.com/AR1011/wazero@v1.0.5/internal/engine/wazevo/machine.go (about)

     1  package wazevo
     2  
     3  import (
     4  	"runtime"
     5  
     6  	"github.com/AR1011/wazero/internal/engine/wazevo/backend"
     7  	"github.com/AR1011/wazero/internal/engine/wazevo/backend/isa/arm64"
     8  )
     9  
    10  func newMachine() backend.Machine {
    11  	switch runtime.GOARCH {
    12  	case "arm64":
    13  		return arm64.NewBackend()
    14  	default:
    15  		panic("unsupported architecture")
    16  	}
    17  }
    18  
    19  func unwindStack(sp, top uintptr, returnAddresses []uintptr) []uintptr {
    20  	switch runtime.GOARCH {
    21  	case "arm64":
    22  		return arm64.UnwindStack(sp, top, returnAddresses)
    23  	default:
    24  		panic("unsupported architecture")
    25  	}
    26  }
    27  
    28  func goCallStackView(stackPointerBeforeGoCall *uint64) []uint64 {
    29  	switch runtime.GOARCH {
    30  	case "arm64":
    31  		return arm64.GoCallStackView(stackPointerBeforeGoCall)
    32  	default:
    33  		panic("unsupported architecture")
    34  	}
    35  }