Conversation
Notices
-
Embed this notice
@mia @lucy the worst part is, this effectively combines the worst of both worlds, the codegen/"JIT" doesn't do any optimizations, so it isn't even much faster than a well thought-out interpreter, whilst still carrying all the difficulties that implementing a JIT brings.
You could *easily* write a similarly capable VM in under 300sloc that's far more readable whilst still retaining similar performance.
What i've linked just heavily irritated me.
Even reading through that thing multiple times, I barely have any idea what those constants are meant to be / what those variables are supposed to represent.
What really tripped me up however is how they're just static globals that make all of the codegen that uses it prone to race conditions.