Browse Source

Do not commit gas costs on JUMPDEST instruction

[#80544260]
cl-refactor
Paweł Bylica 10 years ago
parent
commit
1de697df99
  1. 8
      evmcc/GasMeter.cpp

8
evmcc/GasMeter.cpp

@ -51,24 +51,20 @@ uint64_t getStepCost(dev::eth::Instruction inst) // TODO: Add this function to F
bool isCostBlockEnd(Instruction _inst) bool isCostBlockEnd(Instruction _inst)
{ {
// Basic block terminators like STOP are not needed on the list
// as cost will be commited at the end of basic block
switch (_inst) switch (_inst)
{ {
case Instruction::STOP:
case Instruction::CALLDATACOPY: case Instruction::CALLDATACOPY:
case Instruction::CODECOPY: case Instruction::CODECOPY:
case Instruction::MLOAD: case Instruction::MLOAD:
case Instruction::MSTORE: case Instruction::MSTORE:
case Instruction::MSTORE8: case Instruction::MSTORE8:
case Instruction::SSTORE: case Instruction::SSTORE:
case Instruction::JUMP:
case Instruction::JUMPI:
case Instruction::JUMPDEST:
case Instruction::GAS: case Instruction::GAS:
case Instruction::CREATE: case Instruction::CREATE:
case Instruction::CALL: case Instruction::CALL:
case Instruction::CALLCODE: case Instruction::CALLCODE:
case Instruction::RETURN:
case Instruction::SUICIDE:
return true; return true;
default: default:

Loading…
Cancel
Save