src/share/vm/compiler/abstractCompiler.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
8132457 Cdiff src/share/vm/compiler/abstractCompiler.hpp
src/share/vm/compiler/abstractCompiler.hpp
Print this page
*** 73,84 ****
// (i.e., the platform provides the instructions necessary for the compiler
// to generate the intrinsic code).
//
// The second parameter, 'compilation_context', is needed to implement functionality
// related to the DisableIntrinsic command-line flag. The DisableIntrinsic flag can
! // be used to prohibit the C2 compiler (but not the C1 compiler) to use an intrinsic.
! // There are three ways to disable an intrinsic using the DisableIntrinsic flag:
//
// (1) -XX:DisableIntrinsic=_hashCode,_getClass
// Disables intrinsification of _hashCode and _getClass globally
// (i.e., the intrinsified version the methods will not be used at all).
// (2) -XX:CompileCommand=option,aClass::aMethod,ccstr,DisableIntrinsic,_hashCode
--- 73,84 ----
// (i.e., the platform provides the instructions necessary for the compiler
// to generate the intrinsic code).
//
// The second parameter, 'compilation_context', is needed to implement functionality
// related to the DisableIntrinsic command-line flag. The DisableIntrinsic flag can
! // be used to prohibit the compilers to use an intrinsic. There are three ways to
! // disable an intrinsic using the DisableIntrinsic flag:
//
// (1) -XX:DisableIntrinsic=_hashCode,_getClass
// Disables intrinsification of _hashCode and _getClass globally
// (i.e., the intrinsified version the methods will not be used at all).
// (2) -XX:CompileCommand=option,aClass::aMethod,ccstr,DisableIntrinsic,_hashCode
*** 94,104 ****
// From the modes above, (1) disable intrinsics globally, (2) and (3)
// disable intrinsics on a per-method basis. In cases (2) and (3) the
// compilation context is aClass::aMethod and java.lang.ref.Reference::get,
// respectively.
virtual bool is_intrinsic_available(methodHandle method, methodHandle compilation_context) {
! return false;
}
// Determines if an intrinsic is supported by the compiler, that is,
// the compiler provides the instructions necessary to generate
// the intrinsic code for method 'method'.
--- 94,105 ----
// From the modes above, (1) disable intrinsics globally, (2) and (3)
// disable intrinsics on a per-method basis. In cases (2) and (3) the
// compilation context is aClass::aMethod and java.lang.ref.Reference::get,
// respectively.
virtual bool is_intrinsic_available(methodHandle method, methodHandle compilation_context) {
! return is_intrinsic_supported(method) &&
! !vmIntrinsics::is_disabled_by_flags(method, compilation_context);
}
// Determines if an intrinsic is supported by the compiler, that is,
// the compiler provides the instructions necessary to generate
// the intrinsic code for method 'method'.
*** 109,125 ****
// to this behavior.
virtual bool is_intrinsic_supported(methodHandle method) {
return false;
}
- // Implements compiler-specific processing of command-line flags.
- // Processing of command-line flags common to all compilers is implemented
- // in vmIntrinsicss::is_disabled_by_flag.
- virtual bool is_intrinsic_disabled_by_flag(methodHandle method) {
- return false;
- }
-
// Compiler type queries.
bool is_c1() { return _type == c1; }
bool is_c2() { return _type == c2; }
bool is_shark() { return _type == shark; }
--- 110,119 ----
src/share/vm/compiler/abstractCompiler.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File