RFR (XS) 8023406 - [windows] build_vm_def.sh takes too long even when BUILD_WIN_SA != 1

Tim Bell tim.bell at oracle.com
Wed Aug 21 19:34:35 UTC 2013


Hello Ioi:

> build-dev folks, any comments?
>
> I have updated the patch to remove the SKIP_GENERATED changes:
>
> http://cr.openjdk.java.net/~iklam/8023406/windows_build_vm_def_slow_002/

make/windows/build_vm_def.sh

Seems as if line 86:

86 "$CAT" vm1.def vm2.def > vm.def

Will clobber the friendly message written out to vm.def in lines 56 ... 58

Perhaps you meant to write to vm1.def in lines 56 ... 58 and also put 
line 70 inside an else ... fi block?

Also, I am not sure what you want to do with vm2.def in the "-nosa" case.


make/windows/makefiles/debug.make
no comments

make/windows/makefiles/fastdebug.make
no comments

make/windows/makefiles/product.make
no comments

make/windows/makefiles/projectcreator.make
no comments

make/windows/makefiles/vm.make
no comments

Tim

> Thanks
> - Ioi
>
> On 08/21/2013 09:57 AM, Ioi Lam wrote:
>> Good catch! I tried to sneak this in :-)
>>
>> SKIP_GENERATED can be set as an environment variable to skip the 
>> 'generated' directory. I have an external script that checks if the 
>> file generated/_build_pch_file.cpp already exists. If so, it will set 
>> SKIP_GENERATED=1 before calling build.bat. This would save about 20 
>> seconds in build time.
>>
>> I will revert the SKIP_GENERATED change for now and won't commit it, 
>> since the may affect the build if someone just happens to have 
>> SKIP_GENERATED=1 in their environment variables.
>>
>> Thanks
>>
>> - Ioi
>>
>> On 08/20/2013 10:21 PM, Yumin Qi wrote:
>>> Ioi,
>>>
>>>   One question, SKIP_GENERATED, is this a environment variable or 
>>> need to give on command?
>>>   Others looks OK.
>>>
>>> Thanks
>>> Yumin
>>>
>>> On 8/20/2013 2:11 PM, Ioi Lam wrote:
>>>> |Please review a very small fix:||
>>>> ||
>>>> ||http://cr.openjdk.java.net/~iklam/8023406/windows_build_vm_def_slow_001/|| 
>>>>
>>>> ||
>>>> ||Bug: make/windows/build_vm_def.sh takes too long even when 
>>>> BUILD_WIN_SA != 1||
>>>> ||
>>>> ||http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8023406||
>>>> ||https://jbs.oracle.com/bugs/browse/JDK-8023406||
>>>> ||
>>>> ||Summary of fix:||
>>>> ||
>>>> ||    Reduce Windows build time to improve developer productivity.||
>>>> ||
>>>> ||    If BUILD_WIN_SA != 1, don't bother to generate vm.def, whose 
>>>> sole ||
>>>> ||    purpose is for SA to determine the type information of C++ 
>>>> objects.||
>>>> ||
>>>> ||    Instead, this rather eye-catching warning is printed, and 10 
>>>> seconds||
>>>> ||    are saved in the build cycle.||
>>>> ||
>>>> ||        ***||
>>>> ||        *** Not building SA: BUILD_WIN_SA != 1||
>>>> ||        *** C++ Vtables NOT included in vm.def||
>>>> ||        *** This jvm.dll will NOT work properly with SA.||
>>>> ||        ***||
>>>> ||        *** When in doubt, set BUILD_WIN_SA=1, clean and rebuild.||
>>>> ||        ***||
>>>> ||
>>>> ||    This does not affect JPRT -- JPRT always sets BUILD_WIN_SA=1.||
>>>> ||
>>>> ||Result: ||
>>>> ||
>>>> ||    Touch 1 .cpp file; rebuild: Total time is reduced 15 seconds 
>>>> -> 5 seconds.||
>>>> ||
>>>> ||Tests:||
>>>> ||
>>>>     [0] Manual testing with both create.bat (IDE build) and build.bat
>>>>         VS 2008 + VS2010
>>>> ||    [1] JPRT (windows.* only)||
>>>> ||    [2] I built a jvm.dll without BUILD_WIN_SA=0, and it ran 
>>>> Eclipsed without||
>>>> ||        any problem.||
>>>> ||
>>>> ||Thanks||
>>>> ||- Ioi| 
>>>
>>
>




More information about the build-dev mailing list