On 2/7/19 2:36 PM, Nick Gasson (Arm Technology China) wrote: > > Yeah I tried this method too (see the end of my first email). It > works fine except the PC is off by a few instructions. That can be > fixed quite easily though if required, and it always points into the > right method.
We should fix those few cases. > I ended up doing the stack scanning thing because as far as I can > tell that constructor is only used when we need to find the return > PC from a native frame I don't think that ever happens. In the code I modified we know that we have a good PC in the frame anchor. In the cases where we have a native frame on the stack and nothing in the frame anchor we give up. At least, I can see no counter-cases. > (I might have been wrong about this), so I couldn't see how it would > ever get the right value. If we check vm.isJavaPCDbg() before we use > the SP[-1] value that will make the remaining callers a bit safer > (and set this.pc to null otherwise). That would be safe, for sure. -- Andrew Haley Java Platform Lead Engineer Red Hat UK Ltd. <https://www.redhat.com> EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671