slowproduct build

Ioi Lam ioi.lam at oracle.com
Wed Apr 11 05:12:01 UTC 2018



On 4/10/18 2:21 PM, Magnus Ihse Bursie wrote:
>
> On 2018-04-10 23:08, Ioi Lam wrote:
>> Yes that’s what I want.
>>
>> Yesterday I was using gdb to step into the interpreter generation 
>> code to see what’s generated for a particular routine for 
>> MethodHandles. The debug build contains a LOT of runtime verification 
>> code in the generated code and I couldn’t figure out what’s 
>> happening. The product build just generates 10 instructions.
> So you want to have a way to force -O0 for all compiled files? 
> Something like "bash configure --with-debug-level=release 
> --with-optimization=none", or possibly "make OPTIMIZATION=NONE"?
>
Hi Magnus,

I like the --with-optimization=none flag. This doesn't seem to exist 
yet. Any plans to add it?

The way I would use it is:

     bash configure --with-debug-level=product --with-optimization=none

Thanks
- Ioi

> Or are you happy with the optimization level of a slowdebug build, and 
> only want to adjust the value of PRODUCT and ASSERT for hotspot to 
> match what's done for a release build? Something like "bash configure 
> --enable-hotspot-product-build"?
>
> /Magnus
>
>>
>> Thanks
>> Ioi
>>
>> On Apr 10, 2018, at 1:47 PM, Thomas Stüfe <thomas.stuefe at gmail.com 
>> <mailto:thomas.stuefe at gmail.com>> wrote:
>>
>>> If I understand Ioi correctly, he wants a build with PRODUCT and 
>>> !ASSERT but with debug symbols and no optimizations? So, no 
>>> assertions and all switches with product defaults?
>>>
>>> I can see that this could make sense in certain scenarios.
>>>
>>> ..Thomas
>>>
>>> On Tue, Apr 10, 2018 at 10:27 PM, Magnus Ihse Bursie 
>>> <magnus.ihse.bursie at oracle.com 
>>> <mailto:magnus.ihse.bursie at oracle.com>> wrote:
>>>
>>>     On 2018-04-10 02:00, Ioi Lam wrote:
>>>
>>>         Sometimes I want to debug the product build (I can't bother
>>>         with turning off all the trueInDebug options in the hotspot
>>>         globals.hpp). The only way that I have found to do this is:
>>>
>>>             configure --with-native-debug-symbols=internal
>>>             mv spec.gmk spec.gmk.old
>>>             cat spec.gmk | sed -e 's/[-]O[0-9s]/-O0/g' > spec.gmk
>>>
>>>         Is there (or should there be) a more elegant way to do it,
>>>         like "configure --with-debug-level=slowproduct" :-)
>>>
>>>     I'm not entirely sure of what you want to achieve.
>>>
>>>     As I interepret your snippet above, you want no optimization and
>>>     internal debug symbols..? How is that debugging a "product" build?
>>>
>>>     /Magnus
>>>
>>>
>>>         Thanks
>>>         - Ioi
>>>
>>>
>>>
>




More information about the build-dev mailing list