Commits
Patrick Scott authored e1f43dadb9a
Share chunks between all ByteArrayBuilders. If a single ByteArrayBuilder accumulates many chunks, it is possible that many of those chunks will not be reused and will just take up memory in the pool. If the pool is shared across all instances, fewer chunks need to be allocated. This allows a site like http://www.606studios.com/bendisboard/showthread.php?t=170286 to load without crashing due to OOM. The shared pool contains SoftReferences to each chunk. If the vm feels memory pressure, it is allowed to mark these references for collection. Before accessing the pool of chunks, I remove any queued references from the pool. Cleanup ByteArrayBuilder a little by removing unused methods and fields. Document some synchronization spots in LoadListener and add a lock when downloading a certificate. Bug: 1637965