RFR (S): 8010934: assert failure in c1_LinearScan.cpp: "asumption: non-Constant instructions have only virtual operands"
Vladimir Kozlov
vladimir.kozlov at oracle.com
Thu Mar 28 08:54:02 PDT 2013
Why big indention for print in process_access_indexed() also could ad
parenthesis and spaces for length expression in it?:
((ai->length() != NULL) ? ai->length()->id() : -1)
insert_deoptimization() comment said it returns true or false but I
don't see that. May be change the comment.
Thanks,
Vladimir
On 3/28/13 2:01 AM, Roland Westrelin wrote:
> http://cr.openjdk.java.net/~roland/8010934/webrev.00/
>
> 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.
>
> Roland.
>
More information about the hotspot-compiler-dev
mailing list