By: Mark Roulo (nothanks.delete@this.xxx.com), June 22, 2020 6:38 pm
Room: Moderated Discussions
Doug S (foo.delete@this.bar.bar) on June 22, 2020 6:14 pm wrote:
> anon (anon.delete@this.anon.com) on June 22, 2020 4:22 pm wrote:
> > They're doing hybrid: both JIT/dynamic and install time
>
>
> They would have to, as there would be some applications or at least parts of them (any sort
> of generated or self-modifying code, Linus' example of applications that fiddle with the
> signal stack, and other such niche cases) where static translation isn't feasible.
>
> Though I wonder if a combination of both in the same application is even possible. Maybe it is all or nothing,
> either the static translator is able to do the job but when it can't it goes full JIT for that application.
>
> Maybe they've found a way to slide neatly between the two by maintaining enough "x86 state"
> in the translated binary to let the JIT cut in where necessary, but that sounds like it might
> be MUCH harder than static translation alone, which is already much harder than JIT. There
> are a lot of devils hidden in the details that will be interesting to find out more about.
How would the static compiler know if the application it was translating was going to generate object code?
I think the translator would have to support both or only JIT translation.
> anon (anon.delete@this.anon.com) on June 22, 2020 4:22 pm wrote:
> > They're doing hybrid: both JIT/dynamic and install time
>
>
> They would have to, as there would be some applications or at least parts of them (any sort
> of generated or self-modifying code, Linus' example of applications that fiddle with the
> signal stack, and other such niche cases) where static translation isn't feasible.
>
> Though I wonder if a combination of both in the same application is even possible. Maybe it is all or nothing,
> either the static translator is able to do the job but when it can't it goes full JIT for that application.
>
> Maybe they've found a way to slide neatly between the two by maintaining enough "x86 state"
> in the translated binary to let the JIT cut in where necessary, but that sounds like it might
> be MUCH harder than static translation alone, which is already much harder than JIT. There
> are a lot of devils hidden in the details that will be interesting to find out more about.
How would the static compiler know if the application it was translating was going to generate object code?
I think the translator would have to support both or only JIT translation.