[9] RFR(XS): 8059559: SIGSEGV at CodeHeap::allocate(unsigned int, bool)
Vitaly Davidovich
vitalyd at gmail.com
Fri Oct 3 12:29:24 UTC 2014
Ok. The reason I mentioned this is because of these lines right below the
one you changed:
264 // No TieredCompilation: we only need the non-nmethod and
non-profiled code heap
265 return (code_blob_type == CodeBlobType::NonNMethod) ||
266 (code_blob_type == CodeBlobType::MethodNonProfiled);
That one mentions that it needs non-nmethod heap, so thought similar
comment was warranted in your change. But you know better than me :).
Thanks
Sent from my phone
On Oct 3, 2014 3:47 AM, "Tobias Hartmann" <tobias.hartmann at oracle.com>
wrote:
> 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> 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/
>>
>> 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/d8f61311/attachment.html>
More information about the hotspot-compiler-dev
mailing list