From: Ian Lance Taylor Date: Wed, 3 Dec 2025 23:15:30 +0000 (-0800) Subject: runtime: use unsafe.Slice in itabInit X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=9777ceceec8fee294d038182739cab7c845ad2d1;p=gostls13.git runtime: use unsafe.Slice in itabInit As opposed to old style (*[1 << 16]T(p)[:n:n]. Change-Id: I6836f87741a2e2f6cef34f87cc839d15e309cc67 Reviewed-on: https://go-review.googlesource.com/c/go/+/726401 Reviewed-by: Dmitri Shuralyov Auto-Submit: Ian Lance Taylor Reviewed-by: Keith Randall LUCI-TryBot-Result: Go LUCI Reviewed-by: Keith Randall --- diff --git a/src/runtime/iface.go b/src/runtime/iface.go index 0665c4b984..c1f5f5b6e5 100644 --- a/src/runtime/iface.go +++ b/src/runtime/iface.go @@ -212,9 +212,9 @@ func itabInit(m *itab, firstTime bool) string { // the loop is O(ni+nt) not O(ni*nt). ni := len(inter.Methods) nt := int(x.Mcount) - xmhdr := (*[1 << 16]abi.Method)(add(unsafe.Pointer(x), uintptr(x.Moff)))[:nt:nt] + xmhdr := unsafe.Slice((*abi.Method)(add(unsafe.Pointer(x), uintptr(x.Moff))), nt) j := 0 - methods := (*[1 << 16]unsafe.Pointer)(unsafe.Pointer(&m.Fun[0]))[:ni:ni] + methods := unsafe.Slice((*unsafe.Pointer)(unsafe.Pointer(&m.Fun[0])), ni) var fun0 unsafe.Pointer imethods: for k := 0; k < ni; k++ {