RFR: 8325095: C2: bailout message broken: ResourceArea allocated string used after free [v2]
Emanuel Peter
epeter at openjdk.org
Fri Feb 23 08:51:57 UTC 2024
On Tue, 20 Feb 2024 16:59:03 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:
>> Emanuel Peter has updated the pull request incrementally with one additional commit since the last revision:
>>
>> remove OrderAccess::storestore() bc single threaded only
>
> UL should be done in separate RFE. Current logging (`log()->elem()`) is for `-XX:+LogCompilation` output into file. UL is for terminal.
> UL should report immediately, the same way we do for `-XX:+LogCompilation`.
>
> Different failures are recorded in ciEnv and Compiler, only after compilation is finish we record compiler's failure in ciEnv.
> There is also ciTypefFow failure which recorded in Compiler.
@vnkozlov @tstuefe thanks for the comments and suggestions!
What I did:
- Moved `utilities/cHeapStringHolder.hpp/cpp` -> `compiler/cHeapStringHolder.hpp/cpp`.
- Directly use `mtCompiler` for it, rather than constructor argument with `MEMFLAGS`.
- Fixed 2 issues (bugs and code style)
What I did not yet do:
Any changes to logging. I think we want to do that in a separate RFE anyway, and not backport it together with this bugfix.
Is there anything that you still need me to change for this bugfix here?
About Logging, in a future RFE:
@vnkozlov suggested to always UL failures immediately. The question is where I should do that. At `ciEnv::record_method_not_compilable` only? Or also in `Compile::record_method_not_compilable`?
And @vnkozlov also suggested only to report one (a single) failure reason at the very end, presumably at the `CompileTask` level. Does that mean you would still overwrite the less important failures with more important ones in `ciEnv`, like we do currently?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/17710#issuecomment-1960938937
More information about the hotspot-dev
mailing list