RFR (also tedious) 8216167: Update include guards to reflect correct directories

Erik Österlund erik.osterlund at oracle.com
Thu Jan 10 15:29:58 UTC 2019


Hi Coleen,

Reviewed.

/Erik

On 2019-01-10 16:20, coleen.phillimore at oracle.com wrote:
>
>
> On 1/10/19 9:56 AM, Erik Österlund wrote:
>> Hi Coleen,
>>
>> share/gc/shared/barrierSet.inline.hpp Was added recently, needs an 
>> update.
>
> Fixed by hand.
>
>> share/prims/wbtestmethods/parserTests.hpp Still has VM prefix in 
>> include guard, and lacks a whitespace in the #endif part.
>
> I already fixed this.   I updated 02 with the new version so reload...
>>
>> share/gc/parallel/psGenerationCounters.hpp Has a leading newline, 
>> which I think should be removed if we are fixing incorrect trailing 
>> newlines.
>
> Great, yes, I removed leading blank line.
>> share/opto/adlcVMDeps.hpp Seems to do something wrong now. This file 
>> is included both by libjvm.so and the adlc parser binary. It 
>> conditionally includes memory/allocation.hpp if it is built in 
>> libjvm.so, which is figured out by checking if the adlc arena 
>> allocation header has already been included or not with the following 
>> hack:
>>
>> #ifndef SHARE_VM_ADLC_ARENA_HPP
>> #include "memory/allocation.hpp"
>> #endif
>>
>> You changed SHARE_VM_ADLC_ARENA_HPP here to SHARE_OPTO_ADLCVMDEPS_HPP 
>> in the patch you posted, probably because your script thought it was 
>> an include guard. But it is not. It's an ugly hack.
>>
>> So with the changes you proposed, the condition would always be true, 
>> which is not intended. It should check for SHARE_ADLC_ARENA_HPP 
>> instead now.
>
> This file.  I fixed it with the #pragma once change, then forgot which 
> one it was.   This file doesn't need to include allocation if it 
> doesn't use AllStatic so I changed it like this:
>
> diff --git a/src/hotspot/share/opto/adlcVMDeps.hpp 
> b/src/hotspot/share/opto/adlcVMDeps.hpp
> --- a/src/hotspot/share/opto/adlcVMDeps.hpp
> +++ b/src/hotspot/share/opto/adlcVMDeps.hpp
> @@ -22,20 +22,18 @@
>   *
>   */
>
> -#ifndef SHARE_VM_OPTO_ADLCVMDEPS_HPP
> -#define SHARE_VM_OPTO_ADLCVMDEPS_HPP
> +#ifndef SHARE_OPTO_ADLCVMDEPS_HPP
> +#define SHARE_OPTO_ADLCVMDEPS_HPP
> +
>
>  // adlcVMDeps.hpp is used by both adlc and vm builds.
> -// Only include allocation.hpp when we're not building adlc.
> -#ifndef SHARE_VM_ADLC_ARENA_HPP
> -#include "memory/allocation.hpp"
> -#endif
> +// Don't inherit from AllStatic to avoid including 
> memory/allocation.hpp.
>
>  // Declare commonly known constant and data structures between the
>  // ADLC and the VM
>  //
>
> -class AdlcVMDeps : public AllStatic {
> +class AdlcVMDeps {   // AllStatic
>   public:
>    // Mirror of TypeFunc types
>    enum { Control, I_O, Memory, FramePtr, ReturnAdr, Parms };
> @@ -52,4 +50,4 @@
>    static const char* none_reloc_type() { return "relocInfo::none"; }
>  };
>
> -#endif // SHARE_VM_OPTO_ADLCVMDEPS_HPP
> +#endif // SHARE_OPTO_ADLCVMDEPS_HPP
>
>
>>
>> Otherwise this looks... I don't know... okay. But #pragma once would 
>> have been so much better. :c
>
> Yeah.  I know.  Thank you for looking through all of this.
>
> Coleen
>>
>> Thanks,
>> /Erik
>>
>> On 2019-01-10 13:34, coleen.phillimore at oracle.com wrote:
>>>
>>> No takers?  This fixes the include guard to match the file name in 
>>> 1540 header files.
>>>
>>> If you add a header file, please use the file name after src/hotspot 
>>> as the include guard name from now on (exclude the VM that used to 
>>> be there).
>>>
>>> http://cr.openjdk.java.net/~coleenp/8216167.01.diff.02
>>>
>>> Thanks,
>>> Coleen
>>>
>>> On 1/4/19 6:19 PM, coleen.phillimore at oracle.com wrote:
>>>>
>>>>
>>>> On 1/4/19 4:52 PM, Kim Barrett wrote:
>>>>>> On Jan 4, 2019, at 10:36 AM, coleen.phillimore at oracle.com wrote:
>>>>>>
>>>>>> Summary: Use script and some manual fixup to fix directores names 
>>>>>> in include guards.
>>>>>>
>>>>>> Makes include guards match the current directory rooted at 
>>>>>> src/hotspot (removes VM_ in most cases).
>>>>>>
>>>>>> This should be low risk.  Tested with mach5 tier1 and tier2.
>>>>>>
>>>>>> https://bugs.openjdk.java.net/browse/JDK-8216167
>>>>>> http://cr.openjdk.java.net/~coleenp/8216167.01.diff
>>>>>>
>>>>>> I didn't generate a webrev as a space concern for 
>>>>>> cr.openjdk.java.net and nobody should click on it. Script is 
>>>>>> posted in bug.  Will update and check copyright headers with hg 
>>>>>> commit.
>>>>>>
>>>>>> Thanks,
>>>>>> Coleen
>>>>> There are incorrect changes in 
>>>>> src/hotspot/cpu/arm/globalDefinitions_arm.hpp
>>>>
>>>> Thank you for finding this.
>>>>> The script is not being careful to *only* modify #include guards.  
>>>>> I didn’t look for other similar problems.
>>>>> (This is an example of why I suggested rolling your own script 
>>>>> might not actually be easier than using
>>>>> the guardonce utilities.)
>>>>>
>>>> I looked through again and didn't see any other problems. I'm not 
>>>> planning on productizing my script, which admittedly is too simple 
>>>> for the general job.  But I still found it useful and entertaining 
>>>> (to me) for this particular task.
>>>>
>>>> http://cr.openjdk.java.net/~coleenp/8216167.01.diff.02
>>>>
>>>> Thanks,
>>>> Coleen
>>>
>>
>



More information about the hotspot-dev mailing list