mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
8256508: Improve CompileCommand flag
Reviewed-by: redestad, kvn
This commit is contained in:
parent
7aed9b65d0
commit
cfb175dfdf
22 changed files with 796 additions and 482 deletions
|
@ -140,7 +140,7 @@ bool CompilerDirectives::match(const methodHandle& method) {
|
|||
}
|
||||
|
||||
bool CompilerDirectives::add_match(char* str, const char*& error_msg) {
|
||||
BasicMatcher* bm = BasicMatcher::parse_method_pattern(str, error_msg);
|
||||
BasicMatcher* bm = BasicMatcher::parse_method_pattern(str, error_msg, false);
|
||||
if (bm == NULL) {
|
||||
assert(error_msg != NULL, "Must have error message");
|
||||
return false;
|
||||
|
@ -326,7 +326,7 @@ DirectiveSet* DirectiveSet::compilecommand_compatibility_init(const methodHandle
|
|||
// Early bail out - checking all options is expensive - we rely on them not being used
|
||||
// Only set a flag if it has not been modified and value changes.
|
||||
// Only copy set if a flag needs to be set
|
||||
if (!CompilerDirectivesIgnoreCompileCommandsOption && CompilerOracle::has_any_option()) {
|
||||
if (!CompilerDirectivesIgnoreCompileCommandsOption && CompilerOracle::has_any_command_set()) {
|
||||
DirectiveSetPtr set(this);
|
||||
|
||||
// All CompileCommands are not equal so this gets a bit verbose
|
||||
|
@ -359,8 +359,7 @@ DirectiveSet* DirectiveSet::compilecommand_compatibility_init(const methodHandle
|
|||
}
|
||||
|
||||
// inline and dontinline (including exclude) are implemented in the directiveset accessors
|
||||
// ignore flags whose cc_flags are X
|
||||
#define init_default_cc(name, type, dvalue, cc_flag) { type v; if (!_modified[name##Index] && CompilerOracle::has_option_value(method, #cc_flag, v) && v != this->name##Option) { set.cloned()->name##Option = v; } }
|
||||
#define init_default_cc(name, type, dvalue, cc_flag) { type v; if (!_modified[name##Index] && CompilerOracle::has_option_value(method, CompileCommand::cc_flag, v) && v != this->name##Option) { set.cloned()->name##Option = v; } }
|
||||
compilerdirectives_common_flags(init_default_cc)
|
||||
compilerdirectives_c2_flags(init_default_cc)
|
||||
compilerdirectives_c1_flags(init_default_cc)
|
||||
|
@ -370,7 +369,7 @@ DirectiveSet* DirectiveSet::compilecommand_compatibility_init(const methodHandle
|
|||
bool need_reset = true; // if Control/DisableIntrinsic redefined, only need to reset control_words once
|
||||
|
||||
if (!_modified[ControlIntrinsicIndex] &&
|
||||
CompilerOracle::has_option_value(method, "ControlIntrinsic", option_value)) {
|
||||
CompilerOracle::has_option_value(method, CompileCommand::ControlIntrinsic, option_value)) {
|
||||
ControlIntrinsicIter iter(option_value);
|
||||
|
||||
if (need_reset) {
|
||||
|
@ -390,7 +389,7 @@ DirectiveSet* DirectiveSet::compilecommand_compatibility_init(const methodHandle
|
|||
|
||||
|
||||
if (!_modified[DisableIntrinsicIndex] &&
|
||||
CompilerOracle::has_option_value(method, "DisableIntrinsic", option_value)) {
|
||||
CompilerOracle::has_option_value(method, CompileCommand::DisableIntrinsic, option_value)) {
|
||||
ControlIntrinsicIter iter(option_value, true/*disable_all*/);
|
||||
|
||||
if (need_reset) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue