RFR(m): 8074552: SafeFetch32 and SafeFetchN do not work in error handling

Coleen Phillimore coleen.phillimore at oracle.com
Thu Mar 19 18:57:49 UTC 2015


Yes, this patch looks like what I'm testing with.  I also had to make 
this change to get it to compile on linux x64.

--- a/src/cpu/zero/vm/frame_zero.cpp
+++ b/src/cpu/zero/vm/frame_zero.cpp
@@ -213,7 +213,7 @@
      valuebuf[buflen - 1] = '\0';

      // Print the result
-    st->print_cr(" " PTR_FORMAT ": %-21s = %s", addr, fieldbuf, valuebuf);
+    st->print_cr(" " PTR_FORMAT ": %-21s = %s", p2i(addr), fieldbuf, 
valuebuf);
    }
  }

Thanks,
Coleen

On 3/19/15, 10:31 AM, Severin Gehwolf wrote:
> On Thu, 2015-03-19 at 11:28 +0000, Andrew Dinn wrote:
>> On 19/03/15 09:35, Thomas Stüfe wrote:
>>> this may be the case. I do not know the zero port very good.
>>>
>>> SefeFetch handling needs support from both signal handler and access
>>> routines to ucontext_t (ucontext_set_pc(), ucontext_get_pc()). Both is
>>> missing.
>>>
>>> In theory it could be added, because doing so requires no assembly of any
>>> sorts. But it looks like the zero port avoids any technique which requires
>>> fiddling around with the ucontext_t in the signal handler to jump to a
>>> continuation point. This looks intentional and I do not want to introduce
>>> any code which breaks the intention of zero port.
>>>
>>> Of course, the other way would be just to disable the test for zero.
>>>
>>> What would be the right way?
> Thomas, I think the way to go is to skip both, the test and the new
> error handler feature for Zero. Since it is C++ interpreter only, it's
> OK to not have this extra info in hs_err.
>
> Shark, on the other hand, is likely different but I don't know much
> about it.
>
>> Coleen, thanks very much for checking to see if this fix causes an issue
>> for zero.
> +1, very much appreciated!
>
> I see that this has already been pushed[1]. I'll follow up with a fix
> for Zero shortly (current w-i-p patch attached).
>
> Cheers,
> Severin
>
> [1] http://hg.openjdk.java.net/jdk9/hs-rt/hotspot/rev/3eb61269f421
>
>> Thomas, I have pointed the relevant Red Hat developers at this thread.
>> One of them should respond soon.
>>
>> regards,
>>
>>
>> Andrew Dinn
>> -----------
>> Senior Principal Software Engineer
>> Red Hat UK Ltd
>> Registered in UK and Wales under Company Registration No. 3798903
>> Directors: Michael Cunningham (USA), Matt Parson (USA), Charlie Peters
>> (USA), Michael O'Neill (Ireland)
>>
>>
>
>



More information about the hotspot-runtime-dev mailing list