Thu, 24 Jan 2013 13:27:54 -0500
8005722: Assert in c1_LIR.hpp incorrect wrt to number of register operands
Summary: In LIR_OpVisitState::visit() the receiver operand is processed twice
Reviewed-by: roland, vladidan
src/share/vm/c1/c1_LIR.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/c1/c1_LIR.cpp Tue Feb 12 09:54:34 2013 -0800 1.2 +++ b/src/share/vm/c1/c1_LIR.cpp Thu Jan 24 13:27:54 2013 -0500 1.3 @@ -814,7 +814,7 @@ 1.4 1.5 // only visit register parameters 1.6 int n = opJavaCall->_arguments->length(); 1.7 - for (int i = 0; i < n; i++) { 1.8 + for (int i = opJavaCall->_receiver->is_valid() ? 1 : 0; i < n; i++) { 1.9 if (!opJavaCall->_arguments->at(i)->is_pointer()) { 1.10 do_input(*opJavaCall->_arguments->adr_at(i)); 1.11 }