Geir Magnusson Jr. wrote:


Alex Astapchuk wrote:
Pavel Pervov wrote:
Hello, community,

Working through DRLVM sources I (once again) looked at organization of
jitrino code.

Actually, there are two JITs hidden inside "jitrino": JET and OPT.

As far as I may observe - these two are code-independent from each other.

JIT-guys, could you comment?

If I'm right here I would vote for moving them to top level of
drlvm/trunk/vm directory to clearly indicate we have two JITs in DRLVM.

There are no two JITs, actually. We call them 'compilation paths'.
'jet' here stands for 'Jitrino Express compilation paTh'.

As Mikhail already mentioned they share significant parts like
logging, PMF, multi-threaded stuff, guard locks, etc.

The difference in codebases, came from their targets - the .jet was heavily tuned for very fast compilation, resulting to that many virtual
interfaces used in .opt were substituted with direct calls to VM.

Personally, I don't see any *practical* reason to separate .jet and .opt.


The practical reason is to start convincing ourselves of the modularity.

Ugh. 'Modularity' is good word, I like it.
Especially taking into account that no one can measure it. Can you? :-)

Moving jet around will give nothing useful. Neither in a short-term nor in a longer perspective. But will take an efforts and add a mess and maybe code duplicate from Jitrino codebase.

Jitrino itself is modular enough - again, the JET was not intended as a separate JIT. It's only purpose was (and still is) to be a front-line for Jitrino's main engine - to speed up client apps startup.

Absolutely no reason to have it separately.

--
Thanks,
  Alex

Reply via email to