mirror of
https://github.com/nspcc-dev/neo-go.git
synced 2025-05-07 15:07:36 +00:00
vm,compiler: replace APPCALL with System.Contract.Call
Contract calls are performed via syscall System.Contract.Call in NEO3. This implements this in compiler and removes APPCALL from the VM.
This commit is contained in:
parent
ec900c7ff7
commit
73c82584a3
13 changed files with 108 additions and 241 deletions
|
@ -80,8 +80,6 @@ func _() {
|
|||
_ = x[REVERSE3-83]
|
||||
_ = x[REVERSE4-84]
|
||||
_ = x[REVERSEN-85]
|
||||
_ = x[APPCALL-103]
|
||||
_ = x[TAILCALL-105]
|
||||
_ = x[DUPFROMALTSTACK-106]
|
||||
_ = x[TOALTSTACK-107]
|
||||
_ = x[FROMALTSTACK-108]
|
||||
|
@ -143,7 +141,7 @@ func _() {
|
|||
_ = x[CONVERT-219]
|
||||
}
|
||||
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLABORTASSERTTHROWRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLREVERSE3REVERSE4REVERSENAPPCALLTAILCALLDUPFROMALTSTACKTOALTSTACKFROMALTSTACKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERT"
|
||||
const _Opcode_name = "PUSHINT8PUSHINT16PUSHINT32PUSHINT64PUSHINT128PUSHINT256PUSHNULLPUSHDATA1PUSHDATA2PUSHDATA4PUSHM1PUSH0PUSH1PUSH2PUSH3PUSH4PUSH5PUSH6PUSH7PUSH8PUSH9PUSH10PUSH11PUSH12PUSH13PUSH14PUSH15PUSH16NOPJMPJMPLJMPIFJMPIFLJMPIFNOTJMPIFNOTLJMPEQJMPEQLJMPNEJMPNELJMPGTJMPGTLJMPGEJMPGELJMPLTJMPLTLJMPLEJMPLELCALLCALLLABORTASSERTTHROWRETSYSCALLDEPTHDROPNIPXDROPCLEARDUPOVERPICKTUCKSWAPOLDPUSH1ROLLREVERSE3REVERSE4REVERSENDUPFROMALTSTACKTOALTSTACKFROMALTSTACKCATSUBSTRLEFTRIGHTINVERTANDORXOREQUALNOTEQUALSIGNABSNEGATEINCDECADDSUBMULDIVMODSHLSHRNOTBOOLANDBOOLORNZNUMEQUALNUMNOTEQUALLTLTEGTGTEMINMAXWITHINPACKUNPACKNEWARRAY0NEWARRAYNEWARRAYTNEWSTRUCT0NEWSTRUCTNEWMAPSIZEHASKEYKEYSVALUESPICKITEMAPPENDSETITEMREVERSEITEMSREMOVECLEARITEMSISNULLISTYPECONVERT"
|
||||
|
||||
var _Opcode_map = map[Opcode]string{
|
||||
0: _Opcode_name[0:8],
|
||||
|
@ -215,67 +213,65 @@ var _Opcode_map = map[Opcode]string{
|
|||
83: _Opcode_name[380:388],
|
||||
84: _Opcode_name[388:396],
|
||||
85: _Opcode_name[396:404],
|
||||
103: _Opcode_name[404:411],
|
||||
105: _Opcode_name[411:419],
|
||||
106: _Opcode_name[419:434],
|
||||
107: _Opcode_name[434:444],
|
||||
108: _Opcode_name[444:456],
|
||||
126: _Opcode_name[456:459],
|
||||
127: _Opcode_name[459:465],
|
||||
128: _Opcode_name[465:469],
|
||||
129: _Opcode_name[469:474],
|
||||
144: _Opcode_name[474:480],
|
||||
145: _Opcode_name[480:483],
|
||||
146: _Opcode_name[483:485],
|
||||
147: _Opcode_name[485:488],
|
||||
151: _Opcode_name[488:493],
|
||||
152: _Opcode_name[493:501],
|
||||
153: _Opcode_name[501:505],
|
||||
154: _Opcode_name[505:508],
|
||||
155: _Opcode_name[508:514],
|
||||
156: _Opcode_name[514:517],
|
||||
157: _Opcode_name[517:520],
|
||||
158: _Opcode_name[520:523],
|
||||
159: _Opcode_name[523:526],
|
||||
160: _Opcode_name[526:529],
|
||||
161: _Opcode_name[529:532],
|
||||
162: _Opcode_name[532:535],
|
||||
168: _Opcode_name[535:538],
|
||||
169: _Opcode_name[538:541],
|
||||
170: _Opcode_name[541:544],
|
||||
171: _Opcode_name[544:551],
|
||||
172: _Opcode_name[551:557],
|
||||
177: _Opcode_name[557:559],
|
||||
179: _Opcode_name[559:567],
|
||||
180: _Opcode_name[567:578],
|
||||
181: _Opcode_name[578:580],
|
||||
182: _Opcode_name[580:583],
|
||||
183: _Opcode_name[583:585],
|
||||
184: _Opcode_name[585:588],
|
||||
185: _Opcode_name[588:591],
|
||||
186: _Opcode_name[591:594],
|
||||
187: _Opcode_name[594:600],
|
||||
192: _Opcode_name[600:604],
|
||||
193: _Opcode_name[604:610],
|
||||
194: _Opcode_name[610:619],
|
||||
195: _Opcode_name[619:627],
|
||||
196: _Opcode_name[627:636],
|
||||
197: _Opcode_name[636:646],
|
||||
198: _Opcode_name[646:655],
|
||||
200: _Opcode_name[655:661],
|
||||
202: _Opcode_name[661:665],
|
||||
203: _Opcode_name[665:671],
|
||||
204: _Opcode_name[671:675],
|
||||
205: _Opcode_name[675:681],
|
||||
206: _Opcode_name[681:689],
|
||||
207: _Opcode_name[689:695],
|
||||
208: _Opcode_name[695:702],
|
||||
209: _Opcode_name[702:714],
|
||||
210: _Opcode_name[714:720],
|
||||
211: _Opcode_name[720:730],
|
||||
216: _Opcode_name[730:736],
|
||||
217: _Opcode_name[736:742],
|
||||
219: _Opcode_name[742:749],
|
||||
106: _Opcode_name[404:419],
|
||||
107: _Opcode_name[419:429],
|
||||
108: _Opcode_name[429:441],
|
||||
126: _Opcode_name[441:444],
|
||||
127: _Opcode_name[444:450],
|
||||
128: _Opcode_name[450:454],
|
||||
129: _Opcode_name[454:459],
|
||||
144: _Opcode_name[459:465],
|
||||
145: _Opcode_name[465:468],
|
||||
146: _Opcode_name[468:470],
|
||||
147: _Opcode_name[470:473],
|
||||
151: _Opcode_name[473:478],
|
||||
152: _Opcode_name[478:486],
|
||||
153: _Opcode_name[486:490],
|
||||
154: _Opcode_name[490:493],
|
||||
155: _Opcode_name[493:499],
|
||||
156: _Opcode_name[499:502],
|
||||
157: _Opcode_name[502:505],
|
||||
158: _Opcode_name[505:508],
|
||||
159: _Opcode_name[508:511],
|
||||
160: _Opcode_name[511:514],
|
||||
161: _Opcode_name[514:517],
|
||||
162: _Opcode_name[517:520],
|
||||
168: _Opcode_name[520:523],
|
||||
169: _Opcode_name[523:526],
|
||||
170: _Opcode_name[526:529],
|
||||
171: _Opcode_name[529:536],
|
||||
172: _Opcode_name[536:542],
|
||||
177: _Opcode_name[542:544],
|
||||
179: _Opcode_name[544:552],
|
||||
180: _Opcode_name[552:563],
|
||||
181: _Opcode_name[563:565],
|
||||
182: _Opcode_name[565:568],
|
||||
183: _Opcode_name[568:570],
|
||||
184: _Opcode_name[570:573],
|
||||
185: _Opcode_name[573:576],
|
||||
186: _Opcode_name[576:579],
|
||||
187: _Opcode_name[579:585],
|
||||
192: _Opcode_name[585:589],
|
||||
193: _Opcode_name[589:595],
|
||||
194: _Opcode_name[595:604],
|
||||
195: _Opcode_name[604:612],
|
||||
196: _Opcode_name[612:621],
|
||||
197: _Opcode_name[621:631],
|
||||
198: _Opcode_name[631:640],
|
||||
200: _Opcode_name[640:646],
|
||||
202: _Opcode_name[646:650],
|
||||
203: _Opcode_name[650:656],
|
||||
204: _Opcode_name[656:660],
|
||||
205: _Opcode_name[660:666],
|
||||
206: _Opcode_name[666:674],
|
||||
207: _Opcode_name[674:680],
|
||||
208: _Opcode_name[680:687],
|
||||
209: _Opcode_name[687:699],
|
||||
210: _Opcode_name[699:705],
|
||||
211: _Opcode_name[705:715],
|
||||
216: _Opcode_name[715:721],
|
||||
217: _Opcode_name[721:727],
|
||||
219: _Opcode_name[727:734],
|
||||
}
|
||||
|
||||
func (i Opcode) String() string {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue