Search Options

Results per page
Sort
Preferred Languages
Advance

Results 1 - 10 of 25 for writeBarrier (0.19 sec)

  1. src/cmd/compile/internal/ssa/writebarrier.go

    	// to record the old value in *ptr.
    	return z.mask>>uint(off/ptrSize)&1 == 0
    }
    
    // writebarrier pass inserts write barriers for store ops (Store, Move, Zero)
    // when necessary (the condition above). It rewrites store ops to branches
    // and runtime calls, like
    //
    //	if writeBarrier.enabled {
    //		buf := gcWriteBarrier2()	// Not a regular Go call
    //		buf[0] = val
    //		buf[1] = *ptr
    //	}
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Sep 08 19:09:14 UTC 2023
    - 23.5K bytes
    - Viewed (0)
  2. test/codegen/writebarrier.go

    Keith Randall <******@****.***> 1692387877 -0700
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed Aug 23 00:16:06 UTC 2023
    - 1.5K bytes
    - Viewed (0)
  3. test/writebarrier.go

    zikaeroh <******@****.***> 1627618552 -0700
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Mon Aug 23 19:46:36 UTC 2021
    - 5.9K bytes
    - Viewed (0)
  4. src/runtime/atomic_pointer.go

    // escape analysis decisions about the pointer value being stored.
    
    // atomicwb performs a write barrier before an atomic pointer write.
    // The caller should guard the call with "if writeBarrier.enabled".
    //
    // atomicwb should be an internal detail,
    // but widely used packages access it using linkname.
    // Notable members of the hall of shame include:
    //   - github.com/bytedance/gopkg
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 16:25:21 UTC 2024
    - 4K bytes
    - Viewed (0)
  5. src/cmd/compile/internal/ssa/writebarrier_test.go

    			Goto("exit")),
    		Bloc("exit",
    			Exit("wb2")))
    
    	CheckFunc(fun.f)
    	writebarrier(fun.f)
    	CheckFunc(fun.f)
    }
    
    func TestWriteBarrierPhi(t *testing.T) {
    	// Make sure writebarrier phase works for single-block loop, where
    	// a Phi op takes the store in the same block as argument.
    	// See issue #19067.
    	c := testConfig(t)
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue Apr 24 15:51:15 UTC 2018
    - 1.7K bytes
    - Viewed (0)
  6. test/fixedbugs/issue26105.go

    // compile
    
    // Copyright 2018 The Go Authors. All rights reserved.
    // Use of this source code is governed by a BSD-style
    // license that can be found in the LICENSE file.
    
    // Triggers a bug in writebarrier, which inserts one
    // between (first block) OpAddr x and (second block) a VarDef x,
    // which are then in the wrong order and unable to be
    // properly scheduled.
    
    package q
    
    var S interface{}
    
    func F(n int) {
    	fun := func(x int) int {
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Thu Jul 12 18:45:31 UTC 2018
    - 543 bytes
    - Viewed (0)
  7. src/runtime/mbarrier.go

    // See go.dev/issue/67401.
    //
    //go:linkname typedmemmove
    //go:nosplit
    func typedmemmove(typ *abi.Type, dst, src unsafe.Pointer) {
    	if dst == src {
    		return
    	}
    	if writeBarrier.enabled && typ.Pointers() {
    		// This always copies a full value of type typ so it's safe
    		// to pass typ along as an optimization. See the comment on
    		// bulkBarrierPreWrite.
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Wed May 29 17:58:53 UTC 2024
    - 15.7K bytes
    - Viewed (0)
  8. src/cmd/compile/internal/ir/symtab.go

    	TypeAssert        *obj.LSym
    	WBZero            *obj.LSym
    	WBMove            *obj.LSym
    	// Wasm
    	SigPanic        *obj.LSym
    	Staticuint64s   *obj.LSym
    	Typedmemmove    *obj.LSym
    	Udiv            *obj.LSym
    	WriteBarrier    *obj.LSym
    	Zerobase        *obj.LSym
    	ARM64HasATOMICS *obj.LSym
    	ARMHasVFPv4     *obj.LSym
    	X86HasFMA       *obj.LSym
    	X86HasPOPCNT    *obj.LSym
    	X86HasSSE41     *obj.LSym
    	// Wasm
    	WasmDiv *obj.LSym
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Oct 06 17:02:26 UTC 2023
    - 2K bytes
    - Viewed (0)
  9. src/cmd/internal/goobj/builtinlist.go

    	{"runtime.makechan", 1},
    	{"runtime.chanrecv1", 1},
    	{"runtime.chanrecv2", 1},
    	{"runtime.chansend1", 1},
    	{"runtime.closechan", 1},
    	{"runtime.chanlen", 1},
    	{"runtime.chancap", 1},
    	{"runtime.writeBarrier", 0},
    	{"runtime.typedmemmove", 1},
    	{"runtime.typedmemclr", 1},
    	{"runtime.typedslicecopy", 1},
    	{"runtime.selectnbsend", 1},
    	{"runtime.selectnbrecv", 1},
    	{"runtime.selectsetpc", 1},
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Tue May 21 21:08:03 UTC 2024
    - 7.4K bytes
    - Viewed (0)
  10. src/runtime/unsafepoint_test.go

    		}
    
    		// Detect whether we're in the write barrier.
    		switch runtime.GOARCH {
    		case "arm64":
    			if parts[3] == "MOVWU" {
    				// The unpreemptible region starts after the
    				// load of runtime.writeBarrier.
    				startedWB = true
    			}
    			if parts[3] == "MOVD" && parts[4] == "ZR," {
    				// The unpreemptible region ends after the
    				// write of nil.
    				doneWB = true
    			}
    		case "amd64":
    Registered: Wed Jun 12 16:32:35 UTC 2024
    - Last Modified: Fri Aug 11 20:24:56 UTC 2023
    - 3.3K bytes
    - Viewed (0)
Back to top