Skip to content
  • oliver@apple.com's avatar
    fourthTier: SymbolTable should be thread-safe · f72e22e2
    oliver@apple.com authored
    https://bugs.webkit.org/show_bug.cgi?id=115301
    
    Reviewed by Geoffrey Garen.
    
    Makes SymbolTable thread-safe. Relies on SymbolTableEntry already being immutable,
    other than the WatchpointSet; but the WatchpointSet already has a righteous
    concurrency protocol. So, this patch just protects the SymbolTable's HashMap.
    
    * bytecode/CodeBlock.cpp:
    (JSC::CodeBlock::nameForRegister):
    * bytecompiler/BytecodeGenerator.cpp:
    (JSC::BytecodeGenerator::addVar):
    * runtime/Executable.cpp:
    (JSC::ProgramExecutable::addGlobalVar):
    * runtime/JSActivation.cpp:
    (JSC::JSActivation::getOwnNonIndexPropertyNames):
    (JSC::JSActivation::symbolTablePutWithAttributes):
    * runtime/JSSymbolTableObject.cpp:
    (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
    * runtime/JSSymbolTableObject.h:
    (JSC::symbolTableGet):
    (JSC::symbolTablePut):
    (JSC::symbolTablePutWithAttributes):
    * runtime/SymbolTable.cpp:
    (JSC::SymbolTable::SymbolTable):
    (JSC::SymbolTable::~SymbolTable):
    * runtime/SymbolTable.h:
    (JSC::SymbolTable::find):
    (JSC::SymbolTable::get):
    (JSC::SymbolTable::inlineGet):
    (JSC::SymbolTable::begin):
    (JSC::SymbolTable::end):
    (JSC::SymbolTable::size):
    (JSC::SymbolTable::add):
    (JSC::SymbolTable::set):
    (JSC::SymbolTable::contains):
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153132 268f45cc-cd09-0410-ab3c-d52691b4dbfc
    f72e22e2