• Andreas Gampe's avatar
    ART: Weaken size check in hprof · e4cf5892
    Andreas Gampe authored
    Dumping the heap is a two-phase process. In the first phase, all
    objects are visited to fill the header tables. In the second phase,
    the tables are written out and the heap is visited again to write
    the object records.
    
    Deleting global references doesn't require the mutator lock. So it
    is possible to delete a global ref in-between the first and the
    second phase. This leads to a smaller set of object records. The
    result is still safe, as the object's class etc. is still in the
    header tables, and the object won't be deleted, so will still be
    dumped by itself.
    
    Bug: 23521263
    Change-Id: I019c29b13ceb9f13e362c742662f1546d52c37a0
    e4cf5892
hprof.cc 36.9 KB