RFR: 8003310: Enable -Wunused when compiling with GCC
Mikael Vidstedt
mikael.vidstedt at oracle.com
Thu Nov 15 17:00:00 PST 2012
On 2012-11-13 06:20, Coleen Phillimore wrote:
> On 11/13/2012 8:41 AM, Coleen Phillimore wrote:
>>
>> Hi Mikael, This is good! I have the same comments as David.
>>
>> For constantPool.cpp can you add #undef DBG after that code.
>>
>> Maybe there should be a new convention for DEBUG_<filename in caps>
>> for unused code that people want to leave around for debugging. I
>> don't recommend we add a lot of code like this, but having such an
>> ifdef would differentiate code that was just left in unintentionally
>> from code that we want to be left in (occasionally).
>
> Actually, I want to revise this. We had this discussion about this
> recently rwt metaspace debugging and favored a const static variable =
> false; under #ifdef DEBUG or ASSERT and the debugging code under
> DEBUG/ASSERT so that it doesn't bit rot. This is for the code left
> in intentionally. Which makes me wonder why print_cpool_bytes() is
> there under DEBUG_CPOOL claiming to be "temporary" when there is
> another printing function in that file already.
The reason why I moved it under DBG was because it is only ever called
wrapped with a DBG(). I can play around with making it a const static =
false as you outlined.
The other print functions in constantPool.cpp are implementations of the
virtual functions inherited from Metadata, so they are not quite as
temporary as print_cpool_bytes, if that makes sense.
Cheers,
Mikael
>
> Coleen
>
>>
>> Thanks,
>> Coleen
>>
>> On 11/13/2012 12:47 AM, David Holmes wrote:
>>> Hi Mikael,
>>>
>>> A couple of general observations as really the "owners" of each file
>>> needs to assess the changes:
>>>
>>> - sometimes functions exist for debugging/tracing and calls will be
>>> added to the code by engineers as they debug. For example MBFence in
>>> synchronizer.cpp allows you to add fences into expressions.
>>>
>>> - why was the "static" removed from a number functions. They now
>>> have global visibility rather than being restricted to their files?
>>>
>>>
>>> In globaleDefinitions.cpp:
>>>
>>> + void GlobalDefinitions::test_globals() {
>>> + intptr_t page_size = 4096;
>>>
>>> Page size may not be 4K - will the test still be valid?
>>>
>>>
>>> The comments describing clamp_address_in_page don't need to be on
>>> both the declaration and definition.
>>>
>>> Cheers,
>>> David
>>> ------
>>>
>>> On 13/11/2012 1:59 PM, Mikael Vidstedt wrote:
>>>>
>>>> All,
>>>>
>>>> Please review the below change. The change adds the -Wunused flag when
>>>> compiling with GCC and removes a number of unused functions/dead code.
>>>>
>>>> In the process I found one function (same_page) which was
>>>> duplicated in
>>>> four different places. I merged it to a single function, renamed it to
>>>> clamp_address_in_page, added some comments and refactored it to be
>>>> slightly easier to understand. I also added unit tests for it.
>>>> Feedback
>>>> appreciated (especially on the name).
>>>>
>>>> http://cr.openjdk.java.net/~mikael/8003310/webrev.00/
>>>>
>>>> Passes JPRT and the built-in unit tests (-XX:+ExecuteInternalVMTests).
>>>>
>>>> Thanks,
>>>> Mikael
>>>>
>>
>
More information about the hotspot-dev
mailing list