summaryrefslogtreecommitdiff
path: root/test/ProfileTestMultiDex/Main.java
diff options
context:
space:
mode:
authorLei Li <lei.l.li@intel.com>2015-06-11 17:50:20 +0800
committerYu Li <yu.l.li@intel.com>2015-11-26 16:00:35 +0800
commit578462103b548484e45079a749cb684f6a7e635c (patch)
tree9d064b5a6a210a328bdb0225601b8583d4b5b93f /test/ProfileTestMultiDex/Main.java
parentbeb709a2607a00b5df33f0235f22ccdd876cee22 (diff)
No need merging bulk free list again when revoking thread local runs
In RevokeThreadLocalRuns, the bracket index lock guards thread local free list to avoid race condition with merging bulk free list to thread local free list by GC thread in BulkFree. Thus the thread local list operation is atomic. There are two cases when the mutator is unexpectedly terminated and then try to revoke the thread local run for this mutator before termination: 1) Before termination, the thread local run is true, GC thread helps merge bulk free list to thread local free list in last BulkFree. And the latest thread local free list will be merged to free list either when this run is full or when revoking this run in RevokeThreadLocalRuns. In this case the free list will finally be updated. 2) After termination, the thread local run is set to false, GC thread will help merge bulk free list in the following BulkFree. Thus no need to merge bulk free list to free list again in RevokeThreadLocalRuns. Change-Id: I1a390f5356cd4cb5ca058216b9bf6e701cab9e77 Signed-off-by: Lei Li <lei.l.li@intel.com>
Diffstat (limited to 'test/ProfileTestMultiDex/Main.java')
0 files changed, 0 insertions, 0 deletions