RFR(M) 7199175: JSR 292: C1 needs patching when invokedynamic/invokehandle call site is not linked

Christian Thalinger 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.

-- Chris

> Andrew.

More information about the hotspot-compiler-dev mailing list