JDK-6252656 : Putative invariant for TLABS _start+_size==_end+alignment_reserve() not being maintained
  • Type: Bug
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 6
  • Priority: P5
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2005-04-08
  • Updated: 2010-04-02
  • Resolved: 2006-11-14
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
6u4Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
See comments section for email describing the issue.
As noted the issue is not a defect in the traditional sense
but can be confusing; fixing it would make for cleaner
semantics for the TLAB::_size field.
###@###.### 2005-04-08 16:51:32 GMT

SUGGESTED FIX Event: putback-to Parent workspace: /net/jano.sfbay/export/disk05/hotspot/ws/main/gc_baseline (jano.sfbay:/export/disk05/hotspot/ws/main/gc_baseline) Child workspace: /net/prt-web.sfbay/prt-workspaces/20061024144131.ysr.gc_baseline/workspace (prt-web:/net/prt-web.sfbay/prt-workspaces/20061024144131.ysr.gc_baseline/workspace) User: ysr Comment: --------------------------------------------------------- Job ID: 20061024144131.ysr.gc_baseline Original workspace: neeraja:/net/spot/scratch/ysr/gc_baseline Submitter: ysr Archived data: /net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2006/20061024144131.ysr.gc_baseline/ Webrev: http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/gc_baseline/2006/20061024144131.ysr.gc_baseline/workspace/webrevs/webrev-2006.10.24/index.html Fixed 6252656: Putative invariant for TLABS _start+_size==_end+alignment_reserve() not being maintained Webrev: http://analemma.sfbay/net/spot/scratch/ysr/gc_baseline/webrev As the email discussion in the bug report noted, the confusion stemmed mainly from the name of the "_size" field, and the associated comment. This has been fixed by renaming the field to "_desired_size". The changes are purely syntactic. If necessary, when the need arises, one can add an actual_size() method that merely returns the difference between top() and end(). Reviewed by: John Coomes, Peter Kessler, Tony Printezis Fix Verified: N/A (not a bug in the traditional sense) Verification Testing: N/A Other testing: minimal: build+specjvm 98 run; also PRT Files: update: src/share/vm/memory/threadLocalAllocBuffer.cpp update: src/share/vm/memory/threadLocalAllocBuffer.hpp update: src/share/vm/memory/threadLocalAllocBuffer.inline.hpp update: src/share/vm/runtime/thread.hpp update: src/share/vm/runtime/vmStructs.cpp Examined files: 3884 Contents Summary: 5 update 3879 no action (unchanged)

EVALUATION fix will be rolled with the changes for 6483660.

SUGGESTED FIX See email in comments section; without having looked closely at the code at this point, we probably prefer Ross' second alternative: "create an method to compute the actual size and change the comment and name of the _size field." This field will be updated by RE with actual fix upon putback. ###@###.### 2005-04-08 16:51:33 GMT