forked from TrueCloudLab/neoneo-go
797324cb04
Implement 3 new instructions: TRY,ENDTRY,ENDFINALLY. 1. TRY marks the start of the block where exceptions are catched. It has 2 arguments which are relative offsets of exception handler and the end of the whole try/catch construction. 2. ENDTRY denotes either end of try or catch block. 3. ENDFINALLY denotes end of finally block which is executed irregardless of whether an exception has occured.
393 lines
10 KiB
Go
393 lines
10 KiB
Go
// Code generated by "stringer -type=Opcode -linecomment"; DO NOT EDIT.
|
|
|
|
package opcode
|
|
|
|
import "strconv"
|
|
|
|
func _() {
|
|
// An "invalid array index" compiler error signifies that the constant values have changed.
|
|
// Re-run the stringer command to generate them again.
|
|
var x [1]struct{}
|
|
_ = x[PUSHINT8-0]
|
|
_ = x[PUSHINT16-1]
|
|
_ = x[PUSHINT32-2]
|
|
_ = x[PUSHINT64-3]
|
|
_ = x[PUSHINT128-4]
|
|
_ = x[PUSHINT256-5]
|
|
_ = x[PUSHA-10]
|
|
_ = x[PUSHNULL-11]
|
|
_ = x[PUSHDATA1-12]
|
|
_ = x[PUSHDATA2-13]
|
|
_ = x[PUSHDATA4-14]
|
|
_ = x[PUSHM1-15]
|
|
_ = x[PUSH0-16]
|
|
_ = x[PUSHF-16]
|
|
_ = x[PUSH1-17]
|
|
_ = x[PUSHT-17]
|
|
_ = x[PUSH2-18]
|
|
_ = x[PUSH3-19]
|
|
_ = x[PUSH4-20]
|
|
_ = x[PUSH5-21]
|
|
_ = x[PUSH6-22]
|
|
_ = x[PUSH7-23]
|
|
_ = x[PUSH8-24]
|
|
_ = x[PUSH9-25]
|
|
_ = x[PUSH10-26]
|
|
_ = x[PUSH11-27]
|
|
_ = x[PUSH12-28]
|
|
_ = x[PUSH13-29]
|
|
_ = x[PUSH14-30]
|
|
_ = x[PUSH15-31]
|
|
_ = x[PUSH16-32]
|
|
_ = x[NOP-33]
|
|
_ = x[JMP-34]
|
|
_ = x[JMPL-35]
|
|
_ = x[JMPIF-36]
|
|
_ = x[JMPIFL-37]
|
|
_ = x[JMPIFNOT-38]
|
|
_ = x[JMPIFNOTL-39]
|
|
_ = x[JMPEQ-40]
|
|
_ = x[JMPEQL-41]
|
|
_ = x[JMPNE-42]
|
|
_ = x[JMPNEL-43]
|
|
_ = x[JMPGT-44]
|
|
_ = x[JMPGTL-45]
|
|
_ = x[JMPGE-46]
|
|
_ = x[JMPGEL-47]
|
|
_ = x[JMPLT-48]
|
|
_ = x[JMPLTL-49]
|
|
_ = x[JMPLE-50]
|
|
_ = x[JMPLEL-51]
|
|
_ = x[CALL-52]
|
|
_ = x[CALLL-53]
|
|
_ = x[CALLA-54]
|
|
_ = x[ABORT-55]
|
|
_ = x[ASSERT-56]
|
|
_ = x[THROW-58]
|
|
_ = x[TRY-59]
|
|
_ = x[TRYL-60]
|
|
_ = x[ENDTRY-61]
|
|
_ = x[ENDTRYL-62]
|
|
_ = x[ENDFINALLY-63]
|
|
_ = x[RET-64]
|
|
_ = x[SYSCALL-65]
|
|
_ = x[DEPTH-67]
|
|
_ = x[DROP-69]
|
|
_ = x[NIP-70]
|
|
_ = x[XDROP-72]
|
|
_ = x[CLEAR-73]
|
|
_ = x[DUP-74]
|
|
_ = x[OVER-75]
|
|
_ = x[PICK-77]
|
|
_ = x[TUCK-78]
|
|
_ = x[SWAP-80]
|
|
_ = x[ROT-81]
|
|
_ = x[ROLL-82]
|
|
_ = x[REVERSE3-83]
|
|
_ = x[REVERSE4-84]
|
|
_ = x[REVERSEN-85]
|
|
_ = x[INITSSLOT-86]
|
|
_ = x[INITSLOT-87]
|
|
_ = x[LDSFLD0-88]
|
|
_ = x[LDSFLD1-89]
|
|
_ = x[LDSFLD2-90]
|
|
_ = x[LDSFLD3-91]
|
|
_ = x[LDSFLD4-92]
|
|
_ = x[LDSFLD5-93]
|
|
_ = x[LDSFLD6-94]
|
|
_ = x[LDSFLD-95]
|
|
_ = x[STSFLD0-96]
|
|
_ = x[STSFLD1-97]
|
|
_ = x[STSFLD2-98]
|
|
_ = x[STSFLD3-99]
|
|
_ = x[STSFLD4-100]
|
|
_ = x[STSFLD5-101]
|
|
_ = x[STSFLD6-102]
|
|
_ = x[STSFLD-103]
|
|
_ = x[LDLOC0-104]
|
|
_ = x[LDLOC1-105]
|
|
_ = x[LDLOC2-106]
|
|
_ = x[LDLOC3-107]
|
|
_ = x[LDLOC4-108]
|
|
_ = x[LDLOC5-109]
|
|
_ = x[LDLOC6-110]
|
|
_ = x[LDLOC-111]
|
|
_ = x[STLOC0-112]
|
|
_ = x[STLOC1-113]
|
|
_ = x[STLOC2-114]
|
|
_ = x[STLOC3-115]
|
|
_ = x[STLOC4-116]
|
|
_ = x[STLOC5-117]
|
|
_ = x[STLOC6-118]
|
|
_ = x[STLOC-119]
|
|
_ = x[LDARG0-120]
|
|
_ = x[LDARG1-121]
|
|
_ = x[LDARG2-122]
|
|
_ = x[LDARG3-123]
|
|
_ = x[LDARG4-124]
|
|
_ = x[LDARG5-125]
|
|
_ = x[LDARG6-126]
|
|
_ = x[LDARG-127]
|
|
_ = x[STARG0-128]
|
|
_ = x[STARG1-129]
|
|
_ = x[STARG2-130]
|
|
_ = x[STARG3-131]
|
|
_ = x[STARG4-132]
|
|
_ = x[STARG5-133]
|
|
_ = x[STARG6-134]
|
|
_ = x[STARG-135]
|
|
_ = x[NEWBUFFER-136]
|
|
_ = x[MEMCPY-137]
|
|
_ = x[CAT-139]
|
|
_ = x[SUBSTR-140]
|
|
_ = x[LEFT-141]
|
|
_ = x[RIGHT-142]
|
|
_ = x[INVERT-144]
|
|
_ = x[AND-145]
|
|
_ = x[OR-146]
|
|
_ = x[XOR-147]
|
|
_ = x[EQUAL-151]
|
|
_ = x[NOTEQUAL-152]
|
|
_ = x[SIGN-153]
|
|
_ = x[ABS-154]
|
|
_ = x[NEGATE-155]
|
|
_ = x[INC-156]
|
|
_ = x[DEC-157]
|
|
_ = x[ADD-158]
|
|
_ = x[SUB-159]
|
|
_ = x[MUL-160]
|
|
_ = x[DIV-161]
|
|
_ = x[MOD-162]
|
|
_ = x[SHL-168]
|
|
_ = x[SHR-169]
|
|
_ = x[NOT-170]
|
|
_ = x[BOOLAND-171]
|
|
_ = x[BOOLOR-172]
|
|
_ = x[NZ-177]
|
|
_ = x[NUMEQUAL-179]
|
|
_ = x[NUMNOTEQUAL-180]
|
|
_ = x[LT-181]
|
|
_ = x[LTE-182]
|
|
_ = x[GT-183]
|
|
_ = x[GTE-184]
|
|
_ = x[MIN-185]
|
|
_ = x[MAX-186]
|
|
_ = x[WITHIN-187]
|
|
_ = x[PACK-192]
|
|
_ = x[UNPACK-193]
|
|
_ = x[NEWARRAY0-194]
|
|
_ = x[NEWARRAY-195]
|
|
_ = x[NEWARRAYT-196]
|
|
_ = x[NEWSTRUCT0-197]
|
|
_ = x[NEWSTRUCT-198]
|
|
_ = x[NEWMAP-200]
|
|
_ = x[SIZE-202]
|
|
_ = x[HASKEY-203]
|
|
_ = x[KEYS-204]
|
|
_ = x[VALUES-205]
|
|
_ = x[PICKITEM-206]
|
|
_ = x[APPEND-207]
|
|
_ = x[SETITEM-208]
|
|
_ = x[REVERSEITEMS-209]
|
|
_ = x[REMOVE-210]
|
|
_ = x[CLEARITEMS-211]
|
|
_ = x[ISNULL-216]
|
|
_ = x[ISTYPE-217]
|
|
_ = x[CONVERT-219]
|
|
}
|
|
|
|
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHAPUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMP_LJMPIFJMPIF_LJMPIFNOTJMPIFNOT_LJMPEQJMPEQ_LJMPNEJMPNE_LJMPGTJMPGT_LJMPGEJMPGE_LJMPLTJMPLT_LJMPLEJMPLE_LCALLCALL_LCALLAABORTASSERTTHROWTRYTRY_LENDTRYENDTRY_LENDFINALLYRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPROTROLLREVERSE3REVERSE4REVERSENINITSSLOTINITSLOTLDSFLD0LDSFLD1LDSFLD2LDSFLD3LDSFLD4LDSFLD5LDSFLD6LDSFLDSTSFLD0STSFLD1STSFLD2STSFLD3STSFLD4STSFLD5STSFLD6STSFLDLDLOC0LDLOC1LDLOC2LDLOC3LDLOC4LDLOC5LDLOC6LDLOCSTLOC0STLOC1STLOC2STLOC3STLOC4STLOC5STLOC6STLOCLDARG0LDARG1LDARG2LDARG3LDARG4LDARG5LDARG6LDARGSTARG0STARG1STARG2STARG3STARG4STARG5STARG6STARGNEWBUFFERMEMCPYCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAY_TNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERT"
|
|
|
|
var _Opcode_map = map[Opcode]string{
|
|
0: _Opcode_name[0:8],
|
|
1: _Opcode_name[8:17],
|
|
2: _Opcode_name[17:26],
|
|
3: _Opcode_name[26:35],
|
|
4: _Opcode_name[35:45],
|
|
5: _Opcode_name[45:55],
|
|
10: _Opcode_name[55:60],
|
|
11: _Opcode_name[60:68],
|
|
12: _Opcode_name[68:77],
|
|
13: _Opcode_name[77:86],
|
|
14: _Opcode_name[86:95],
|
|
15: _Opcode_name[95:101],
|
|
16: _Opcode_name[101:106],
|
|
17: _Opcode_name[106:111],
|
|
18: _Opcode_name[111:116],
|
|
19: _Opcode_name[116:121],
|
|
20: _Opcode_name[121:126],
|
|
21: _Opcode_name[126:131],
|
|
22: _Opcode_name[131:136],
|
|
23: _Opcode_name[136:141],
|
|
24: _Opcode_name[141:146],
|
|
25: _Opcode_name[146:151],
|
|
26: _Opcode_name[151:157],
|
|
27: _Opcode_name[157:163],
|
|
28: _Opcode_name[163:169],
|
|
29: _Opcode_name[169:175],
|
|
30: _Opcode_name[175:181],
|
|
31: _Opcode_name[181:187],
|
|
32: _Opcode_name[187:193],
|
|
33: _Opcode_name[193:196],
|
|
34: _Opcode_name[196:199],
|
|
35: _Opcode_name[199:204],
|
|
36: _Opcode_name[204:209],
|
|
37: _Opcode_name[209:216],
|
|
38: _Opcode_name[216:224],
|
|
39: _Opcode_name[224:234],
|
|
40: _Opcode_name[234:239],
|
|
41: _Opcode_name[239:246],
|
|
42: _Opcode_name[246:251],
|
|
43: _Opcode_name[251:258],
|
|
44: _Opcode_name[258:263],
|
|
45: _Opcode_name[263:270],
|
|
46: _Opcode_name[270:275],
|
|
47: _Opcode_name[275:282],
|
|
48: _Opcode_name[282:287],
|
|
49: _Opcode_name[287:294],
|
|
50: _Opcode_name[294:299],
|
|
51: _Opcode_name[299:306],
|
|
52: _Opcode_name[306:310],
|
|
53: _Opcode_name[310:316],
|
|
54: _Opcode_name[316:321],
|
|
55: _Opcode_name[321:326],
|
|
56: _Opcode_name[326:332],
|
|
58: _Opcode_name[332:337],
|
|
59: _Opcode_name[337:340],
|
|
60: _Opcode_name[340:345],
|
|
61: _Opcode_name[345:351],
|
|
62: _Opcode_name[351:359],
|
|
63: _Opcode_name[359:369],
|
|
64: _Opcode_name[369:372],
|
|
65: _Opcode_name[372:379],
|
|
67: _Opcode_name[379:384],
|
|
69: _Opcode_name[384:388],
|
|
70: _Opcode_name[388:391],
|
|
72: _Opcode_name[391:396],
|
|
73: _Opcode_name[396:401],
|
|
74: _Opcode_name[401:404],
|
|
75: _Opcode_name[404:408],
|
|
77: _Opcode_name[408:412],
|
|
78: _Opcode_name[412:416],
|
|
80: _Opcode_name[416:420],
|
|
81: _Opcode_name[420:423],
|
|
82: _Opcode_name[423:427],
|
|
83: _Opcode_name[427:435],
|
|
84: _Opcode_name[435:443],
|
|
85: _Opcode_name[443:451],
|
|
86: _Opcode_name[451:460],
|
|
87: _Opcode_name[460:468],
|
|
88: _Opcode_name[468:475],
|
|
89: _Opcode_name[475:482],
|
|
90: _Opcode_name[482:489],
|
|
91: _Opcode_name[489:496],
|
|
92: _Opcode_name[496:503],
|
|
93: _Opcode_name[503:510],
|
|
94: _Opcode_name[510:517],
|
|
95: _Opcode_name[517:523],
|
|
96: _Opcode_name[523:530],
|
|
97: _Opcode_name[530:537],
|
|
98: _Opcode_name[537:544],
|
|
99: _Opcode_name[544:551],
|
|
100: _Opcode_name[551:558],
|
|
101: _Opcode_name[558:565],
|
|
102: _Opcode_name[565:572],
|
|
103: _Opcode_name[572:578],
|
|
104: _Opcode_name[578:584],
|
|
105: _Opcode_name[584:590],
|
|
106: _Opcode_name[590:596],
|
|
107: _Opcode_name[596:602],
|
|
108: _Opcode_name[602:608],
|
|
109: _Opcode_name[608:614],
|
|
110: _Opcode_name[614:620],
|
|
111: _Opcode_name[620:625],
|
|
112: _Opcode_name[625:631],
|
|
113: _Opcode_name[631:637],
|
|
114: _Opcode_name[637:643],
|
|
115: _Opcode_name[643:649],
|
|
116: _Opcode_name[649:655],
|
|
117: _Opcode_name[655:661],
|
|
118: _Opcode_name[661:667],
|
|
119: _Opcode_name[667:672],
|
|
120: _Opcode_name[672:678],
|
|
121: _Opcode_name[678:684],
|
|
122: _Opcode_name[684:690],
|
|
123: _Opcode_name[690:696],
|
|
124: _Opcode_name[696:702],
|
|
125: _Opcode_name[702:708],
|
|
126: _Opcode_name[708:714],
|
|
127: _Opcode_name[714:719],
|
|
128: _Opcode_name[719:725],
|
|
129: _Opcode_name[725:731],
|
|
130: _Opcode_name[731:737],
|
|
131: _Opcode_name[737:743],
|
|
132: _Opcode_name[743:749],
|
|
133: _Opcode_name[749:755],
|
|
134: _Opcode_name[755:761],
|
|
135: _Opcode_name[761:766],
|
|
136: _Opcode_name[766:775],
|
|
137: _Opcode_name[775:781],
|
|
139: _Opcode_name[781:784],
|
|
140: _Opcode_name[784:790],
|
|
141: _Opcode_name[790:794],
|
|
142: _Opcode_name[794:799],
|
|
144: _Opcode_name[799:805],
|
|
145: _Opcode_name[805:808],
|
|
146: _Opcode_name[808:810],
|
|
147: _Opcode_name[810:813],
|
|
151: _Opcode_name[813:818],
|
|
152: _Opcode_name[818:826],
|
|
153: _Opcode_name[826:830],
|
|
154: _Opcode_name[830:833],
|
|
155: _Opcode_name[833:839],
|
|
156: _Opcode_name[839:842],
|
|
157: _Opcode_name[842:845],
|
|
158: _Opcode_name[845:848],
|
|
159: _Opcode_name[848:851],
|
|
160: _Opcode_name[851:854],
|
|
161: _Opcode_name[854:857],
|
|
162: _Opcode_name[857:860],
|
|
168: _Opcode_name[860:863],
|
|
169: _Opcode_name[863:866],
|
|
170: _Opcode_name[866:869],
|
|
171: _Opcode_name[869:876],
|
|
172: _Opcode_name[876:882],
|
|
177: _Opcode_name[882:884],
|
|
179: _Opcode_name[884:892],
|
|
180: _Opcode_name[892:903],
|
|
181: _Opcode_name[903:905],
|
|
182: _Opcode_name[905:908],
|
|
183: _Opcode_name[908:910],
|
|
184: _Opcode_name[910:913],
|
|
185: _Opcode_name[913:916],
|
|
186: _Opcode_name[916:919],
|
|
187: _Opcode_name[919:925],
|
|
192: _Opcode_name[925:929],
|
|
193: _Opcode_name[929:935],
|
|
194: _Opcode_name[935:944],
|
|
195: _Opcode_name[944:952],
|
|
196: _Opcode_name[952:962],
|
|
197: _Opcode_name[962:972],
|
|
198: _Opcode_name[972:981],
|
|
200: _Opcode_name[981:987],
|
|
202: _Opcode_name[987:991],
|
|
203: _Opcode_name[991:997],
|
|
204: _Opcode_name[997:1001],
|
|
205: _Opcode_name[1001:1007],
|
|
206: _Opcode_name[1007:1015],
|
|
207: _Opcode_name[1015:1021],
|
|
208: _Opcode_name[1021:1028],
|
|
209: _Opcode_name[1028:1040],
|
|
210: _Opcode_name[1040:1046],
|
|
211: _Opcode_name[1046:1056],
|
|
216: _Opcode_name[1056:1062],
|
|
217: _Opcode_name[1062:1068],
|
|
219: _Opcode_name[1068:1075],
|
|
}
|
|
|
|
func (i Opcode) String() string {
|
|
if str, ok := _Opcode_map[i]; ok {
|
|
return str
|
|
}
|
|
return "Opcode(" + strconv.FormatInt(int64(i), 10) + ")"
|
|
}
|