Mercurial > hg > truffle
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 |