1085 // Should the compiler insert a breakpoint into the generated code 1086 // method? 1087 bool ciMethod::break_at_execute() { 1088 check_is_loaded(); 1089 VM_ENTRY_MARK; 1090 methodHandle mh(THREAD, get_Method()); 1091 return CompilerOracle::should_break_at(mh); 1092 } 1093 1094 // ------------------------------------------------------------------ 1095 // ciMethod::has_option 1096 // 1097 bool ciMethod::has_option(const char* option) { 1098 check_is_loaded(); 1099 VM_ENTRY_MARK; 1100 methodHandle mh(THREAD, get_Method()); 1101 return CompilerOracle::has_option_string(mh, option); 1102 } 1103 1104 // ------------------------------------------------------------------ 1105 // ciMethod::can_be_compiled 1106 // 1107 // Have previous compilations of this method succeeded? 1108 bool ciMethod::can_be_compiled() { 1109 check_is_loaded(); 1110 ciEnv* env = CURRENT_ENV; 1111 if (is_c1_compile(env->comp_level())) { 1112 return _is_c1_compilable; 1113 } 1114 return _is_c2_compilable; 1115 } 1116 1117 // ------------------------------------------------------------------ 1118 // ciMethod::set_not_compilable 1119 // 1120 // Tell the VM that this method cannot be compiled at all. 1121 void ciMethod::set_not_compilable(const char* reason) { 1122 check_is_loaded(); 1123 VM_ENTRY_MARK; 1124 ciEnv* env = CURRENT_ENV; | 1085 // Should the compiler insert a breakpoint into the generated code 1086 // method? 1087 bool ciMethod::break_at_execute() { 1088 check_is_loaded(); 1089 VM_ENTRY_MARK; 1090 methodHandle mh(THREAD, get_Method()); 1091 return CompilerOracle::should_break_at(mh); 1092 } 1093 1094 // ------------------------------------------------------------------ 1095 // ciMethod::has_option 1096 // 1097 bool ciMethod::has_option(const char* option) { 1098 check_is_loaded(); 1099 VM_ENTRY_MARK; 1100 methodHandle mh(THREAD, get_Method()); 1101 return CompilerOracle::has_option_string(mh, option); 1102 } 1103 1104 // ------------------------------------------------------------------ 1105 // ciMethod::has_option_value 1106 // 1107 template<typename T> 1108 bool ciMethod::has_option_value(const char* option, T& value) { 1109 check_is_loaded(); 1110 VM_ENTRY_MARK; 1111 methodHandle mh(THREAD, get_Method()); 1112 return CompilerOracle::has_option_value(mh, option, value); 1113 } 1114 // Explicit instantiation for all OptionTypes supported. 1115 template bool ciMethod::has_option_value<intx>(const char* option, intx& value); 1116 template bool ciMethod::has_option_value<uintx>(const char* option, uintx& value); 1117 template bool ciMethod::has_option_value<bool>(const char* option, bool& value); 1118 template bool ciMethod::has_option_value<ccstr>(const char* option, ccstr& value); 1119 1120 // ------------------------------------------------------------------ 1121 // ciMethod::can_be_compiled 1122 // 1123 // Have previous compilations of this method succeeded? 1124 bool ciMethod::can_be_compiled() { 1125 check_is_loaded(); 1126 ciEnv* env = CURRENT_ENV; 1127 if (is_c1_compile(env->comp_level())) { 1128 return _is_c1_compilable; 1129 } 1130 return _is_c2_compilable; 1131 } 1132 1133 // ------------------------------------------------------------------ 1134 // ciMethod::set_not_compilable 1135 // 1136 // Tell the VM that this method cannot be compiled at all. 1137 void ciMethod::set_not_compilable(const char* reason) { 1138 check_is_loaded(); 1139 VM_ENTRY_MARK; 1140 ciEnv* env = CURRENT_ENV; |