News for hackers. Stuff that matters.
Re:ChowJS: An AOT JavaScript engine for game consoles by sillycross on Thursday September 16, 2021 @08:23AM (#28550818)
Interesting post. Seems similar to the approach of HPHPC for PHP, where the code is first run offline in a simulated environment to collect type information, and then use these speculations to generate static-typed code ahead-of-time.

Would be interested to see a performance comparison with V8 JIT (instead of V8 interpreter).

Re:ChowJS: An AOT JavaScript engine for game consoles by divs1210 on Thursday September 16, 2021 @08:50AM (#28551041)
AFAIK Graal native-image also does something similar.
Re:ChowJS: An AOT JavaScript engine for game consoles by chrisseaton on Thursday September 16, 2021 @09:27AM (#28551491)
For Java, yes. They're working on JavaScript and Ruby etc, but not sure it's quite there yet.
Re:ChowJS: An AOT JavaScript engine for game consoles by kaba0 on Friday September 17, 2021 @03:00AM (#28562135)
They already have GraalJS which is afaik up-to-date with the EcmaScript spec and has insane throughput (on long-running tasks it has comparable speed to V8, with a much much smaller team behind it) - it can AOT compile said code as well, but I’m not sure about the performance characteristics of that.
Re:ChowJS: An AOT JavaScript engine for game consoles by sillycross on Thursday September 16, 2021 @09:30AM (#28551526)
Java is static-typed already and only has a low degree of dynamism, so the importance of doing so is much less (only to reduce the initialization time I believe).
Re:ChowJS: An AOT JavaScript engine for game consoles by chrisseaton on Thursday September 16, 2021 @09:33AM (#28551554)
There's a lot of interfaces and virtual calls in Java. Not sure if you're considering that dynamic or not, but I would would. Graal does some pretty intense whole-universe points-to analysis which enables monomorphisation, devirtualisation, scalar replacement, etc.
Re:ChowJS: An AOT JavaScript engine for game consoles by CountHackulus on Thursday September 16, 2021 @01:12PM (#28554411)
Java is yes, but the JVM runs other things and things like JRuby use the JVM bytecode for invoke_dynamic. There were a few things rewritten to use that bytecode from what I remember but it's been a while since I've worked in that area.