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"?
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.stu...@gmail.com
<mailto:thomas.stu...@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.bur...@oracle.com
<mailto:magnus.ihse.bur...@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