Closed Bug 524516 Opened 15 years ago Closed 15 years ago

Add a new thread access lock around the lifetime of the GCHeap for protection during OOM.

Categories

(Tamarin Graveyard :: Garbage Collection (mmGC), defect, P2)

defect

Tracking

(Not tracked)

VERIFIED FIXED
flash10.1

People

(Reporter: bgetlin, Assigned: lhansen)

Details

(Whiteboard: Has patch)

Attachments

(1 file, 2 obsolete files)

User-Agent:       Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729)
Build Identifier: 

- Create a new static spinlock on the GCHeap Class.
- Create static methods for utilizing the new spinlock
- Protect the GCHeap refcount by obtaining the new spinlock before increment/decrement.
- Obtain the new spinlock during the "ENTER" macros so that the heap cannot be destroyed before setting the new EnterFrame 

Reproducible: Sometimes
Attached patch Patch (obsolete) — Splinter Review
P4 change : 594536
Attachment #408450 - Flags: review?(lhansen)
Substantive:

- Ideally Enter() would test that the lock is indeed held by the calling
  thread but I don't think we have an API for this now.

Stylistic:

- GCHeap::EnterDestroy should be called EnterLockDestroy to be symmetric
  with EnterLockInit; no reason why it should not also be static; no reason
  why it needs to be inline.
- GCHeap::EnterLockInit: never compare a boolean to false, always use the
  variable name by itself or prefixed by '!'
- GCHeap::Leave: blank lines inserted for no apparent reason
Status: UNCONFIRMED → ASSIGNED
Component: Virtual Machine → Garbage Collection (mmGC)
Ever confirmed: true
OS: Windows Vista → All
Priority: -- → P2
QA Contact: vm → gc
Hardware: x86 → All
Target Milestone: --- → flash10.1
Attachment #408450 - Flags: review?(lhansen) → review+
Attachment #408450 - Attachment is obsolete: true
Assignee: nobody → lhansen
Whiteboard: Has patch
redux changeset:   2882:0e4af8807e23
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Engineering work item.  Marking as verified.
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: