[9] RFR (S): 8149141: Optimized build is broken

Vladimir Ivanov vladimir.x.ivanov at oracle.com
Mon Feb 8 13:06:29 UTC 2016


Vladimir, Kim, thanks for the reviews.

>> PS: I'm surprised that unit tests are full of asserts, but guarded by !defined(PRODUCT). Any reason to keep the tests in optimized build?
>
> Change looks good.
>
> Not sure it’s worth cleaning up the confusion in the internal VM tests around those flags, since we’re
> hoping for a better unit test framework soonish (JDK-8047975).  I’m pretty sure there are other places
> where there is confusion around !defined(PRODUCT) && !defined(ASSERT), though it would help if
> I could find a clear description of what “optimized” builds are for.  That variant seems to be the one
> nobody talks about…
I'm fine with leaving it as is for now.

Optimized binaries are essentially product binaries with additional 
diagnostic functionality: counters, tracing, internal structures 
dumping, verification. Just look through *globals.hpp for notproduct flags.
	
Usually, optimized binaries behave like product, but provide more tools 
to peek into the JVM. So, it is much easier to diagnose & debug problems 
with optimized binaries.

But with gradual move of diagnostic functionality into product, 
optimized binaries become less relevant.

Best regards,
Vladimir Ivanov


More information about the hotspot-dev mailing list