RFR 8219154 [lworld] C1 aastore of flattened array needs null check for L-types
ioi.lam at oracle.com
Sun Feb 17 01:37:51 UTC 2019
I added a new method Instruction::is_never_null(), and set it whenever
we have add a new object value into the IR
This covers aaload, getfield, withfield, newobject.
Note that I haven't handled getstatic yet. The default behavior is to
emit the null check, so it will be safe, just slower. I will fix that as
part of JDK-8219155.
I added ciObjectFactory::make_never_null_wrapper, so that the ident will
be set properly. Otherwise printing ciWrappers inside gdb would cause an
Also, I have a question of the lifetime of the ciWrappers allocated
inside the original ciSignature::ciSignature code. Will these get freed
when the current compilation finishes, or will they stick forever until
the current compiler thread is terminated? If it's the latter, then
maybe we should cache them in ciType::_never_null_wrapper?
More information about the valhalla-dev