United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8005722 : Assert in c1_LIR.hpp incorrect wrt to number of register operands

Details
Type:
Bug
Submit Date:
2013-01-04
Status:
Closed
Updated Date:
2013-06-17
Project Name:
JDK
Resolved Date:
2013-02-13
Component:
embedded
OS:
Sub-Component:
hotspot
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs24,hs25
Fixed Versions:
hs25 (b20)

Related Reports
Backport:
Backport:
Backport:

Sub Tasks

Description
      assert(_oprs_len[mode] < maxNumberOfOperands, "array overflow") should probably be <= test
                                    

Comments
URL:   http://hg.openjdk.java.net/hsx/hsx25/hotspot/rev/84a926fe53d0
User:  amurillo
Date:  2013-02-22 20:02:50 +0000

                                     
2013-02-22
URL:   http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/84a926fe53d0
User:  vladidan
Date:  2013-02-13 16:40:25 +0000

                                     
2013-02-13
The problem is not the assert but the fact that in LIR_OpVisitState::visit() the receiver operand is processed twice. First at line 813 and then again when the arg list is processed starting at index 0 which is the receiver object. Fix is to set the start index to 0 or 1 based on receiver invalid/valid.
                                     
2013-01-15



Hardware and Software, Engineered to Work Together