[dev.regabi] cmd/compile: add OMETHEXPR

This CL is obviously OK but does not pass toolstash -cmp,
because it renumbers the Op codes. In a separate CL so that
we can use toolstash -cmp on the CL with real changes
related to OMETHEXPR.

Change-Id: I1db978e3f2652b3bdf51f7981a3ba5137641c8c7
Reviewed-on: https://go-review.googlesource.com/c/go/+/272866
Trust: Russ Cox <rsc@golang.org>
Run-TryBot: Russ Cox <rsc@golang.org>
TryBot-Result: Go Bot <gobot@golang.org>
Reviewed-by: Matthew Dempsky <mdempsky@google.com>
This commit is contained in:
Russ Cox 2020-11-24 10:25:41 -05:00
parent fd11a32c92
commit 4f9d54e41d
2 changed files with 45 additions and 43 deletions

View file

@ -121,52 +121,53 @@ func _() {
_ = x[OALIGNOF-110] _ = x[OALIGNOF-110]
_ = x[OOFFSETOF-111] _ = x[OOFFSETOF-111]
_ = x[OSIZEOF-112] _ = x[OSIZEOF-112]
_ = x[OBLOCK-113] _ = x[OMETHEXPR-113]
_ = x[OBREAK-114] _ = x[OBLOCK-114]
_ = x[OCASE-115] _ = x[OBREAK-115]
_ = x[OCONTINUE-116] _ = x[OCASE-116]
_ = x[ODEFER-117] _ = x[OCONTINUE-117]
_ = x[OEMPTY-118] _ = x[ODEFER-118]
_ = x[OFALL-119] _ = x[OEMPTY-119]
_ = x[OFOR-120] _ = x[OFALL-120]
_ = x[OFORUNTIL-121] _ = x[OFOR-121]
_ = x[OGOTO-122] _ = x[OFORUNTIL-122]
_ = x[OIF-123] _ = x[OGOTO-123]
_ = x[OLABEL-124] _ = x[OIF-124]
_ = x[OGO-125] _ = x[OLABEL-125]
_ = x[ORANGE-126] _ = x[OGO-126]
_ = x[ORETURN-127] _ = x[ORANGE-127]
_ = x[OSELECT-128] _ = x[ORETURN-128]
_ = x[OSWITCH-129] _ = x[OSELECT-129]
_ = x[OTYPESW-130] _ = x[OSWITCH-130]
_ = x[OTCHAN-131] _ = x[OTYPESW-131]
_ = x[OTMAP-132] _ = x[OTCHAN-132]
_ = x[OTSTRUCT-133] _ = x[OTMAP-133]
_ = x[OTINTER-134] _ = x[OTSTRUCT-134]
_ = x[OTFUNC-135] _ = x[OTINTER-135]
_ = x[OTARRAY-136] _ = x[OTFUNC-136]
_ = x[ODDD-137] _ = x[OTARRAY-137]
_ = x[OINLCALL-138] _ = x[ODDD-138]
_ = x[OEFACE-139] _ = x[OINLCALL-139]
_ = x[OITAB-140] _ = x[OEFACE-140]
_ = x[OIDATA-141] _ = x[OITAB-141]
_ = x[OSPTR-142] _ = x[OIDATA-142]
_ = x[OCLOSUREVAR-143] _ = x[OSPTR-143]
_ = x[OCFUNC-144] _ = x[OCLOSUREVAR-144]
_ = x[OCHECKNIL-145] _ = x[OCFUNC-145]
_ = x[OVARDEF-146] _ = x[OCHECKNIL-146]
_ = x[OVARKILL-147] _ = x[OVARDEF-147]
_ = x[OVARLIVE-148] _ = x[OVARKILL-148]
_ = x[ORESULT-149] _ = x[OVARLIVE-149]
_ = x[OINLMARK-150] _ = x[ORESULT-150]
_ = x[ORETJMP-151] _ = x[OINLMARK-151]
_ = x[OGETG-152] _ = x[ORETJMP-152]
_ = x[OEND-153] _ = x[OGETG-153]
_ = x[OEND-154]
} }
const _Op_name = "XXXNAMENONAMETYPEPACKLITERALNILADDSUBORXORADDSTRADDRANDANDAPPENDBYTES2STRBYTES2STRTMPRUNES2STRSTR2BYTESSTR2BYTESTMPSTR2RUNESASAS2AS2DOTTYPEAS2FUNCAS2MAPRAS2RECVASOPCALLCALLFUNCCALLMETHCALLINTERCALLPARTCAPCLOSECLOSURECOMPLITMAPLITSTRUCTLITARRAYLITSLICELITPTRLITCONVCONVIFACECONVNOPCOPYDCLDCLFUNCDCLFIELDDCLCONSTDCLTYPEDELETEDOTDOTPTRDOTMETHDOTINTERXDOTDOTTYPEDOTTYPE2EQNELTLEGEGTDEREFINDEXINDEXMAPKEYSTRUCTKEYLENMAKEMAKECHANMAKEMAPMAKESLICEMAKESLICECOPYMULDIVMODLSHRSHANDANDNOTNEWNEWOBJNOTBITNOTPLUSNEGORORPANICPRINTPRINTNPARENSENDSLICESLICEARRSLICESTRSLICE3SLICE3ARRSLICEHEADERRECOVERRECVRUNESTRSELRECVSELRECV2IOTAREALIMAGCOMPLEXALIGNOFOFFSETOFSIZEOFBLOCKBREAKCASECONTINUEDEFEREMPTYFALLFORFORUNTILGOTOIFLABELGORANGERETURNSELECTSWITCHTYPESWTCHANTMAPTSTRUCTTINTERTFUNCTARRAYDDDINLCALLEFACEITABIDATASPTRCLOSUREVARCFUNCCHECKNILVARDEFVARKILLVARLIVERESULTINLMARKRETJMPGETGEND" const _Op_name = "XXXNAMENONAMETYPEPACKLITERALNILADDSUBORXORADDSTRADDRANDANDAPPENDBYTES2STRBYTES2STRTMPRUNES2STRSTR2BYTESSTR2BYTESTMPSTR2RUNESASAS2AS2DOTTYPEAS2FUNCAS2MAPRAS2RECVASOPCALLCALLFUNCCALLMETHCALLINTERCALLPARTCAPCLOSECLOSURECOMPLITMAPLITSTRUCTLITARRAYLITSLICELITPTRLITCONVCONVIFACECONVNOPCOPYDCLDCLFUNCDCLFIELDDCLCONSTDCLTYPEDELETEDOTDOTPTRDOTMETHDOTINTERXDOTDOTTYPEDOTTYPE2EQNELTLEGEGTDEREFINDEXINDEXMAPKEYSTRUCTKEYLENMAKEMAKECHANMAKEMAPMAKESLICEMAKESLICECOPYMULDIVMODLSHRSHANDANDNOTNEWNEWOBJNOTBITNOTPLUSNEGORORPANICPRINTPRINTNPARENSENDSLICESLICEARRSLICESTRSLICE3SLICE3ARRSLICEHEADERRECOVERRECVRUNESTRSELRECVSELRECV2IOTAREALIMAGCOMPLEXALIGNOFOFFSETOFSIZEOFMETHEXPRBLOCKBREAKCASECONTINUEDEFEREMPTYFALLFORFORUNTILGOTOIFLABELGORANGERETURNSELECTSWITCHTYPESWTCHANTMAPTSTRUCTTINTERTFUNCTARRAYDDDINLCALLEFACEITABIDATASPTRCLOSUREVARCFUNCCHECKNILVARDEFVARKILLVARLIVERESULTINLMARKRETJMPGETGEND"
var _Op_index = [...]uint16{0, 3, 7, 13, 17, 21, 28, 31, 34, 37, 39, 42, 48, 52, 58, 64, 73, 85, 94, 103, 115, 124, 126, 129, 139, 146, 153, 160, 164, 168, 176, 184, 193, 201, 204, 209, 216, 223, 229, 238, 246, 254, 260, 264, 273, 280, 284, 287, 294, 302, 310, 317, 323, 326, 332, 339, 347, 351, 358, 366, 368, 370, 372, 374, 376, 378, 383, 388, 396, 399, 408, 411, 415, 423, 430, 439, 452, 455, 458, 461, 464, 467, 470, 476, 479, 485, 488, 494, 498, 501, 505, 510, 515, 521, 526, 530, 535, 543, 551, 557, 566, 577, 584, 588, 595, 602, 610, 614, 618, 622, 629, 636, 644, 650, 655, 660, 664, 672, 677, 682, 686, 689, 697, 701, 703, 708, 710, 715, 721, 727, 733, 739, 744, 748, 755, 761, 766, 772, 775, 782, 787, 791, 796, 800, 810, 815, 823, 829, 836, 843, 849, 856, 862, 866, 869} var _Op_index = [...]uint16{0, 3, 7, 13, 17, 21, 28, 31, 34, 37, 39, 42, 48, 52, 58, 64, 73, 85, 94, 103, 115, 124, 126, 129, 139, 146, 153, 160, 164, 168, 176, 184, 193, 201, 204, 209, 216, 223, 229, 238, 246, 254, 260, 264, 273, 280, 284, 287, 294, 302, 310, 317, 323, 326, 332, 339, 347, 351, 358, 366, 368, 370, 372, 374, 376, 378, 383, 388, 396, 399, 408, 411, 415, 423, 430, 439, 452, 455, 458, 461, 464, 467, 470, 476, 479, 485, 488, 494, 498, 501, 505, 510, 515, 521, 526, 530, 535, 543, 551, 557, 566, 577, 584, 588, 595, 602, 610, 614, 618, 622, 629, 636, 644, 650, 658, 663, 668, 672, 680, 685, 690, 694, 697, 705, 709, 711, 716, 718, 723, 729, 735, 741, 747, 752, 756, 763, 769, 774, 780, 783, 790, 795, 799, 804, 808, 818, 823, 831, 837, 844, 851, 857, 864, 870, 874, 877}
func (i Op) String() string { func (i Op) String() string {
if i >= Op(len(_Op_index)-1) { if i >= Op(len(_Op_index)-1) {

View file

@ -891,6 +891,7 @@ const (
OALIGNOF // unsafe.Alignof(Left) OALIGNOF // unsafe.Alignof(Left)
OOFFSETOF // unsafe.Offsetof(Left) OOFFSETOF // unsafe.Offsetof(Left)
OSIZEOF // unsafe.Sizeof(Left) OSIZEOF // unsafe.Sizeof(Left)
OMETHEXPR // method expression
// statements // statements
OBLOCK // { List } (block of code) OBLOCK // { List } (block of code)