RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked
christian.thalinger at oracle.com
Wed May 29 09:21:15 PDT 2013
On May 29, 2013, at 1:39 AM, Andrew Haley <aph at redhat.com> wrote:
> On 05/28/13 18:32, Christian Thalinger wrote:
>> A fatal would be better; there is nothing to be implemented here.
>> In general, we should not add new ShouldNotReachHere or
>> Unimplemented calls. Adding fatals with a useful message is the
>> preferred way.
> Ahh, now I find out. There are, er, a lot of ShouldNotReachHere()s in the
> AArch64 project. :-)
> So, just a fatal() with a suitable message. Why is this preferred?
A ShouldNotReachHere is completely useless to the customer (whoever the customer is; sometimes it's me). Especially for bugs which are difficult to reproduce (like GC problems) having a fatal and printing e.g. heap addresses is very useful.
If a ShouldNotReachHere or Unimplemented is left behind by a developer it usually does not state why it shouldn't reach here or what is unimplemented. Having the reason as a fatal message helps.
More information about the hotspot-compiler-dev