[9] RFR(XS): 8059559: SIGSEGV at CodeHeap::allocate(unsigned int, bool)
Tobias Hartmann
tobias.hartmann at oracle.com
Fri Oct 3 13:23:29 UTC 2014
Hi Vitaly,
yes, but the comment only says that we don't need any _method_ code
heaps. Of course we do need the non-nmethod code heap (for example to
store the interpreter).
Best,
Tobias
On 03.10.2014 14:29, Vitaly Davidovich wrote:
>
> 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
> <mailto: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 <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/2324d4e2/attachment.html>
More information about the hotspot-compiler-dev
mailing list