> Though it's my theory that static recompilation might be easier on the Atari 2600, because the limited ram makes it really hard for self modifying code to exist. So it is a problem you have to consider if you're going to be writing a JIT/recompiler/etc. The 6502, z80, and 68k are all classified as CISC and have variable-length instructions sets, and all of those are featured in lots of Game Systems. Even just talking about Game Systems not all of them run RISCs. Still, there are some RISCs that have variable length instructions, but as you'd expect the majority of them are fixed length (Though, especially in this context RISC vs. Being that clearly people more familiar with the XBox 360 then I am believe compiling the code beforehand is possible, I think it's likely the XBox 360 doesn't have the optional support for variable-length instructions.
There are extensions to the PowerPC architecture that have shorter instructions (It appears to be somewhat similar to Thumb), but I was unable to tell whether or not the XBox 360's Xenon supported that. Looking it up, it's still not 100% clear to me but I would wager no. That said, when I wrote that comment I didn't know for sure if the XBox 360 CPU had that or not. You could never really write a recompiler like this for x86 code even though you can mark data with the NX bit, because you can't tell where the instructions start, or whether or not a jump may end-up half-way between an instruction. You need stronger guarantees then that (Like, for example, that you can't run unaligned instructions, and that all instructions are the same length). I wasn't talking specifically about the PowerPC architecture, I was just pointing out that just because a computer supports 'W^X' doesn't mean you can always know exactly what instructions a program will run.