[llvm-dev] Managed Languages BOF @ Dev Meeting
Joachim Durchholz via llvm-dev
llvm-dev at lists.llvm.org
Mon Oct 19 03:11:20 PDT 2015
Am 19.10.2015 um 10:56 schrieb David Chisnall via llvm-dev:
> My knowledge of common Java idioms
> is slightly rusty, but my impression was that, while lots of Java
> code abuses exceptions for non-exceptional behaviour, this is quite
> rare for null-pointer exceptions.
Actually such abuse is heavily frowned upon. They use it only where
unavoidable - i.e. when calling into the JDK's implementations of file
I/O and JDBC.
They certainly don't expect the exceptional path to be fast; I have yet
to see code where the hot path goes through a catch clause.
> Is there much (any?) real-world
> code where the handling of null pointer exceptions is performance
I doubt that NPEs are really used for that purpose. The catch block
would never be sure that the NPE doesn't originate from a true null
pointer dereference somewhere in the code.
If I must imagine a Java programmer who uses exceptions for control
flow, they'd likely use some exception that they think cannot happen. If
they are mildly compentent, they'll define their own exception class
just to be on the safe side.
Of cousre, there are shoddy programmers who do that kind of thing, and
worse. I don't think LLVM needs to worry about the speed of that kind of
code though :-)
More information about the llvm-dev