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: 6798785
Votes 0
Synopsis Crash in OopFlow::build_oop_map: incorrect comparison of 64bit pointers
Category hotspot:compiler2
Reported Against
Release Fixed hs15(b02), 6u13-rev(b07) (Bug ID:2172287) , 5.0u18-rev(b06) (Bug ID:2172288) , 7(b49) (Bug ID:2173679) , hs14(b15) (Bug ID:2176413) , 6u14(b06) (Bug ID:2176414) , hs11.3(b06) (Bug ID:2176429) , 5.0u19(b02) (Bug ID:2176568)
State 10-Fix Delivered, Verified, bug
Priority: 3-Medium
Related Bugs 6745807
Submit Date 28-JAN-2009
Description
When defining a Dict you specify the compare and hash functions and Dict provides a couple useful default.  In particular for pointers it provides this:

// Slimey cheap key comparator.
int32 cmpkey(const void *key1, const void *key2) {
  return (int32)((intptr_t)key1 - (intptr_t)key2);
}

Unforturnately in 64-bit mode this throws away the high 32 bits of the pointer.
Posted Date : 2009-01-28 20:29:15.0
Work Around
N/A
Evaluation
A traditional 3 way compare would work fine.
Posted Date : 2009-01-28 21:58:44.0

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/1580954e694c
Posted Date : 2009-02-04 22:09:12.0
Comments
  
  Include a link with my name & email   


PLEASE NOTE: JDK6 is formerly known as Project Mustang