Hacker News new | past | comments | ask | show | jobs | submit login

Again, I don't see how this is any different from mainframes.

On OS/400 all executables are bytecode (TIMI) with the JIT on the kernel.

When AS/400 changed processors, the programs continued to execute as always, no change required. All languages got the new processor for free.

Any compiler that targets TIMI, gets OS/400 support for free.

The difference is that they had to port the entire JIT to the new processor. With LLVM, you just need the backend components that represent the CPU. Granted, from an app developer's perspective, this is not really relevant because they're targeting a VM; where the VM runs, their apps run.

Distinction without difference. These two components are essentially equivalent in scope.

Any resource in how look the TIMI bytecode? Could be usefull for a x86 interpreter?

There isn't much available. IBM doesn't disclose much about it.

However here are some links about OS/400, nowadays known as System i.



A story about the two times TIMI actually changed:


Some Redbooks about ILE, which sits on top of TIMI



All of them can be found at


Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact