mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-07 15:07:36 +00:00
opcode: add CALLT opcode, move ABORT/ASSERT
Refs. #1644. Hash compatibility test temporarily disabled, to be enabled when it's up to date with current C# master.
This commit is contained in:
parent
09ca2cc6e3
commit
f39ede9869
7 changed files with 156 additions and 152 deletions
|
@ -61,8 +61,9 @@ func _() {
|
|||
_ = x[CALL-52]
|
||||
_ = x[CALLL-53]
|
||||
_ = x[CALLA-54]
|
||||
_ = x[ABORT-55]
|
||||
_ = x[ASSERT-56]
|
||||
_ = x[CALLT-55]
|
||||
_ = x[ABORT-56]
|
||||
_ = x[ASSERT-57]
|
||||
_ = x[THROW-58]
|
||||
_ = x[TRY-59]
|
||||
_ = x[TRYL-60]
|
||||
|
@ -196,7 +197,7 @@ func _() {
|
|||
_ = x[CONVERT-219]
|
||||
}
|
||||
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHAPUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMP_LJMPIFJMPIF_LJMPIFNOTJMPIFNOT_LJMPEQJMPEQ_LJMPNEJMPNE_LJMPGTJMPGT_LJMPGEJMPGE_LJMPLTJMPLT_LJMPLEJMPLE_LCALLCALL_LCALLAABORTASSERTTHROWTRYTRY_LENDTRYENDTRY_LENDFINALLYRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPROTROLLREVERSE3REVERSE4REVERSENINITSSLOTINITSLOTLDSFLD0LDSFLD1LDSFLD2LDSFLD3LDSFLD4LDSFLD5LDSFLD6LDSFLDSTSFLD0STSFLD1STSFLD2STSFLD3STSFLD4STSFLD5STSFLD6STSFLDLDLOC0LDLOC1LDLOC2LDLOC3LDLOC4LDLOC5LDLOC6LDLOCSTLOC0STLOC1STLOC2STLOC3STLOC4STLOC5STLOC6STLOCLDARG0LDARG1LDARG2LDARG3LDARG4LDARG5LDARG6LDARGSTARG0STARG1STARG2STARG3STARG4STARG5STARG6STARGNEWBUFFERMEMCPYCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAY_TNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERT"
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHAPUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMP_LJMPIFJMPIF_LJMPIFNOTJMPIFNOT_LJMPEQJMPEQ_LJMPNEJMPNE_LJMPGTJMPGT_LJMPGEJMPGE_LJMPLTJMPLT_LJMPLEJMPLE_LCALLCALL_LCALLACALLTABORTASSERTTHROWTRYTRY_LENDTRYENDTRY_LENDFINALLYRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPROTROLLREVERSE3REVERSE4REVERSENINITSSLOTINITSLOTLDSFLD0LDSFLD1LDSFLD2LDSFLD3LDSFLD4LDSFLD5LDSFLD6LDSFLDSTSFLD0STSFLD1STSFLD2STSFLD3STSFLD4STSFLD5STSFLD6STSFLDLDLOC0LDLOC1LDLOC2LDLOC3LDLOC4LDLOC5LDLOC6LDLOCSTLOC0STLOC1STLOC2STLOC3STLOC4STLOC5STLOC6STLOCLDARG0LDARG1LDARG2LDARG3LDARG4LDARG5LDARG6LDARGSTARG0STARG1STARG2STARG3STARG4STARG5STARG6STARGNEWBUFFERMEMCPYCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAY_TNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERT"
|
||||
|
||||
var _Opcode_map = map[Opcode]string{
|
||||
0: _Opcode_name[0:8],
|
||||
|
@ -251,138 +252,139 @@ var _Opcode_map = map[Opcode]string{
|
|||
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],
|
||||
56: _Opcode_name[326:331],
|
||||
57: _Opcode_name[331:337],
|
||||
58: _Opcode_name[337:342],
|
||||
59: _Opcode_name[342:345],
|
||||
60: _Opcode_name[345:350],
|
||||
61: _Opcode_name[350:356],
|
||||
62: _Opcode_name[356:364],
|
||||
63: _Opcode_name[364:374],
|
||||
64: _Opcode_name[374:377],
|
||||
65: _Opcode_name[377:384],
|
||||
67: _Opcode_name[384:389],
|
||||
69: _Opcode_name[389:393],
|
||||
70: _Opcode_name[393:396],
|
||||
72: _Opcode_name[396:401],
|
||||
73: _Opcode_name[401:406],
|
||||
74: _Opcode_name[406:409],
|
||||
75: _Opcode_name[409:413],
|
||||
77: _Opcode_name[413:417],
|
||||
78: _Opcode_name[417:421],
|
||||
80: _Opcode_name[421:425],
|
||||
81: _Opcode_name[425:428],
|
||||
82: _Opcode_name[428:432],
|
||||
83: _Opcode_name[432:440],
|
||||
84: _Opcode_name[440:448],
|
||||
85: _Opcode_name[448:456],
|
||||
86: _Opcode_name[456:465],
|
||||
87: _Opcode_name[465:473],
|
||||
88: _Opcode_name[473:480],
|
||||
89: _Opcode_name[480:487],
|
||||
90: _Opcode_name[487:494],
|
||||
91: _Opcode_name[494:501],
|
||||
92: _Opcode_name[501:508],
|
||||
93: _Opcode_name[508:515],
|
||||
94: _Opcode_name[515:522],
|
||||
95: _Opcode_name[522:528],
|
||||
96: _Opcode_name[528:535],
|
||||
97: _Opcode_name[535:542],
|
||||
98: _Opcode_name[542:549],
|
||||
99: _Opcode_name[549:556],
|
||||
100: _Opcode_name[556:563],
|
||||
101: _Opcode_name[563:570],
|
||||
102: _Opcode_name[570:577],
|
||||
103: _Opcode_name[577:583],
|
||||
104: _Opcode_name[583:589],
|
||||
105: _Opcode_name[589:595],
|
||||
106: _Opcode_name[595:601],
|
||||
107: _Opcode_name[601:607],
|
||||
108: _Opcode_name[607:613],
|
||||
109: _Opcode_name[613:619],
|
||||
110: _Opcode_name[619:625],
|
||||
111: _Opcode_name[625:630],
|
||||
112: _Opcode_name[630:636],
|
||||
113: _Opcode_name[636:642],
|
||||
114: _Opcode_name[642:648],
|
||||
115: _Opcode_name[648:654],
|
||||
116: _Opcode_name[654:660],
|
||||
117: _Opcode_name[660:666],
|
||||
118: _Opcode_name[666:672],
|
||||
119: _Opcode_name[672:677],
|
||||
120: _Opcode_name[677:683],
|
||||
121: _Opcode_name[683:689],
|
||||
122: _Opcode_name[689:695],
|
||||
123: _Opcode_name[695:701],
|
||||
124: _Opcode_name[701:707],
|
||||
125: _Opcode_name[707:713],
|
||||
126: _Opcode_name[713:719],
|
||||
127: _Opcode_name[719:724],
|
||||
128: _Opcode_name[724:730],
|
||||
129: _Opcode_name[730:736],
|
||||
130: _Opcode_name[736:742],
|
||||
131: _Opcode_name[742:748],
|
||||
132: _Opcode_name[748:754],
|
||||
133: _Opcode_name[754:760],
|
||||
134: _Opcode_name[760:766],
|
||||
135: _Opcode_name[766:771],
|
||||
136: _Opcode_name[771:780],
|
||||
137: _Opcode_name[780:786],
|
||||
139: _Opcode_name[786:789],
|
||||
140: _Opcode_name[789:795],
|
||||
141: _Opcode_name[795:799],
|
||||
142: _Opcode_name[799:804],
|
||||
144: _Opcode_name[804:810],
|
||||
145: _Opcode_name[810:813],
|
||||
146: _Opcode_name[813:815],
|
||||
147: _Opcode_name[815:818],
|
||||
151: _Opcode_name[818:823],
|
||||
152: _Opcode_name[823:831],
|
||||
153: _Opcode_name[831:835],
|
||||
154: _Opcode_name[835:838],
|
||||
155: _Opcode_name[838:844],
|
||||
156: _Opcode_name[844:847],
|
||||
157: _Opcode_name[847:850],
|
||||
158: _Opcode_name[850:853],
|
||||
159: _Opcode_name[853:856],
|
||||
160: _Opcode_name[856:859],
|
||||
161: _Opcode_name[859:862],
|
||||
162: _Opcode_name[862:865],
|
||||
168: _Opcode_name[865:868],
|
||||
169: _Opcode_name[868:871],
|
||||
170: _Opcode_name[871:874],
|
||||
171: _Opcode_name[874:881],
|
||||
172: _Opcode_name[881:887],
|
||||
177: _Opcode_name[887:889],
|
||||
179: _Opcode_name[889:897],
|
||||
180: _Opcode_name[897:908],
|
||||
181: _Opcode_name[908:910],
|
||||
182: _Opcode_name[910:913],
|
||||
183: _Opcode_name[913:915],
|
||||
184: _Opcode_name[915:918],
|
||||
185: _Opcode_name[918:921],
|
||||
186: _Opcode_name[921:924],
|
||||
187: _Opcode_name[924:930],
|
||||
192: _Opcode_name[930:934],
|
||||
193: _Opcode_name[934:940],
|
||||
194: _Opcode_name[940:949],
|
||||
195: _Opcode_name[949:957],
|
||||
196: _Opcode_name[957:967],
|
||||
197: _Opcode_name[967:977],
|
||||
198: _Opcode_name[977:986],
|
||||
200: _Opcode_name[986:992],
|
||||
202: _Opcode_name[992:996],
|
||||
203: _Opcode_name[996:1002],
|
||||
204: _Opcode_name[1002:1006],
|
||||
205: _Opcode_name[1006:1012],
|
||||
206: _Opcode_name[1012:1020],
|
||||
207: _Opcode_name[1020:1026],
|
||||
208: _Opcode_name[1026:1033],
|
||||
209: _Opcode_name[1033:1045],
|
||||
210: _Opcode_name[1045:1051],
|
||||
211: _Opcode_name[1051:1061],
|
||||
216: _Opcode_name[1061:1067],
|
||||
217: _Opcode_name[1067:1073],
|
||||
219: _Opcode_name[1073:1080],
|
||||
}
|
||||
|
||||
func (i Opcode) String() string {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue