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

Reply via email to