diff options
| author | 2014-01-31 09:55:13 -0800 | |
|---|---|---|
| committer | 2014-01-31 14:59:20 -0800 | |
| commit | d5a89ee74c00bd24a34b6e795828a0b86842630f (patch) | |
| tree | ebeab83820aaae0761a52de2e3ac8c83f68757f5 /compiler/compiler_backend.h | |
| parent | 39a548933c7d083647ccb1d508240198ffff5a5c (diff) | |
Fix race conditions caused by StartGC.
Race1: Heap trimming could happen when we were transitioning the heap.
This caused the space to get deleted in the middle of the trim.
Race2: IncrementDisableCompactingGC needed to WaitForConcurrentGC if
we were running a moving GC or about to starting a moving GC.
Race3: The logic for whether or not we had a compacting GC was
calculated before StartGC in CollectGarbageInternal. This could cause
us to get blocked waiting for the GC to complete and come out of the
wait with a new collector_type_ due to a heap transition.
Change-Id: I07c36ae5df1820e9cca70cf239e46175c1eb9575
Diffstat (limited to 'compiler/compiler_backend.h')
0 files changed, 0 insertions, 0 deletions