[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: Another attempt to create JIT compiler for Python has failed
- From: Javier Guerra Giraldez <javier@...>
- Date: Wed, 22 Feb 2017 09:25:33 +0000
On 22 February 2017 at 02:54, William Ahern <william@25thandclement.com> wrote:
> ChakraCore seems to implement both trace-based and method-based JIT
> compilation:
>
> When ChakraCore notices that a function or loop-body is being invoked
> multiple times in the interpreter, it queues up the function in
> ChakraCore's background JIT compiler pipeline to generate optimized JIT'ed
> code for the function. Once the JIT'ed code is ready, ChakraCore replaces
> the function or loop entry points such that subsequent calls to the
> function or the loop start executing the faster JIT'ed code instead of
> continuing to execute the bytecode via the interpreter.
>
> Source: https://github.com/Microsoft/ChakraCore/wiki/Architecture-Overview
I'm not sure that implies tracing, as it mentions "a background JIT
compiler" so it compiles separatedly from execution, while a trace
compiler gets as input the actual stream of instructions as executed
by the interpreter (so it gets data type information and code inlining
for free)
--
Javier