Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Blocks :
|
|
Duplicate :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
In some cases the ergonomics is trying to shrink a heap that is fairly empty, but fails due to allocated regions at the top of the heap that G1 chooses not to move for various reasons. To work around this without having to pay extra in performance by moving these regions, we should make it possible to decommit memory within the heap - i.e. make the heap capable of handling holes in the committed heap area. This will require changes in freelist management, virtual space management, and misc parts of the GC code that assumes that the heap is one contiguous area.