United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6252656 Putative invariant for TLABS _start+_size==_end+alignment_reserve() not being maintained
JDK-6252656 : Putative invariant for TLABS _start+_size==_end+alignment_reserve() not being maintained

Details
Type:
Bug
Submit Date:
2005-04-08
Status:
Resolved
Updated Date:
2010-04-02
Project Name:
JDK
Resolved Date:
2006-11-14
Component:
hotspot
OS:
generic
Sub-Component:
gc
CPU:
generic
Priority:
P5
Resolution:
Fixed
Affected Versions:
6
Fixed Versions:
hs10 (b03)

Related Reports
Backport:
Backport:
Relates:

Sub Tasks

Description
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

                                    

Comments
EVALUATION

fix will be rolled with the changes for 6483660.
                                     
2005-04-08
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
                                     
2005-04-08
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)
                                     
2006-10-25



Hardware and Software, Engineered to Work Together