RFR (S): 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands"

Roland Westrelin roland.westrelin at oracle.com
Thu Mar 28 02:01:45 PDT 2013


LIRGenerator::do_ArrayLength() tries to not emit code to load the length of an array if it doesn't serve as implicit null check and it's not used (following range check elimination), using the instruction's use count. The use count doesn't take into account references from debug infos so even if it is zero the instruction can still be needed. This minor optimization doesn't appear to trigger often (never on a few reference_server runs) so I simply removed it.


More information about the hotspot-compiler-dev mailing list