1// Copyright 2018 The Go Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style 3// license that can be found in the LICENSE file. 4 5package runtime 6 7import ( 8 "runtime/internal/sys" 9 "unsafe" 10) 11 12type m0Stack struct { 13 _ [8192 * sys.StackGuardMultiplier]byte 14} 15 16var wasmStack m0Stack 17 18func wasmMove() 19 20func wasmZero() 21 22func wasmDiv() 23 24func wasmTruncS() 25func wasmTruncU() 26 27func wasmExit(code int32) 28 29// adjust Gobuf as it if executed a call to fn with context ctxt 30// and then did an immediate gosave. 31func gostartcall(buf *gobuf, fn, ctxt unsafe.Pointer) { 32 sp := buf.sp 33 if sys.RegSize > sys.PtrSize { 34 sp -= sys.PtrSize 35 *(*uintptr)(unsafe.Pointer(sp)) = 0 36 } 37 sp -= sys.PtrSize 38 *(*uintptr)(unsafe.Pointer(sp)) = buf.pc 39 buf.sp = sp 40 buf.pc = uintptr(fn) 41 buf.ctxt = ctxt 42} 43