RFR: 8339694: ciTypeFlow does not correctly handle unresolved constant dynamic of array type [v3]

Vladimir Kozlov kvn at openjdk.org
Thu Oct 17 16:58:59 UTC 2024


On Tue, 15 Oct 2024 08:04:54 GMT, Tobias Hartmann <thartmann at openjdk.org> wrote:

>> src/hotspot/share/ci/ciTypeFlow.cpp line 2220:
>> 
>>> 2218:     case Bytecodes::_ldc_w:
>>> 2219:     case Bytecodes::_ldc2_w:
>>> 2220:       return str.is_in_error() || !str.get_constant().is_loaded();
>> 
>> There is also `con.is_valid()` check in `do_ldc()`. But I do know what memory is referenced in "OutOfMemoryError in the CI while loading a String constant" when it is invalid.
>
> But in that case no exception is installed and we bail out from compilation, right?
> https://github.com/openjdk/jdk/blob/master/src/hotspot/share/ci/ciTypeFlow.cpp#L746

Right.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/21470#discussion_r1805115873


More information about the hotspot-compiler-dev mailing list