Search Options

Results per page
Sort
Preferred Languages
Advance

Results 71 - 80 of 158 for NoSplit (0.28 sec)

  1. src/internal/runtime/syscall/asm_linux_arm64.s

    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    #include "textflag.h"
    
    // func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
    TEXT ·Syscall6(SB),NOSPLIT,$0-80
    	MOVD	num+0(FP), R8	// syscall entry
    	MOVD	a1+8(FP), R0
    	MOVD	a2+16(FP), R1
    	MOVD	a3+24(FP), R2
    	MOVD	a4+32(FP), R3
    	MOVD	a5+40(FP), R4
    	MOVD	a6+48(FP), R5
    	SVC
    	CMN	$4095, R0
    	BCC	ok
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 21:28:32 UTC 2024
    - 645 bytes
    - Viewed (0)
  2. src/math/floor_riscv64.s

    // license that can be found in the LICENSE file.
    
    #include "textflag.h"
    
    #define PosInf 0x7FF0000000000000
    
    // The rounding mode of RISC-V is different from Go spec.
    
    #define ROUNDFN(NAME, MODE) 	\
    TEXT NAME(SB),NOSPLIT,$0; 	\
    	MOVD	x+0(FP), F0; 	\
    	/* whether x is NaN */; \
    	FEQD	F0, F0, X6;	\
    	BNEZ	X6, 3(PC);	\
    	/* return NaN if x is NaN */; \
    	MOVD	F0, ret+8(FP); 	\
    	RET;			\
    	MOV	$PosInf, X6;	\
    	FMVDX	X6, F1;		\
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Feb 23 08:34:12 UTC 2024
    - 1K bytes
    - Viewed (0)
  3. src/internal/runtime/syscall/asm_linux_386.s

    #define INVOKE_SYSCALL	INT	$0x80
    
    // func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
    //
    // Syscall # in AX, args in BX CX DX SI DI BP, return in AX
    TEXT ·Syscall6(SB),NOSPLIT,$0-40
    	MOVL	num+0(FP), AX	// syscall entry
    	MOVL	a1+4(FP), BX
    	MOVL	a2+8(FP), CX
    	MOVL	a3+12(FP), DX
    	MOVL	a4+16(FP), SI
    	MOVL	a5+20(FP), DI
    	MOVL	a6+24(FP), BP
    	INVOKE_SYSCALL
    	CMPL	AX, $0xfffff001
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 21:28:32 UTC 2024
    - 861 bytes
    - Viewed (0)
  4. src/internal/runtime/syscall/asm_linux_loong64.s

    // a4  | R8          | R7
    // a5  | R9          | R8
    // a6  | R10         | R9
    //
    // r1  | R4          | R4
    // r2  | R5          | R5
    // err | R6          | part of R4
    TEXT ·Syscall6<ABIInternal>(SB),NOSPLIT,$0-80
    	MOVV	R4, R11  // syscall entry
    	MOVV	R5, R4
    	MOVV	R6, R5
    	MOVV	R7, R6
    	MOVV	R8, R7
    	MOVV	R9, R8
    	MOVV	R10, R9
    	SYSCALL
    	MOVV	R0, R5      // r2 is not used. Always set to 0.
    	MOVW	$-4096, R12
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon May 13 15:04:25 UTC 2024
    - 1013 bytes
    - Viewed (0)
  5. src/runtime/asan.go

    	sp := getcallersp()
    	pc := getcallerpc()
    	doasanwrite(addr, uintptr(len), sp, pc)
    }
    
    // Private interface for the runtime.
    const asanenabled = true
    
    // asan{read,write} are nosplit because they may be called between
    // fork and exec, when the stack must not grow. See issue #50391.
    
    //go:linkname asanread
    //go:nosplit
    func asanread(addr unsafe.Pointer, sz uintptr) {
    	sp := getcallersp()
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Feb 13 20:39:58 UTC 2024
    - 1.6K bytes
    - Viewed (0)
  6. src/internal/runtime/syscall/asm_linux_mips64x.s

    // license that can be found in the LICENSE file.
    
    //go:build linux && (mips64 || mips64le)
    
    #include "textflag.h"
    
    // func Syscall6(num, a1, a2, a3, a4, a5, a6 uintptr) (r1, r2, errno uintptr)
    TEXT ·Syscall6(SB),NOSPLIT,$0-80
    	MOVV	num+0(FP), R2	// syscall entry
    	MOVV	a1+8(FP), R4
    	MOVV	a2+16(FP), R5
    	MOVV	a3+24(FP), R6
    	MOVV	a4+32(FP), R7
    	MOVV	a5+40(FP), R8
    	MOVV	a6+48(FP), R9
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Feb 21 21:28:32 UTC 2024
    - 724 bytes
    - Viewed (0)
  7. src/runtime/mwbbuf.go

    	}
    
    	if (b.end-b.next)%unsafe.Sizeof(b.buf[0]) != 0 {
    		throw("bad write barrier buffer bounds")
    	}
    }
    
    // discard resets b's next pointer, but not its end pointer.
    //
    // This must be nosplit because it's called by wbBufFlush.
    //
    //go:nosplit
    func (b *wbBuf) discard() {
    	b.next = uintptr(unsafe.Pointer(&b.buf[0]))
    }
    
    // empty reports whether b contains no pointers.
    func (b *wbBuf) empty() bool {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 8.1K bytes
    - Viewed (0)
  8. src/crypto/internal/edwards25519/field/fe_arm64.s

    // avoids loading R0-R4 twice and uses LDP and STP.
    //
    // See https://golang.org/issues/43145 for the main compiler issue.
    //
    // func carryPropagate(v *Element)
    TEXT ·carryPropagate(SB),NOFRAME|NOSPLIT,$0-8
    	MOVD v+0(FP), R20
    
    	LDP 0(R20), (R0, R1)
    	LDP 16(R20), (R2, R3)
    	MOVD 32(R20), R4
    
    	AND $0x7ffffffffffff, R0, R10
    	AND $0x7ffffffffffff, R1, R11
    	AND $0x7ffffffffffff, R2, R12
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 04 17:29:44 UTC 2024
    - 1K bytes
    - Viewed (0)
  9. src/math/big/arith_ppc64x.s

    // This file provides fast assembly versions for the elementary
    // arithmetic operations on vectors implemented in arith.go.
    
    // func addVV(z, y, y []Word) (c Word)
    // z[i] = x[i] + y[i] for all i, carrying
    TEXT ·addVV(SB), NOSPLIT, $0
    	MOVD  z_len+8(FP), R7   // R7 = z_len
    	MOVD  x+24(FP), R8      // R8 = x[]
    	MOVD  y+48(FP), R9      // R9 = y[]
    	MOVD  z+0(FP), R10      // R10 = z[]
    
    	// If z_len = 0, we are done
    	CMP   R7, $0
    	MOVD  R0, R4
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 18:17:17 UTC 2024
    - 16.8K bytes
    - Viewed (0)
  10. src/runtime/HACKING.md

    Splittable functions ensure there's some amount of space on the stack
    for nosplit functions to run in and the linker checks that any static
    chain of nosplit function calls cannot exceed this bound.
    
    Any function with a `//go:nosplit` annotation should explain why it is
    nosplit in its documentation comment.
    
    Error handling and reporting
    ============================
    
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Mar 25 19:53:03 UTC 2024
    - 13.9K bytes
    - Viewed (0)
Back to top