// Copyright 2018 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package runtime import ( "internal/goarch" "internal/runtime/sys" "unsafe" ) type m0Stack struct { _ [8192 * sys.StackGuardMultiplier]byte } var wasmStack m0Stack func wasmDiv() func wasmTruncS() func wasmTruncU() //go:wasmimport gojs runtime.wasmExit func wasmExit(code int32) // adjust Gobuf as it if executed a call to fn with context ctxt // and then stopped before the first instruction in fn. func gostartcall(buf *gobuf, fn, ctxt unsafe.Pointer) { sp := buf.sp sp -= goarch.PtrSize *(*uintptr)(unsafe.Pointer(sp)) = buf.pc buf.sp = sp buf.pc = uintptr(fn) buf.ctxt = ctxt } func notInitialized() // defined in assembly, call notInitialized1 // Called if a wasmexport function is called before runtime initialization // //go:nosplit func notInitialized1() { writeErrStr("runtime: wasmexport function called before runtime initialization\n") if isarchive || islibrary { writeErrStr("\tcall _initialize first\n") } else { writeErrStr("\tcall _start first\n") } }