News for hackers. Stuff that matters.
Re:Chris Lattner on Swift and dynamic dispatch by pvg on Sunday December 13, 2015 @06:19AM (#10726062)
You can't really AOT compile java and have it be java and it seems fairly obvious to me he's talking about size and runtime-related things, in which he throws in a JIT (i.e. the compilation model 'assumes' a JIT). I think he's just being slightly loose with his terminology because he's just replying on a mailing list without expectation that random nerds on an internet forum will be talumidcally dissecting his semiotic intent.
Re:Chris Lattner on Swift and dynamic dispatch by masklinn on Sunday December 13, 2015 @06:40AM (#10726095)
> You can't really AOT compile java and have it be java

Of course you can.

> and it seems fairly obvious to me he's talking about size and runtime-related things

I'm not sure why you're so intent in reinterpreting his rather plain words (and insulting people when they don't agree with your broad reinterpretation).

Lattner is literally just noting that an AOT-compiled java program has no knowledge of java's dynamic semantics (classloader &al), so it can't devirtualize calls and must necessarily pay the dynamic dispatch cost, in the same way e.g. messages in objective-c can't be devirtualized. In essence, an AOT java is slightly better than a straight interpreter but not by much.

The whole essay is about static versus dynamic dispatch and how languages provide for those, it's not exactly a stretch to assume that when Lattner talks about inferior code that's what he's talking about: bootloader = no JIT = pervasive dynamic dispatch = slow, you don't have to bring your own pet issues into that.

Re:Chris Lattner on Swift and dynamic dispatch by comex on Sunday December 13, 2015 @11:03AM (#10726645)
Not nearly as bad as an interpreter, especially if you do whole program optimization. In fact, Android switched from the Dalvik JIT to ART, which compiles AOT-ish.
Re:Chris Lattner on Swift and dynamic dispatch by pjmlp on Sunday December 13, 2015 @01:27PM (#10727231)
> You can't really AOT compile java and have it be java

IBM J9, Aonix PERC, Excelsior JET, JamaicaVM, RoboVM are just a few of the commercial JVMs that also AOT compile Java.

Oracle is also planning to have AOT as an option in future versions of the compiler.