Is RegisterMap updated?

Andrew Haley aph at redhat.com
Wed Jan 30 10:38:42 UTC 2019


On 1/30/19 10:00 AM, David Griffiths wrote:
> I'm not sure this works though for the frame at the top of the stack.
> The pushing of the registers that you mention appears to take place in
> the updateRegisterMap method which is called when getting the sender.
> At the top of the stack the register will be live and not saved
> anywhere?

No the pushing of the register happens in generated code.

> Whatever, I'm seeing a NPE caused by a location that has
> WHERE_IN_REGISTER and a register number of 16 that doesn't have
> locationValid set in the map. If I modify createStackValue to check
> valueAddr being null then it avoids the NPE and getLocals then returns
> all the locals except for the one held in a register (the other ones
> are on the stack). Not sure what a register number of 16 equates to on
> x86, is that supposed to correspond to "not set" or something?

You're not helping.  Are you sure you've got an up-to-date HotSpot
checkout? You're not falling over bug 8217407?

-- 
Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671


More information about the serviceability-dev mailing list