FTR: JVM Lang Summit presentation
Paul Sandoz
paul.sandoz at oracle.com
Thu Sep 4 19:27:11 UTC 2014
On Sep 4, 2014, at 7:24 PM, Christian Thalinger <christian.thalinger at oracle.com> wrote:
>> Do you know the area of hotspot where those optimizations are enforced?
>
> Search for:
>
> src/share/vm/runtime/globals.hpp
> 3827: experimental(bool, TrustFinalNonStaticFields, false, \
>
Many thanks, got it (I should have followed the @Stable trail):
static bool trust_final_non_static_fields(ciInstanceKlass* holder) {
if (holder == NULL)
return false;
if (holder->name() == ciSymbol::java_lang_System())
// Never trust strangely unstable finals: System.out, etc.
return false;
// Even if general trusting is disabled, trust system-built closures in these packages.
if (holder->is_in_package("java/lang/invoke") || holder->is_in_package("sun/invoke"))
return true;
return TrustFinalNonStaticFields;
}
I like the first comment :-) "// Never trust strangely unstable finals: System.out, etc.".
Paul.
More information about the valhalla-dev
mailing list