When the optimising compiler folds a chain of final references it may substitute the target of the references chain with an equal but non-identical object.
The attached patch against 2.9.2 fixes this by changing VM_Statics.objectLiterals to use identity instead of equality. While this corrects the problem it may or may not be the best way of solving it.
STATEMENT OF ORIGIN FOR A SINGLE CONTRIBUTOR
I, Yuval Yarom:
(a) represent that either:
I am the only author and owner of the contributed software
(described as/entitled fixing runtime package isolation),
which was neither derived nor copied from any other software,
or
(ii) that any exception to
is software which was obtained under the
CPL (Common Public License),
and
(b) hereby agree to license this contributed software under the CPL.