mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 04:36:42 +00:00
vm: inline minStack/minDupStack/minSwapStack and delete unused functions
This commit is contained in:
parent
6452b7ad05
commit
4b3fdbbae7
3 changed files with 172 additions and 181 deletions
|
|
@ -85,7 +85,7 @@ func enable1884(jt *JumpTable) {
|
|||
jt[SELFBALANCE] = &operation{
|
||||
execute: opSelfBalance,
|
||||
constantGas: GasFastStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -103,7 +103,7 @@ func enable1344(jt *JumpTable) {
|
|||
jt[CHAINID] = &operation{
|
||||
execute: opChainID,
|
||||
constantGas: GasQuickStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -175,7 +175,7 @@ func enable3198(jt *JumpTable) {
|
|||
jt[BASEFEE] = &operation{
|
||||
execute: opBaseFee,
|
||||
constantGas: GasQuickStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -187,14 +187,14 @@ func enable1153(jt *JumpTable) {
|
|||
jt[TLOAD] = &operation{
|
||||
execute: opTload,
|
||||
constantGas: params.WarmStorageReadCostEIP2929,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
|
||||
jt[TSTORE] = &operation{
|
||||
execute: opTstore,
|
||||
constantGas: params.WarmStorageReadCostEIP2929,
|
||||
minStack: minStack(2, 0),
|
||||
minStack: 2,
|
||||
maxStack: maxStack(2, 0),
|
||||
}
|
||||
}
|
||||
|
|
@ -232,7 +232,7 @@ func enable3855(jt *JumpTable) {
|
|||
jt[PUSH0] = &operation{
|
||||
execute: opPush0,
|
||||
constantGas: GasQuickStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -257,7 +257,7 @@ func enable5656(jt *JumpTable) {
|
|||
execute: opMcopy,
|
||||
constantGas: GasFastestStep,
|
||||
dynamicGas: gasMcopy,
|
||||
minStack: minStack(3, 0),
|
||||
minStack: 3,
|
||||
maxStack: maxStack(3, 0),
|
||||
memorySize: memoryMcopy,
|
||||
}
|
||||
|
|
@ -307,7 +307,7 @@ func enable4844(jt *JumpTable) {
|
|||
jt[BLOBHASH] = &operation{
|
||||
execute: opBlobHash,
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -317,7 +317,7 @@ func enable7939(jt *JumpTable) {
|
|||
jt[CLZ] = &operation{
|
||||
execute: opCLZ,
|
||||
constantGas: GasFastStep,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -327,7 +327,7 @@ func enable7516(jt *JumpTable) {
|
|||
jt[BLOBBASEFEE] = &operation{
|
||||
execute: opBlobBaseFee,
|
||||
constantGas: GasQuickStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
@ -338,7 +338,7 @@ func enable6780(jt *JumpTable) {
|
|||
execute: opSelfdestruct6780,
|
||||
dynamicGas: gasSelfdestructEIP3529,
|
||||
constantGas: params.SelfdestructGasEIP150,
|
||||
minStack: minStack(1, 0),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 0),
|
||||
}
|
||||
}
|
||||
|
|
@ -348,19 +348,19 @@ func enable8024(jt *JumpTable) {
|
|||
jt[DUPN] = &operation{
|
||||
execute: opDupN,
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(1, 0),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
jt[SWAPN] = &operation{
|
||||
execute: opSwapN,
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(2, 0),
|
||||
minStack: 2,
|
||||
maxStack: maxStack(0, 0),
|
||||
}
|
||||
jt[EXCHANGE] = &operation{
|
||||
execute: opExchange,
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(2, 0),
|
||||
minStack: 2,
|
||||
maxStack: maxStack(0, 0),
|
||||
}
|
||||
}
|
||||
|
|
@ -450,41 +450,41 @@ func enable4762(jt *JumpTable) {
|
|||
jt[SSTORE] = &operation{
|
||||
dynamicGas: gasSStore4762,
|
||||
execute: opSstore,
|
||||
minStack: minStack(2, 0),
|
||||
minStack: 2,
|
||||
maxStack: maxStack(2, 0),
|
||||
}
|
||||
jt[SLOAD] = &operation{
|
||||
dynamicGas: gasSLoad4762,
|
||||
execute: opSload,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
|
||||
jt[BALANCE] = &operation{
|
||||
execute: opBalance,
|
||||
dynamicGas: gasBalance4762,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
|
||||
jt[EXTCODESIZE] = &operation{
|
||||
execute: opExtCodeSize,
|
||||
dynamicGas: gasExtCodeSize4762,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
|
||||
jt[EXTCODEHASH] = &operation{
|
||||
execute: opExtCodeHash,
|
||||
dynamicGas: gasExtCodeHash4762,
|
||||
minStack: minStack(1, 1),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 1),
|
||||
}
|
||||
|
||||
jt[EXTCODECOPY] = &operation{
|
||||
execute: opExtCodeCopyEIP4762,
|
||||
dynamicGas: gasExtCodeCopyEIP4762,
|
||||
minStack: minStack(4, 0),
|
||||
minStack: 4,
|
||||
maxStack: maxStack(4, 0),
|
||||
memorySize: memoryExtCodeCopy,
|
||||
}
|
||||
|
|
@ -493,7 +493,7 @@ func enable4762(jt *JumpTable) {
|
|||
execute: opCodeCopy,
|
||||
constantGas: GasFastestStep,
|
||||
dynamicGas: gasCodeCopyEip4762,
|
||||
minStack: minStack(3, 0),
|
||||
minStack: 3,
|
||||
maxStack: maxStack(3, 0),
|
||||
memorySize: memoryCodeCopy,
|
||||
}
|
||||
|
|
@ -502,7 +502,7 @@ func enable4762(jt *JumpTable) {
|
|||
execute: opSelfdestruct6780,
|
||||
dynamicGas: gasSelfdestructEIP4762,
|
||||
constantGas: params.SelfdestructGasEIP150,
|
||||
minStack: minStack(1, 0),
|
||||
minStack: 1,
|
||||
maxStack: maxStack(1, 0),
|
||||
}
|
||||
|
||||
|
|
@ -510,7 +510,7 @@ func enable4762(jt *JumpTable) {
|
|||
execute: opCreate,
|
||||
constantGas: params.CreateNGasEip4762,
|
||||
dynamicGas: gasCreateEip3860,
|
||||
minStack: minStack(3, 1),
|
||||
minStack: 3,
|
||||
maxStack: maxStack(3, 1),
|
||||
memorySize: memoryCreate,
|
||||
}
|
||||
|
|
@ -519,7 +519,7 @@ func enable4762(jt *JumpTable) {
|
|||
execute: opCreate2,
|
||||
constantGas: params.CreateNGasEip4762,
|
||||
dynamicGas: gasCreate2Eip3860,
|
||||
minStack: minStack(4, 1),
|
||||
minStack: 4,
|
||||
maxStack: maxStack(4, 1),
|
||||
memorySize: memoryCreate2,
|
||||
}
|
||||
|
|
@ -527,7 +527,7 @@ func enable4762(jt *JumpTable) {
|
|||
jt[CALL] = &operation{
|
||||
execute: opCall,
|
||||
dynamicGas: gasCallEIP4762,
|
||||
minStack: minStack(7, 1),
|
||||
minStack: 7,
|
||||
maxStack: maxStack(7, 1),
|
||||
memorySize: memoryCall,
|
||||
}
|
||||
|
|
@ -535,7 +535,7 @@ func enable4762(jt *JumpTable) {
|
|||
jt[CALLCODE] = &operation{
|
||||
execute: opCallCode,
|
||||
dynamicGas: gasCallCodeEIP4762,
|
||||
minStack: minStack(7, 1),
|
||||
minStack: 7,
|
||||
maxStack: maxStack(7, 1),
|
||||
memorySize: memoryCall,
|
||||
}
|
||||
|
|
@ -543,7 +543,7 @@ func enable4762(jt *JumpTable) {
|
|||
jt[STATICCALL] = &operation{
|
||||
execute: opStaticCall,
|
||||
dynamicGas: gasStaticCallEIP4762,
|
||||
minStack: minStack(6, 1),
|
||||
minStack: 6,
|
||||
maxStack: maxStack(6, 1),
|
||||
memorySize: memoryStaticCall,
|
||||
}
|
||||
|
|
@ -551,7 +551,7 @@ func enable4762(jt *JumpTable) {
|
|||
jt[DELEGATECALL] = &operation{
|
||||
execute: opDelegateCall,
|
||||
dynamicGas: gasDelegateCallEIP4762,
|
||||
minStack: minStack(6, 1),
|
||||
minStack: 6,
|
||||
maxStack: maxStack(6, 1),
|
||||
memorySize: memoryDelegateCall,
|
||||
}
|
||||
|
|
@ -559,14 +559,14 @@ func enable4762(jt *JumpTable) {
|
|||
jt[PUSH1] = &operation{
|
||||
execute: opPush1EIP4762,
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
for i := 1; i < 32; i++ {
|
||||
jt[PUSH1+OpCode(i)] = &operation{
|
||||
execute: makePushEIP4762(uint64(i+1), i+1),
|
||||
constantGas: GasFastestStep,
|
||||
minStack: minStack(0, 1),
|
||||
minStack: 0,
|
||||
maxStack: maxStack(0, 1),
|
||||
}
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -20,16 +20,10 @@ import (
|
|||
"github.com/ethereum/go-ethereum/params"
|
||||
)
|
||||
|
||||
func minSwapStack(n int) int {
|
||||
return minStack(n, n)
|
||||
}
|
||||
func maxSwapStack(n int) int {
|
||||
return maxStack(n, n)
|
||||
}
|
||||
|
||||
func minDupStack(n int) int {
|
||||
return minStack(n, n+1)
|
||||
}
|
||||
func maxDupStack(n int) int {
|
||||
return maxStack(n, n+1)
|
||||
}
|
||||
|
|
@ -37,6 +31,3 @@ func maxDupStack(n int) int {
|
|||
func maxStack(pop, push int) int {
|
||||
return int(params.StackLimit) + pop - push
|
||||
}
|
||||
func minStack(pops, push int) int {
|
||||
return pops
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue