Hi Daniel, > public int getByteCodeIndex(); [1] thanks for this info. I missed that.
> But I am not sure how you would use that in this case. > I mean - IIUC the stack would have to be walked when the exception > is raised - not when getMessage() is called. It's possible that Well, I will have to call StackWalker in the constructor and remember the data I need. > It's possible that > the BCI is encoded in the backtrace data though. I have not > checked. Yes it is. That is what I'm using currently, in the C++ implementation. See get_method_and_bci in javaClasses.cpp. Best regards, Goetz. > -----Original Message----- > From: Daniel Fuchs <daniel.fu...@oracle.com> > Sent: Dienstag, 12. Februar 2019 14:55 > To: Lindenmaier, Goetz <goetz.lindenma...@sap.com>; Roger Riggs > <roger.ri...@oracle.com>; Java Core Libs <core-libs-dev@openjdk.java.net> > Cc: hotspot-runtime-...@openjdk.java.net > Subject: Re: RFR(L): 8218628: Add detailed message to NullPointerException > describing what is null. > > Hi Goetz, > > On 12/02/2019 14:14, Lindenmaier, Goetz wrote: > > StackWalker operates on the Java stack tracke, which does not contain the > BCI > > to my knowledge. > > For what it's worth, StackWalker::StackFrame has the BCI: returned by > > public int getByteCodeIndex(); [1] > > But I am not sure how you would use that in this case. > I mean - IIUC the stack would have to be walked when the exception > is raised - not when getMessage() is called. It's possible that > the BCI is encoded in the backtrace data though. I have not > checked. > > best regards, > > -- daniel > > [1] > https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Stac > kWalker.StackFrame.html#getByteCodeIndex()