• Kevin Modzelewski's avatar
    Support Rewriter::addGCReference, now without leaks · 2f2c2f20
    Kevin Modzelewski authored
    This is for adding a guard on a non-immortal object, since we need
    to be safe against that object getting deallocated and a different object
    is allocated in its spot.
    
    We had support for this already, but it leaked memory.  The biggest was
    that we never freed our runtimeICs, so if those ended up getting any GC
    references in them, then we would leak memory.  So I started freeing those,
    but then that exposed the issue that the ICInvalidators expect that their
    dependent ICs never get freed.  So I added back a mapping from ICSlotInfo->
    ICInvalidators that reference them.
    2f2c2f20
types.cpp 167 KB