JUMPDEST (0x5b ) instruction is renamed to NOP (“no operation”)
This nomenclature makes sense for EOF code, but if legacy contracts are to continue being executed, we need to retain JUMPDEST.
Or is the idea that EOF enables versioning of the opcode table, and therefore different versions will include different names for opcodes? So EOFv1’s version of the opcode table will see JUMPDEST replaced by NOP?
Exactly. And EOF and legacy contracts can call each other.
Prior to EOF it’s just “the stack,” but with the addition of a return stack (in this EIP) it needed to be distinguished, hence “operand stack.” Other EIPs call what is taken off of “the stack” operands.