/
githubmirror
/
go
Обзор
Документация
Войти
/
githubmirror
/
go
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
go1.24.13
test/codegen/ifaces.go
27 строк
621 B
Keith Randall
cmd/compile: use cache in front of type assert runtime call
06 окт 2023, 20:02
06 окт 2023, 20:02
cbcf8ef
Код
Авторство
О чём код?
// asmcheck // Copyright 2022 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. package codegen type I interface{ M() } func NopConvertIface(x I) I { // amd64:-`.*runtime.convI2I` return I(x) } func NopConvertGeneric[T any](x T) T { // amd64:-`.*runtime.convI2I` return T(x) } var NopConvertGenericIface = NopConvertGeneric[I] func ConvToM(x any) I { // amd64:`CALL\truntime.typeAssert`,`MOVL\t16\(.*\)`,`MOVQ\t8\(.*\)(.*\*1)` // arm64:`CALL\truntime.typeAssert`,`LDAR`,`MOVWU`,`MOVD\t\(R.*\)\(R.*\)` return x.(I) }