Hacker News new | ask | show | jobs
by hiteshk_msft 3811 days ago
Check out the Linux branch :) we are actively working on a port.

Disclaimer: Msft employee on chakra

4 comments

Is Mac support planned? Not really familiar with the internals, so I can't tell if the Linux branch is a generic (enough) branch for Unix and alike.
It's not on the short term roadmap because we've scoped it to clang 3.6 x64 Ubuntu while we stand up the branch but we're trying to keep our code changes for the port pretty generic.
From the Roadmap document - it seems like JIT on Linux is not a priority? That's surprising. Is it due to technical issues or the whole idea is to have NodeJS on Windows use Chakra and let the community do the Linux part with JIT?
The first step is to get the runtime and interpreter running. Next step is to bring the jit up. Chakra is the hybrid engine where we have the interpreter, simple jit and full jit. The interpreter is the one which does all the profile data collection. Profile data is required to get the quality jit code.

Declaimer: I work for Chakra team.

Hi! Thanks for explanation and another cool product!

One question that just came to my mind regarding this: Have you thought about a configurable/modular build where this interpreter/simple jit/full jit can be switched? Or is this perhaps already there?

I can think of some use cases where it would be interesting to build a modern and full featured JS engine in interpreter-only mode. E.g. to integrate it into platforms which don't allow JIT (iOS), to reduce the footprint or the attack surface. Or to be able to port it the other platforms without much effort - in the embedded domain there are still other processors than x86 and arm and other OSes than Windows, Linux and OSX floating around.

Great question. Yes, we have a way to disable jit. See the merged pull request by our super cool dev here: https://github.com/Microsoft/ChakraCore/pull/4. We have build configuration which produces daily builds without JIT as well: https://github.com/Microsoft/ChakraCore/pull/42.
That sounds better - you may want to consider updating the Roadmap document to clarify this.
Sure I will follow up.
This is more so that we have something that helps us break the problem into several steps to accomplish the goal. JIT will come after.
wow, this new Microsoft is something.
Why port rather than just writing it to be portable from the start? Seems like a lot of work?
Why design the engine first released in 2011 under a completely closed culture to be portable for its eventual open-source release five years later? I understand the appeal of the thoughts behind what you said, but you shouldn't burn time on things you don't foresee being an issue.
Chakra was originally written for Internet Explorer 9. "Linux compatibility" was not exactly a huge priority at Microsoft at the time.