Source File
mbarrier.go
Belonging Package
runtime
package runtime
import (
)
func ( *_type, , unsafe.Pointer) {
if == {
return
}
if writeBarrier.needed && .ptrdata != 0 {
bulkBarrierPreWrite(uintptr(), uintptr(), .ptrdata)
memmove(, , .size)
if writeBarrier.cgo {
cgoCheckMemmove(, , , 0, .size)
}
}
func ( *_type, , unsafe.Pointer) {
if raceenabled {
raceWriteObjectPC(, , getcallerpc(), funcPC())
raceReadObjectPC(, , getcallerpc(), funcPC())
}
if msanenabled {
msanwrite(, .size)
msanread(, .size)
}
typedmemmove(, , )
}
func ( *_type, , unsafe.Pointer) {
reflect_typedmemmove(, , )
}
func ( *_type, , unsafe.Pointer, , uintptr) {
if writeBarrier.needed && .ptrdata > && >= sys.PtrSize {
if &(sys.PtrSize-1) != 0 {
panic("reflect: internal error: misaligned offset")
}
:= alignDown(, sys.PtrSize)
if := .ptrdata - ; > {
=
}
bulkBarrierPreWrite(uintptr(), uintptr(), )
}
memmove(, , )
if writeBarrier.cgo {
cgoCheckMemmove(, , , , )
}
}
if raceenabled {
:= getcallerpc()
:= funcPC(slicecopy)
racewriterangepc(, uintptr()*.size, , )
racereadrangepc(, uintptr()*.size, , )
}
if msanenabled {
msanwrite(, uintptr()*.size)
msanread(, uintptr()*.size)
}
if writeBarrier.cgo {
cgoCheckSliceCopy(, , , )
}
if == {
return
}
:= uintptr() * .size
if writeBarrier.needed {
:= - .size + .ptrdata
bulkBarrierPreWrite(uintptr(), uintptr(), )
memmove(, , )
return
}
func ( *_type, unsafe.Pointer) {
if writeBarrier.needed && .ptrdata != 0 {
bulkBarrierPreWrite(uintptr(), 0, .ptrdata)
}
memclrNoHeapPointers(, .size)
}
func ( *_type, unsafe.Pointer) {
typedmemclr(, )
}
func ( *_type, unsafe.Pointer, , uintptr) {
if writeBarrier.needed && .ptrdata != 0 {
bulkBarrierPreWrite(uintptr(), 0, )
}
memclrNoHeapPointers(, )
}
func ( unsafe.Pointer, uintptr) {
bulkBarrierPreWrite(uintptr(), 0, )
memclrNoHeapPointers(, )
![]() |
The pages are generated with Golds v0.3.2-preview. (GOOS=darwin GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @Go100and1 (reachable from the left QR code) to get the latest news of Golds. |