JDK-6921922 : fix for 6911204 breaks tagged stack interpreter
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: hs17
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic,solaris_9
  • CPU: generic,sparc
  • Submitted: 2010-02-01
  • Updated: 2012-10-08
  • Resolved: 2010-02-09
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
6u21Fixed 7Fixed hs17Fixed
Related Reports
Duplicate :  
Relates :  
Description
The new logic for sharing adapters will smear together arguments of the same size without regard to whether they are oops or not.  This is incorrect with the tagged stack interpreter since it must also set the tag bigs for them.  We need a more flexible strategy.
This bug affects the following VM/NSK test:

    nsk/jvmti/AddCapabilities/addcaps003
Could you please add the complete list of vm options too next time to make the bug easier to verify?
It looks like the test takes care of the options, but I'm not able to reproduce the failure on /net/sqenfs-1.sfbay/export1/comp/vm/jdk/hsx/17/pit/b09/jdk7b83/product or on b08/jdk782. Tried to look in nightlies for it's failure, but no luck, only one strange linux failure which doesn't reproduce. I'm trying to verify it during b09 pit which is strange, since it's said to be committed in b10.
I tried to reporoduce it via
/net/sqenfs-1.sfbay/export1/tools/gtee/harness/ute/ute -tlists empty -jdk /net/sqenfs-1.sfbay/export1/comp/vm/jdk/hsx/17/pit/b09/jdk7b83/product/solaris-sparcv9  -test nsk/jvmti/AddCapabilities/addcaps003  -vmopts "-Xmixed -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode"
and also on solaris-amd64 and on linux-amd64

Comments
EVALUATION The new logic for sharing adapters will smear together arguments of the same size without regard to whether they are oops or not. This is incorrect with the tagged stack interpreter since it must also set the tag bigs for them. I've changed the fingerprinter to relying purely on the BasicType signature with a little explicit signature smearing. This should might it run slightly faster since we don't have to go through the calling convention for a successful lookup. There's also a new flag VerifyAdapterSharing that checks that the code generated for shared adapters is the same. Tested with failing test.
04-02-2010

EVALUATION ChangeSet=http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/74c848d437ab,ChangeRequest=6921922
03-02-2010

EVALUATION smearing of objects with other types breaks the tagging.
01-02-2010