JDK-6511866 : Bad fix to 6281377: Unsafe lazy field set methods
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 6
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2007-01-10
  • Updated: 2010-04-02
  • Resolved: 2007-03-29
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u2 b01Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Description
From:   Doug Lea
Subject: Re: AtomicX.lazySet (was weakSet)
Date: January 10, 2007 10:28:14 AM PST

Somewhere between my tests here and eventual integration, the
signature strings for Unsafe_putOrdered* in vmSymbols.hpp
got screwed up by one letter, so they stopped being inlined (and are
thus very very slow!) 

Somewhere between my tests here and eventual integration, the
signature strings for Unsafe_putOrdered* in vmSymbols.hpp
got screwed up by one letter, so they stopped being inlined (and are
thus very very slow!)

Comments
SUGGESTED FIX *** /home/dl/1.6.0/j2se/martin/hotspot/src/share/vm/memory/vmSymbols.hpp Wed May 3 20:52:26 2006 --- ./vmSymbols.hpp Wed Jan 10 13:02:06 2007 *************** *** 349,357 **** template(sun_misc_Unsafe_compareAndSwapObject_obj_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z") \ template(sun_misc_Unsafe_compareAndSwapLong_obj_signature, "(Ljava/lang/Object;JJJ)Z") \ template(sun_misc_Unsafe_compareAndSwapInt_obj_signature, "(Ljava/lang/Object;JII)Z") \ ! template(sun_misc_Unsafe_putOrderedObject_obj_signature, "(Ljava/lang/Object;JLjava/lang/Object;)Z") \ ! template(sun_misc_Unsafe_putOrderedLong_obj_signature, "(Ljava/lang/Object;JJ)Z") \ ! template(sun_misc_Unsafe_putOrderedInt_obj_signature, "(Ljava/lang/Object;JI)Z") \ template(sun_misc_Unsafe_park_signature, "(ZJ)V") \ template(sun_misc_Unsafe_unpark_signature, "(Ljava/lang/Object;)V") \ \ --- 349,357 ---- template(sun_misc_Unsafe_compareAndSwapObject_obj_signature, "(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z") \ template(sun_misc_Unsafe_compareAndSwapLong_obj_signature, "(Ljava/lang/Object;JJJ)Z") \ template(sun_misc_Unsafe_compareAndSwapInt_obj_signature, "(Ljava/lang/Object;JII)Z") \ ! template(sun_misc_Unsafe_putOrderedObject_obj_signature, "(Ljava/lang/Object;JLjava/lang/Object;)V") \ ! template(sun_misc_Unsafe_putOrderedLong_obj_signature, "(Ljava/lang/Object;JJ)V") \ ! template(sun_misc_Unsafe_putOrderedInt_obj_signature, "(Ljava/lang/Object;JI)V") \ template(sun_misc_Unsafe_park_signature, "(ZJ)V") \ template(sun_misc_Unsafe_unpark_signature, "(Ljava/lang/Object;)V") \ \
10-01-2007

EVALUATION Yes. This is a flaw in the following SCCS delta: src/share/vm/memory/vmSymbols.hpp d D 1.141 05/06/22 15:22:36 jrose 240 239 c 6281377 provide Unsafe lazy field set methods Drat.
10-01-2007