[9] RFR(XS): 8059559: SIGSEGV at CodeHeap::allocate(unsigned int, bool)

Tobias Hartmann tobias.hartmann at oracle.com
Fri Oct 3 07:47:30 UTC 2014


Hi Vitaly,

thanks for the feedback.

On 02.10.2014 18:21, Vitaly Davidovich wrote:
> Hi Tobias,
>
>   } else if (Arguments::mode() == Arguments::_int) {
>
>   258     // Interpreter only: we don't need any method code heaps
>   259     return (code_blob_type == CodeBlobType::NonNMethod);
>
> Minor point, but perhaps the comment should be amended?

The comment is still correct because we don't need any method code heaps 
in interpreter-only mode.

However, if TieredStopAtLevel=0 is set, we are not in interpreter-only 
mode and therefore need the non-profiled code heap (we exit through the 
else branch annotated with "No TieredCompilation").

Best,
Tobias

>
> Thanks
>
> On Thu, Oct 2, 2014 at 7:49 AM, Tobias Hartmann 
> <tobias.hartmann at oracle.com <mailto:tobias.hartmann at oracle.com>> wrote:
>
>     Hi,
>
>     please review the following patch.
>
>     Bug: https://bugs.openjdk.java.net/browse/JDK-8059559
>     Webrev: http://cr.openjdk.java.net/~thartmann/8059559/webrev.00/
>     <http://cr.openjdk.java.net/%7Ethartmann/8059559/webrev.00/>
>
>     Problem:
>     'CodeCache::heap_available' assumes that with
>     '-XX:TieredStopAtLevel=0' we only use the interpreter. This is
>     wrong because we still generate compiled forms of method handle
>     intrinsics (see 'SystemDictionary::find_method_handle_intrinsic').
>     We therefore need to create the non-profiled code heap.
>
>     Solution:
>     Change 'CodeCache::heap_available' to create the non-profiled code
>     heap if TieredStopAtLevel=0 is set. I also adapted the test '
>     compiler/codecache/CheckSegmentedCodeCache'.
>
>     Thanks,
>     Tobias
>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20141003/531b283a/attachment.html>


More information about the hotspot-compiler-dev mailing list