> depends i guess - do you reckon you could do an opcode jump table or something> in Java Asm?> Or in MSIL?

You definitely can in MSIL - MSIL can do anything C can (and unlike with Java, there's even a supported assembler for it). VC++.NET can compile "pure" C/C++ programs to MSIL (so-called "managed C/C++") as long as you're careful what external APIs you call. MS has demonstrated DOOM 2 recompiled in this way with the same exe running on 32 and 64 bit machines.