RFR (L): 8015774: Add support for multiple code heaps

Vladimir Kozlov vladimir.kozlov at oracle.com
Mon Apr 14 21:38:00 UTC 2014


Code seems okay. I assume it is mostly (functionally) the same we 
reviewed several months ago. Right?

One thing is bothering me is codecache structure expose to outside code 
(loop in compileBroker.cpp, nmethod.cpp and jvmtiCodeBlobEvents.cpp).
It would be nice to hide it.

Before pushing it we need to test. SA, dtrace and other components are 
affected by these changes. Ask sqe and performance group for help.

Thanks,
Vladimir

On 4/14/14 6:05 AM, Tobias Hartmann wrote:
> Hi Volker,
>
> please see comments inline.
>
> On 04/14/2014 02:54 PM, Volker Simonis wrote:
>> Hi Tobias,
>>
>> is this change intended for jdk8 or 9?
>
> the change is intended for JDK 9. The webrev is based on the JDK 9
> repository (http://hg.openjdk.java.net/jdk9/hs-comp/hotspot) changeset 6280.
>
>>   In any case, I saw that your
>> webrev is based on the hsx repository which I thought should not be
>> used any more.
>
> Why do you think that it is based on hsx? The earlier versions 00 - 03
> actually were, because I already started developing the patch last year,
> but the newest one is based on the JDK 9 repository.
>
> As Roland noticed, the default code heap sizes for arm/ppc were wrong
> (because tiered compilation is supported). The updated webrev can be
> found at:
>
> http://cr.openjdk.java.net/~anoll/8015774/webrev.05/
> <http://cr.openjdk.java.net/%7Eanoll/8015774/webrev.05/>
>
> Thanks,
> Tobias
>
>> Could you please rebase your patch on jdk9 and also
>> update the corresponding ppc64 files in the webrev (as far as I can
>> see, that's only src/cpu/ppc/vm/c2_globals_ppc.hpp). I'd like to test
>> this on Linux/PPC64 and AIX as well.
>>
>> Thank you and best regards,
>> Volker
>>
>>
>>
>> On Mon, Apr 14, 2014 at 1:56 PM, Tobias Hartmann
>> <Tobias.Hartmann at oracle.com>  wrote:
>>> Hi,
>>>
>>> please review the new version of the following patch that adds support for
>>> multiple code heaps to the code cache.
>>>
>>> Bug:https://bugs.openjdk.java.net/browse/JDK-8015774
>>> Webrev:http://cr.openjdk.java.net/~anoll/8015774/webrev.04/
>>>
>>> Short description:
>>> This change implements support for multiple code heaps in the code cache.
>>> The interface of the code cache was changed accordingly and references from
>>> other components of the VM were adapted. This includes the indirect
>>> references from:
>>> - the Serviceability Agent: vmStructs and the Java code cache interface
>>> (sun.jvm.hotspot.code.CodeCache)
>>> - the dtrace ustack helper script (jhelper.d)
>>> - the pstack support library libjvm_db.c
>>>
>>> Currently the code cache contains the following three code heaps each of
>>> which contains CodeBlobs of a specific type:
>>> - Non-Profiled methods: nmethods that are not profiled and native methods
>>> - Profiled methods: nmethods that are profiled
>>> - Non-methods: Non-methods like buffers and adapters
>>>
>>> By default the non-method code heap uses 3 MB plus additional space for the
>>> compiler buffers that is dependent on the number of compiler threads (see
>>> CodeCache::initialize_heaps). The remaining code cache space is distributed
>>> equally among the non-profiled and the profiled code heaps.
>>>
>>> Tested:
>>> JPRT, SPECjvm2008, SPECjbb2005, SPECjbb2013, Octane + Nashorn
>>>
>>> Thanks,
>>> Tobias
>>>
>>>
>>> -------- Original Message --------
>>> Subject: Re: RFR (L): 8015774: Add support for multiple code heaps
>>> Date: Mon, 21 Oct 2013 17:47:48 +0200
>>> From: Albert Noll<albert.noll at oracle.com>
>>> To: Azeem Jiva<azeem.jiva at oracle.com>
>>>
>>>
>>> That is fine. As we realized the last two weeks, there is more work to be
>>> done to make multiple code heaps work effectively.
>>>
>>> Albert
>>>
>>> Von meinem iPhone gesendet
>>>
>>> Am 21.10.2013 um 17:36 schrieb Azeem Jiva<azeem.jiva at oracle.com>:
>>>
>>> I still think we should hold off for JDK8u20
>>>
>>> --
>>> Azeem Jiva
>>> @javawithjiva
>>>
>>> On Oct 21, 2013, at 8:33 AM, Albert Noll<albert.noll at oracle.com>  wrote:
>>>
>>>
>>> Von meinem iPhone gesendet
>>>
>>> Anfang der weitergeleiteten E‑Mail:
>>>
>>> Von: Vladimir Kozlov<vladimir.kozlov at oracle.com>
>>> Datum: 11. Oktober 2013 19:38:07 MESZ
>>> An:hotspot-compiler-dev at openjdk.java.net
>>> Betreff: Re: RFR (L): 8015774: Add support for multiple code heaps
>>>
>>> This looks acceptable.
>>>
>>> Thanks,
>>> Vladimir
>


More information about the hotspot-compiler-dev mailing list