comparison src/share/vm/c1/c1_LIR.cpp @ 8084:84a926fe53d0

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
author bpittore
date Thu, 24 Jan 2013 13:27:54 -0500
parents 203f64878aab
children 46f6f063b272
comparison
equal deleted inserted replaced
8083:6c2da81297c5 8084:84a926fe53d0
812 812
813 if (opJavaCall->_receiver->is_valid()) do_input(opJavaCall->_receiver); 813 if (opJavaCall->_receiver->is_valid()) do_input(opJavaCall->_receiver);
814 814
815 // only visit register parameters 815 // only visit register parameters
816 int n = opJavaCall->_arguments->length(); 816 int n = opJavaCall->_arguments->length();
817 for (int i = 0; i < n; i++) { 817 for (int i = opJavaCall->_receiver->is_valid() ? 1 : 0; i < n; i++) {
818 if (!opJavaCall->_arguments->at(i)->is_pointer()) { 818 if (!opJavaCall->_arguments->at(i)->is_pointer()) {
819 do_input(*opJavaCall->_arguments->adr_at(i)); 819 do_input(*opJavaCall->_arguments->adr_at(i));
820 } 820 }
821 } 821 }
822 822