|
Quick Lists
|
|
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
|
PLEASE NOTE: JDK6 is formerly known as Project Mustang
|
|
|
 |