Skip to content
  • rniwa@webkit.org's avatar
    Leak bots erroneously report JSC::WatchpointSet as leaking · 3340cf93
    rniwa@webkit.org authored
    https://bugs.webkit.org/show_bug.cgi?id=107781
    
    Reviewed by Filip Pizlo.
    
    Since leaks doesn't support tagged pointers, avoid using it by flipping the bit flag to indicate
    the entry is "fat". We set the flag when the entry is NOT fat; i.e. slim.
    
    Replaced FatFlag by SlimFlag and initialized m_bits with this flag to indicate that the entry is
    initially "slim".
    
    * runtime/SymbolTable.cpp:
    (JSC::SymbolTableEntry::copySlow): Don't set FatFlag since it has been replaced by SlimFlag.
    (JSC::SymbolTableEntry::inflateSlow): Ditto.
    
    * runtime/SymbolTable.h:
    (JSC::SymbolTableEntry::Fast::Fast): Set SlimFlag by default.
    (JSC::SymbolTableEntry::Fast::isNull): Ignore SlimFlag.
    (JSC::SymbolTableEntry::Fast::isFat): An entry is fat when m_bits is not entirely zero and SlimFlag
    is not set.
    
    (JSC::SymbolTableEntry::SymbolTableEntry): Set SlimFlag by default.
    (JSC::SymbolTableEntry::SymbolTableEntry::getFast): Set SlimFlag when creating Fast from a fat entry.
    (JSC::SymbolTableEntry::isNull): Ignore SlimFlag.
    (JSC::SymbolTableEntry::FatEntry::FatEntry): Strip SlimFlag.
    (JSC::SymbolTableEntry::isFat): An entry is fat when m_bits is not entirely zero and SlimFlag is unset.
    (JSC::SymbolTableEntry::fatEntry): Don't strip FatFlag as this flag doesn't exist anymore.
    (JSC::SymbolTableEntry::pack): Preserve SlimFlag.
    
    (JSC::SymbolTableIndexHashTraits): empty value is no longer zero so don't set emptyValueIsZero true.
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@146568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    3340cf93