RFR(S): 8028412 - AsyncGetCallTrace() is broken on x86 in JDK7u40

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Wed Nov 27 02:34:14 PST 2013


On 11/27/13 2:32 AM, Markus Gronlund wrote:
>
> Hi Sergei,
>
> I have already worked with Nik on this issue and got his confirmation 
> on the fix.
>

Cool!

Thanks,
Serguei

> Thanks
>
> Markus
>
> *From:*Serguei Spitsyn
> *Sent:* den 27 november 2013 11:31
> *To:* Markus Gronlund; hotspot-compiler-dev at openjdk.java.net; 
> hotspot-runtime-dev at openjdk.java.net; serviceability-dev
> *Cc:* Oleg Mazurov; Nikolay Molchanov
> *Subject:* Re: RFR(S): 8028412 - AsyncGetCallTrace() is broken on x86 
> in JDK7u40
>
> Hi Markus,
>
> The fix looks Ok.
>
> It'd be helpful if Oleg and the Solaris Studio guys could confirm this 
> fix works fine for them.
> I've added Oleg and Nik to the CC-list.
> They might request a link to the Solaris or Linux binaries.
>
> Thanks,
> Serguei
>
>
> On 11/27/13 1:47 AM, Markus Gronlund wrote:
>
>     Greetings,
>
>     Kindly asking for reviews for the following change:
>
>     Bug: https://bugs.openjdk.java.net/browse/JDK-8028412
>
>     Webrev: http://cr.openjdk.java.net/~mgronlun/8028412/webrev01/
>     <http://cr.openjdk.java.net/%7Emgronlun/8028412/webrev01/>
>
>     Description:
>
>     AsynchGetCallTrace() uses platform specific code for stack frame
>     traversals.
>
>     On x86, there currently exist a defensive construct that
>     practically disallows stack traversal over entry_frame code stubs,
>     such as StubRoutine(1) frames:
>
>     src/cpu/x86/vm/frame_x86.cpp b/src/cpu/x86/vm/frame_x86.cpp:
>
>     bool frame::safe_for_sender(JavaThread* thread)  {
>
>     ...
>
>     if (!Interpreter::contains(_pc) && _cb->frame_size() <= 0) {
>       //assert(0, "Invalid frame_size");
>
>      return false;
>     }
>
>     ...
>
>     Since entry frames (such as StubRoutine(1)) have a frame size of
>     0, the code returns prematurely.
>
>     Fix is to move this frame size check post handling of
>     is_entry_frame(),  where the code_stubs are processed.
>
>     Testing completed:
>
>     Sun Studio Profiler reproducer testcase
>
>     SpecJBB2005
>
>     Kitchensink
>
>     Thanks
>     Markus
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20131127/6c6c986f/attachment-0001.html 


More information about the hotspot-runtime-dev mailing list