RFR JDK-8059510 Compact symbol table layout inside shared archive
Jiangli Zhou
jiangli.zhou at oracle.com
Tue Oct 28 00:21:20 UTC 2014
Hi Staffan,
I moved the symboltable/stringtable dumping implementations to
symbolTable.cpp and stringTable.cpp. The SymboltableDCmd and
StringtableDCmd class definitions are placed in the new
compactHashTable.hpp. I also removed the -XX:+UnlockDiagnosticVMOptions
requirement for the VM.symboltable and VM.stringtable options based on
our separate discussion.
http://cr.openjdk.java.net/~jiangli/8059510/webrev.04/
Thanks for the suggestions,
Jiangli
On 10/23/2014 09:45 AM, Jiangli Zhou wrote:
> Hi Staffan,
>
> No problem, the review request is still open. :) Thanks for the
> suggestion. I'll try to incorporate it.
>
> Thanks!
> Jiangli
>
> On 10/22/2014 11:15 PM, Staffan Larsen wrote:
>> Jiangli,
>>
>> Sorry for being late to the review. I would suggest moving the
>> diagnostic command implementation from diagnosticCommand.cpp/hpp to
>> symbolTable.cpp/hpp. If all dcmds are implemented in
>> diagnosticCommand.cpp, then that file will grow to become quite
>> large, so I would prefer having the commands close to the code they
>> interact with (there are probably a couple more that should be
>> moved). The only problem you may run into is to find a good place to
>> call DCmdFactory::register_DCmdFactory(), but that can be done
>> anywhere during the initialization of the VM.
>>
>> Thanks,
>> /Staffan
>>
>>
>> On 22 okt 2014, at 02:09, Jiangli Zhou <jiangli.zhou at oracle.com> wrote:
>>
>>> Hi Gerard,
>>>
>>> Please see the updated webrev:
>>> http://cr.openjdk.java.net/~jiangli/8059510/webrev.03/.
>>>
>>> Thanks,
>>> Jiangli
>>>
>>> On 10/21/2014 02:57 PM, Jiangli Zhou wrote:
>>>> Hi Gerard,
>>>>
>>>> On 10/21/2014 02:32 PM, Gerard Ziemski wrote:
>>>>> On 10/21/2014 1:45 PM, Jiangli Zhou wrote:
>>>>>> There are pros and cons for both dynamically and statically
>>>>>> allocating the _shared_table. Dynamically allocating the
>>>>>> _shared_table as you suggested adds overhead of the memory
>>>>>> allocation and the overhead of the extra NULL check when the
>>>>>> _shared_table is in use. When doing optimization, we try to have
>>>>>> the least overhead for the fast case, so we could make the fast
>>>>>> case faster (that's when CDS is used).
>>>>>>
>>>>>> Maybe we could make _shared_table.lookup() inlined and reduce the
>>>>>> overhead of the function call when CDS is not used.
>>>>> I think that would be OK, though it will require a reader of the
>>>>> code to follow the call through to find out it's cheap NOP when
>>>>> CDS is off, unless we add a nice comment here?
>>>> I'll add some comments. Thanks for the suggestion.
>>>>
>>>> Thanks,
>>>> Jiangli
>>>>
>>>>>
>>>>> cheers
>>>>>
>
More information about the hotspot-runtime-dev
mailing list