Home | History | Annotate | Download | only in runtime

Lines Matching full:special

162 	speciallock           mutex    // lock for special record allocators.
306 specials *special // linked list of special records sorted by offset.
1329 // Note: The finalizer special must be first because if we're freeing
1330 // an object, a finalizer special will cause the freeing operation
1331 // to abort, and we want to keep the other special records around
1336 type special struct {
1337 next *special // linked list in span
1339 kind byte // kind of special
1342 // Adds the special record s to the list of special records for
1345 // Returns true if the special was successfully added, false otherwise.
1348 func addspecial(p unsafe.Pointer, s *special) bool {
1393 // Removes the Special record of the given kind for the object p.
1396 func removespecial(p unsafe.Pointer, kind uint8) *special {
1439 special special
1451 s.special.kind = _KindSpecialFinalizer
1456 if addspecial(p, &s.special) {
1469 // special isn't part of the GC'd heap.
1501 special special
1510 s.special.kind = _KindSpecialProfile
1512 if !addspecial(p, &s.special) {
1519 func freespecial(s *special, p unsafe.Pointer, size uintptr) {
1534 throw("bad special kind")