changeset 4258: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 6c2da81297c5
children cf9a2071eeac 1605eef8e11e
files src/share/vm/c1/c1_LIR.cpp
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/c1/c1_LIR.cpp	Tue Feb 12 09:54:34 2013 -0800
+++ b/src/share/vm/c1/c1_LIR.cpp	Thu Jan 24 13:27:54 2013 -0500
@@ -814,7 +814,7 @@
 
       // only visit register parameters
       int n = opJavaCall->_arguments->length();
-      for (int i = 0; i < n; i++) {
+      for (int i = opJavaCall->_receiver->is_valid() ? 1 : 0; i < n; i++) {
         if (!opJavaCall->_arguments->at(i)->is_pointer()) {
           do_input(*opJavaCall->_arguments->adr_at(i));
         }