[lworld] RFR: 8375306: [lworld] Investigate alternatives to flatArrayOopDesc::obj_at implementation [v2]
Coleen Phillimore
coleenp at openjdk.org
Wed Feb 11 09:58:59 UTC 2026
On Fri, 6 Feb 2026 20:27:36 GMT, Frederic Parain <fparain at openjdk.org> wrote:
>> src/hotspot/share/ci/ciArray.cpp line 76:
>>
>>> 74: JavaThread* THREAD = CompilerThread::current();
>>> 75: oop elem = flatary->obj_at(index, THREAD);
>>> 76: if (HAS_PENDING_EXCEPTION) {
>>
>> This is odd. The compiler cannot create exceptions because it can't call Java code (nor can it allocate?). Should this be CATCH instead?
>
> The calls to element_value_impl() are guarded by VM_ENTRY_MARK, so this code is executed when the CompilerThread is _in_vm.
> In case of a pending exception, the code clears the exception and returns an invalid constant, delegating the handling of the situation to the caller, which is free to opt for a different approach or to simply bail out.
> This behavior was discussed with the compiler team.
Ok, thanks.
-------------
PR Review Comment: https://git.openjdk.org/valhalla/pull/2033#discussion_r2789819977
More information about the valhalla-dev
mailing list