Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 8 of 8 for libcall_n (0.12 sec)

  1. src/runtime/sys_windows_amd64.s

    TEXT runtimeĀ·asmstdcall(SB),NOSPLIT,$16
    	MOVQ	SP, AX
    	ANDQ	$~15, SP	// alignment as per Windows requirement
    	MOVQ	AX, 8(SP)
    	MOVQ	CX, 0(SP)	// asmcgocall will put first argument into CX.
    
    	MOVQ	libcall_fn(CX), AX
    	MOVQ	libcall_args(CX), SI
    	MOVQ	libcall_n(CX), CX
    
    	// SetLastError(0).
    	MOVQ	0x30(GS), DI
    	MOVL	$0, 0x68(DI)
    
    	SUBQ	$(const_maxArgs*8), SP	// room for args
    
    	// Fast version, do not store args on the stack.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Feb 19 07:24:08 UTC 2024
    - 8.4K bytes
    - Viewed (0)
  2. src/runtime/os_windows.go

    	if resetLibcall {
    		mp.libcallsp = 0
    	}
    	return mp.libcall.r1
    }
    
    //go:nosplit
    func stdcall0(fn stdFunction) uintptr {
    	mp := getg().m
    	mp.libcall.n = 0
    	mp.libcall.args = 0
    	return stdcall(fn)
    }
    
    //go:nosplit
    //go:cgo_unsafe_args
    func stdcall1(fn stdFunction, a0 uintptr) uintptr {
    	mp := getg().m
    	mp.libcall.n = 1
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Apr 26 22:55:25 UTC 2024
    - 41.5K bytes
    - Viewed (0)
  3. src/runtime/os3_solaris.go

    //go:nosplit
    //go:cgo_unsafe_args
    func doMmap(addr, n, prot, flags, fd, off uintptr) (uintptr, uintptr) {
    	var libcall libcall
    	libcall.fn = uintptr(unsafe.Pointer(&libc_mmap))
    	libcall.n = 6
    	libcall.args = uintptr(noescape(unsafe.Pointer(&addr)))
    	asmcgocall(unsafe.Pointer(&asmsysvicall6x), unsafe.Pointer(&libcall))
    	return libcall.r1, libcall.err
    }
    
    //go:nosplit
    func munmap(addr unsafe.Pointer, n uintptr) {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 17.6K bytes
    - Viewed (0)
  4. src/runtime/runtime2.go

    	freelink    *m // on sched.freem
    	trace       mTraceState
    
    	// these are here because they are too large to be on the stack
    	// of low-level NOSPLIT functions.
    	libcall    libcall
    	libcallpc  uintptr // for cpu profiler
    	libcallsp  uintptr
    	libcallg   guintptr
    	winsyscall winlibcall // stores syscall parameters on windows
    
    	vdsoSP uintptr // SP for traceback while in VDSO call (0 if not in call)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 30 17:57:37 UTC 2024
    - 47.9K bytes
    - Viewed (0)
  5. src/runtime/traceback.go

    // rewind it into the CALL instruction.)
    // If gp.m.libcall{g,pc,sp} information is available, it uses that information in preference to
    // the pc/sp/lr passed in.
    func tracebacktrap(pc, sp, lr uintptr, gp *g) {
    	if gp.m.libcallsp != 0 {
    		// We're in C code somewhere, traceback from the saved position.
    		traceback1(gp.m.libcallpc, gp.m.libcallsp, 0, gp.m.libcallg.ptr(), 0)
    		return
    	}
    	traceback1(pc, sp, lr, gp, unwindTrap)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 55.1K bytes
    - Viewed (0)
  6. src/runtime/stack.go

    	}
    	if !isShrinkStackSafe(gp) {
    		throw("shrinkstack at bad time")
    	}
    	// Check for self-shrinks while in a libcall. These may have
    	// pointers into the stack disguised as uintptrs, but these
    	// code paths should all be nosplit.
    	if gp == getg().m.curg && gp.m.libcallsp != 0 {
    		throw("shrinking stack in libcall")
    	}
    
    	if debug.gcshrinkstackoff > 0 {
    		return
    	}
    	f := findfunc(gp.startpc)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 22:31:00 UTC 2024
    - 41.1K bytes
    - Viewed (0)
  7. src/runtime/proc.go

    		u.initAt(mp.curg.syscallpc, mp.curg.syscallsp, 0, mp.curg, unwindSilentErrors)
    	} else if usesLibcall() && mp.libcallg != 0 && mp.libcallpc != 0 && mp.libcallsp != 0 {
    		// Libcall, i.e. runtime syscall on windows.
    		// Collect Go stack that leads to the call.
    		u.initAt(mp.libcallpc, mp.libcallsp, 0, mp.libcallg.ptr(), unwindSilentErrors)
    	} else if mp != nil && mp.vdsoSP != 0 {
    		// VDSO call, e.g. nanotime1 on Linux.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 207.5K bytes
    - Viewed (0)
  8. src/runtime/panic.go

    		releasem(mp)
    		return false
    	}
    	status := readgstatus(gp)
    	if status&^_Gscan != _Grunning || gp.syscallsp != 0 {
    		releasem(mp)
    		return false
    	}
    	if GOOS == "windows" && mp.libcallsp != 0 {
    		releasem(mp)
    		return false
    	}
    	releasem(mp)
    	return true
    }
    
    // shouldPushSigpanic reports whether pc should be used as sigpanic's
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 43.8K bytes
    - Viewed (0)
Back to top