On Sat, 27 Jun 2026 15:02:09 GMT, Gui Cao <[email protected]> wrote:
> Maybe setting `LIRGenerator::set_in_conditional_code` here like we do as
> mitigation in Load/StoreIndexed would help?
Hi Tobias,
I tried this fix, but it didn't solve the current problem(Maybe I misunderstood
something). The program still crashed.
If you have a better fix suggestion, i'd be happy to try it out.
fix patch:
diff --git a/src/hotspot/share/c1/c1_LIRGenerator.cpp
b/src/hotspot/share/c1/c1_LIRGenerator.cpp
index 0227615241c..05b8677fc55 100644
--- a/src/hotspot/share/c1/c1_LIRGenerator.cpp
+++ b/src/hotspot/share/c1/c1_LIRGenerator.cpp
@@ -2390,8 +2390,8 @@ void LIRGenerator::do_LoadIndexed(LoadIndexed* x) {
index.load_item();
// if we are loading from a flat array, load it using a runtime call
slow_path = new LoadFlattenedArrayStub(array.result(), index.result(),
result, state_for(x, x->state_before()));
- check_flat_array(array.result(), slow_path);
set_in_conditional_code(true);
+ check_flat_array(array.result(), slow_path);
}
DecoratorSet decorators = IN_HEAP | IS_ARRAY;
-------------
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2579#discussion_r3503441025