Hacker News new | ask | show | jobs
by Klathmon 3592 days ago
IIRC when they first announced Ignition, running in non-JIT environments was an explicit "non-goal".

I don't think that they are against it, but i'm assuming nobody is really trying to get that to work, and I think some code is still JIT-ed during ignitions normal operating, so getting a "pure" interpreter might be much more work.

Things might have changed since then, so someone with more up-to-date information will have to chime in if i'm horribly off.

But I do have issue with this:

>An alternative would be to use an js engine like mozilla's (or a purely interpreted one like duktape) but the ecosystem (node and whatnot) seems to have settled on V8 so it definitely would be nice to be able to use.

The ecosystem has not settled on V8 (hell I just started playing with espruino which is a javascript engine built to run on extremely low power devices like the ESP8266), and IMO it shouldn't ever settle on one implementation. Alternate engines keep the javascript ecosystem healthy. It prevents bugs in one from becoming a defacto standard, it promotes competition and specialization, and it's the way javascript standards become standard (IIRC something like 3 separate major implementations are needed).

Chakra is really giving V8 a run for it's money recently, and even javascriptcore is quickly catching up and is much better in areas like memory usage.

1 comments

> so getting a "pure" interpreter might be much more work.

If that's the case I'd have to take their word for it.. it's their code so they know the pitfalls. It still surprises me though: if I was developing a feature like that it would be the first thing I'd want to get working so I could try all of my test cases on interpeter-only mode.

Maybe there are some types of code that the interpreter just can't handle and always fall back into the JIT?

> The ecosystem has not settled on V8

Sorry, I probably didn't express myself wall. I personally am excited about the development of other js engines, and I also home that continues.

For non-browser js, though, node is the 800lb gorilla. I'm hoping that the (apparently reborn?) Spidermonkey or node-chakracore really take off to the point they're first-class options for using with node. However, I am not sure if that will ever happen.

I personally think duktape gets a lot of things right with its lua-inspired API and easy portability. However, it will probably never have a JIT available.

I'm pretty sure they have a way to run in "Ignition only" mode, but Ignition still uses executable memory for some things, so an "Ignition only" mode is not a "JIT-free" mode.