Search Options

Results per page
Sort
Preferred Languages
Advance

Results 11 - 18 of 18 for gcWriteBarrier (0.44 sec)

  1. src/runtime/mbarrier.go

    // For the concurrent garbage collector, the Go compiler implements
    // updates to pointer-valued fields that may be in heap objects by
    // emitting calls to write barriers. The main write barrier for
    // individual pointer writes is gcWriteBarrier and is implemented in
    // assembly. This file contains write barrier entry points for bulk
    // operations. See also mwbbuf.go.
    
    package runtime
    
    import (
    	"internal/abi"
    	"internal/goarch"
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 15.7K bytes
    - Viewed (0)
  2. src/cmd/link/internal/wasm/asm.go

    	"runtime.wasmTruncS":      {Params: []byte{F64}, Results: []byte{I64}},                // x -> int(x)
    	"runtime.wasmTruncU":      {Params: []byte{F64}, Results: []byte{I64}},                // x -> uint(x)
    	"gcWriteBarrier":          {Params: []byte{I64}, Results: []byte{I64}},                // #bytes -> bufptr
    	"runtime.gcWriteBarrier1": {Results: []byte{I64}},                                     // -> bufptr
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jan 22 16:17:48 UTC 2024
    - 21.9K bytes
    - Viewed (0)
  3. src/cmd/compile/internal/ssa/_gen/RISCV64Ops.go

    		// the result should be the PC within f that g will return to.
    		// See runtime/stubs.go for a more detailed discussion.
    		{name: "LoweredGetCallerPC", reg: gp01, rematerializeable: true},
    
    		// LoweredWB invokes runtime.gcWriteBarrier. arg0=mem, auxint=# of buffer entries needed
    		// It saves all GP registers if necessary,
    		// but clobbers RA (LR) because it's a call
    		// and T6 (REG_TMP).
    		// Returns a pointer to a write barrier buffer in X24.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Mar 07 14:57:07 UTC 2024
    - 30.7K bytes
    - Viewed (0)
  4. src/cmd/compile/internal/ssagen/ssa.go

    	ir.Syms.Duffzero = typecheck.LookupRuntimeFunc("duffzero")
    	ir.Syms.GCWriteBarrier[0] = typecheck.LookupRuntimeFunc("gcWriteBarrier1")
    	ir.Syms.GCWriteBarrier[1] = typecheck.LookupRuntimeFunc("gcWriteBarrier2")
    	ir.Syms.GCWriteBarrier[2] = typecheck.LookupRuntimeFunc("gcWriteBarrier3")
    	ir.Syms.GCWriteBarrier[3] = typecheck.LookupRuntimeFunc("gcWriteBarrier4")
    	ir.Syms.GCWriteBarrier[4] = typecheck.LookupRuntimeFunc("gcWriteBarrier5")
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Jun 10 19:44:43 UTC 2024
    - 284.9K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/_gen/genericOps.go

    	{name: "WBend", argLength: 1, typ: "Mem"},                  // Write barrier code is done, interrupting is now allowed.
    
    	// WB invokes runtime.gcWriteBarrier.  This is not a normal
    	// call: it takes arguments in registers, doesn't clobber
    	// general-purpose registers (the exact clobber set is
    	// arch-dependent), and is not a safe-point.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 42.6K bytes
    - Viewed (0)
  6. src/cmd/compile/internal/ssa/_gen/PPC64Ops.go

    		{name: "LoweredAtomicOr32", argLength: 3, reg: gpstore, asm: "OR", faultOnNilArg0: true, hasSideEffects: true},
    
    		// LoweredWB invokes runtime.gcWriteBarrier. arg0=mem, auxint=# of buffer entries needed
    		// It preserves R0 through R17 (except special registers R1, R2, R11, R12, R13), g, and R20 and R21,
    		// but may clobber anything else, including R31 (REGTMP).
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 43.8K bytes
    - Viewed (0)
  7. src/cmd/compile/internal/ssa/_gen/ARM64Ops.go

    		{name: "LoweredAtomicOr32Variant", argLength: 3, reg: gpxchg, resultNotInArgs: true, faultOnNilArg0: true, hasSideEffects: true},
    
    		// LoweredWB invokes runtime.gcWriteBarrier. arg0=mem, auxint=# of buffer entries needed
    		// It saves all GP registers if necessary,
    		// but clobbers R30 (LR) because it's a call.
    		// R16 and R17 may be clobbered by linker trampoline.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu May 23 15:49:20 UTC 2024
    - 58.8K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ppc64/ssa.go

    		}
    
    	case ssa.OpPPC64LoweredWB:
    		p := s.Prog(obj.ACALL)
    		p.To.Type = obj.TYPE_MEM
    		p.To.Name = obj.NAME_EXTERN
    		// AuxInt encodes how many buffer entries we need.
    		p.To.Sym = ir.Syms.GCWriteBarrier[v.AuxInt-1]
    
    	case ssa.OpPPC64LoweredPanicBoundsA, ssa.OpPPC64LoweredPanicBoundsB, ssa.OpPPC64LoweredPanicBoundsC:
    		p := s.Prog(obj.ACALL)
    		p.To.Type = obj.TYPE_MEM
    		p.To.Name = obj.NAME_EXTERN
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 22 19:59:38 UTC 2024
    - 55.4K bytes
    - Viewed (0)
Back to top