At this time, op_jump only checks if the destination is equal to 0x5B (jumpdest). But this is not sufficient to validate that the destination is valid: 0x5B could be a value inside a PUSH. More checks need to be done.
In case checks consume too much gas, those could be made optional as not verifying them would not prevent correct bytecode to be correctly executed (for example if bytecode was compiled using solc or equivalent).
https://ethereum.org/en/developers/tutorials/yellow-paper-evm/#943-jump-dest-valid
At this time,
op_jumponly checks if the destination is equal to0x5B(jumpdest). But this is not sufficient to validate that the destination is valid:0x5Bcould be a value inside aPUSH. More checks need to be done.In case checks consume too much gas, those could be made optional as not verifying them would not prevent correct bytecode to be correctly executed (for example if bytecode was compiled using
solcor equivalent).https://ethereum.org/en/developers/tutorials/yellow-paper-evm/#943-jump-dest-valid