src/share/vm/classfile/vmSymbols.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/share/vm/classfile/vmSymbols.cpp	Thu Oct  8 14:07:16 2015
--- new/src/share/vm/classfile/vmSymbols.cpp	Thu Oct  8 14:07:15 2015

*** 415,454 **** --- 415,428 ---- default: return 0; } } - bool vmIntrinsics::is_disabled_by_flags(methodHandle method, methodHandle compilation_context) { vmIntrinsics::ID id = method->intrinsic_id(); assert(id != vmIntrinsics::_none, "must be a VM intrinsic"); // Check if the intrinsic corresponding to 'method' has been disabled on // the command line by using the DisableIntrinsic flag (either globally // or on a per-method level, see src/share/vm/compiler/abstractCompiler.hpp // for details). // Usually, the compilation context is the caller of the method 'method'. // The only case when for a non-recursive method 'method' the compilation context // is not the caller of the 'method' (but it is the method itself) is // java.lang.ref.Referene::get. // For java.lang.ref.Reference::get, the intrinsic version is used // instead of the compiled version so that the value in the referent // field can be registered by the G1 pre-barrier code. The intrinsified // version of Reference::get also adds a memory barrier to prevent // commoning reads from the referent field across safepoint since GC // can change the referent field's value. See Compile::Compile() // in src/share/vm/opto/compile.cpp or // GraphBuilder::GraphBuilder() in src/share/vm/c1/c1_GraphBuilder.cpp // for more details. ccstr disable_intr = NULL; if ((DisableIntrinsic[0] != '\0' && strstr(DisableIntrinsic, vmIntrinsics::name_at(id)) != NULL) || (!compilation_context.is_null() && CompilerOracle::has_option_value(compilation_context, "DisableIntrinsic", disable_intr) && strstr(disable_intr, vmIntrinsics::name_at(id)) != NULL) ) { return true; } // -XX:-InlineNatives disables nearly all intrinsics except the ones listed in // the following switch statement. if (!InlineNatives) { switch (id) { case vmIntrinsics::_indexOf:

src/share/vm/classfile/vmSymbols.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File