News for hackers. Stuff that matters.
Re:Deep Dive into PHP 8's JIT by pjmlp on Sunday August 30, 2020 @03:46AM (#24321992)
Unless we are speaking about Java before Java 1.2, it is definitely not interpreted, there are plenty of JIT and AOT implementations without any kind of interpretation step.

Since 25 years, time to learn that implementations and languages are not the same.

Re:Deep Dive into PHP 8's JIT by ptx on Sunday August 30, 2020 @05:03AM (#24322273)
Good point, but are there really "plenty" of Java implementations that lack an interpreter? There's Graal and Excelsior JET for AOT. Any others? Which implementations do JIT without any interpretation?
Re:Deep Dive into PHP 8's JIT by pjmlp on Sunday August 30, 2020 @08:40AM (#24322874)
BEA J/Rockit was one of them.

Although not the right kind of coffee, Android during versions 5 and 6.

Also most JVMs with interpretation step, have command line options to set the interpretation threshold to zero, thus directly JIT compiling on load.

Re:Deep Dive into PHP 8's JIT by nawarian on Sunday August 30, 2020 @05:52AM (#24322418)
I might be wrong here, as I'm not so close to Java development. But a language implementing JIT, at least to me, is interpreted.

Could you please point an implementation detail where a JIT-capable engine doesn't include interpretation in its runtime?

In every case, thanks a lot for your feedback!

Re:Deep Dive into PHP 8's JIT by pjmlp on Sunday August 30, 2020 @08:47AM (#24322895)
Well, from CS compiler theory point of view it is not.

For example in .NET, MSIL goes directly into a pipeline that produces native. You can easily validate that RyuJIT has no interpretation.

Or for example, watchOS applications packaged with bitcode, get JIT compiled at installation time.

Re:Deep Dive into PHP 8's JIT by jashmatthews on Sunday August 30, 2020 @06:40AM (#24322548)
V8 had only baseline compilation until much later https://v8.dev/blog/ignition-interpreter

It's not super exotic to do this.