Java Solaris Communities Sun Store Join SDN My Profile Why Join?
 
Bug Database
Bug Detail
Quick Lists
Top 25 Bugs
Top 25 RFE's
Recently Closed Bugs
Printable Page Printable Page


Bug Database
Bug ID: 6646019
Votes 0
Synopsis array subscript expressions become top() with -d64
Category hotspot:compiler2
Reported Against b10 , b11
Release Fixed hs13(b01), 6u14(b01) (Bug ID:2174894)
State 10-Fix Delivered, bug
Priority: 3-Medium
Related Bugs 6589186 , 6646015 , 6646016 , 6646017 , 6646018 , 6646021 , 6663926
Submit Date 29-DEC-2007
Description
This assertion is observed at least on linux-i586/amd64 with both latest jdk6 (1.6.0_10-ea-b09) and jdk7 (1.7.0-ea-b24):
	#  Internal Error (/BUILD_AREA/jdk7/hotspot/src/share/vm/opto/matcher.cpp:1337), pid=16791, tid=1081244000
	#  Error: assert(false,"bad AD file")

It occurs only in -Xcomp mode.

Testcase and hs_err file are attached.
Posted Date : 2007-12-29 01:26:41.0

Also fails on sparc with -d64.
Posted Date : 2008-01-08 23:54:04.0
Work Around
N/A
Evaluation
For performance reasons, in 64 bit mode, C2 tries to narrow the type
of an array subscript expression to 32 bits. If at compile time, the
subscript, or the array length is deduced to be negative, the compiler
recognizes the impossibility of the value and the narrowing operation
uses a top() node to represent the expression.

At runtime, the array subscript operation is not reached because an
exception will be thrown first. However, the top() node
plays havoc with the C2 type system and should be avoided if the
conditions that generate it are recognized.

The sample program has code to allocate an array with a negative
length. Other tests show failures with negative array subscripts.
Posted Date : 2008-01-09 23:04:47.0

Bug was introduced by fix for 6589186.
Posted Date : 2008-01-14 18:50:37.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang