8358572: C1 hits "need debug information" assert with -XX:-DeoptC1

Reviewed-by: shade, aph
This commit is contained in:
Manuel Hässig 2025-06-24 07:00:45 +00:00
parent f6ff38ab42
commit 03d66d9ee2
3 changed files with 3 additions and 7 deletions

View File

@ -668,7 +668,7 @@ ciKlass* Compilation::cha_exact_type(ciType* type) {
if (type != nullptr && type->is_loaded() && type->is_instance_klass()) {
ciInstanceKlass* ik = type->as_instance_klass();
assert(ik->exact_klass() == nullptr, "no cha for final klass");
if (DeoptC1 && UseCHA && !(ik->has_subklass() || ik->is_interface())) {
if (UseCHA && !(ik->has_subklass() || ik->is_interface())) {
dependency_recorder()->assert_leaf_type(ik);
return ik;
}

View File

@ -1855,7 +1855,6 @@ void GraphBuilder::access_field(Bytecodes::Code code) {
Dependencies* GraphBuilder::dependency_recorder() const {
assert(DeoptC1, "need debug information");
return compilation()->dependency_recorder();
}
@ -2001,7 +2000,7 @@ void GraphBuilder::invoke(Bytecodes::Code code) {
ciMethod* cha_monomorphic_target = nullptr;
ciMethod* exact_target = nullptr;
Value better_receiver = nullptr;
if (UseCHA && DeoptC1 && target->is_loaded() &&
if (UseCHA && target->is_loaded() &&
!(// %%% FIXME: Are both of these relevant?
target->is_method_handle_intrinsic() ||
target->is_compiled_lambda_form()) &&
@ -2252,7 +2251,7 @@ bool GraphBuilder::direct_compare(ciKlass* k) {
if (ik->is_final()) {
return true;
} else {
if (DeoptC1 && UseCHA && !(ik->has_subklass() || ik->is_interface())) {
if (UseCHA && !(ik->has_subklass() || ik->is_interface())) {
// test class is leaf class
dependency_recorder()->assert_leaf_type(ik);
return true;

View File

@ -244,9 +244,6 @@
develop(bool, GenerateArrayStoreCheck, true, \
"Generates code for array store checks") \
\
develop(bool, DeoptC1, true, \
"Use deoptimization in C1") \
\
develop(bool, PrintBailouts, false, \
"Print bailout and its reason") \
\