package backend

import 

// GoFunctionCallRequiredStackSize returns the size of the stack required for the Go function call.
// argBegin is the index of the first argument in the signature which is not either execution context or module context.
func ( *ssa.Signature,  int) (,  int64) {
	var ,  int64
	for ,  := range .Params[:] {
		 := int64(.Size())
		if  < 8 {
			 = 8 // We use uint64 for all basic types, except SIMD v128.
		}
		 += 
	}
	for ,  := range .Results {
		 := int64(.Size())
		if  < 8 {
			 = 8 // We use uint64 for all basic types, except SIMD v128.
		}
		 += 
	}

	if  >  {
		 = 
	} else {
		 = 
	}
	 = 
	// Align to 16 bytes.
	 = ( + 15) &^ 15
	return
}