-
oliver@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=115468 Reviewed by Geoffrey Garen. This makes the main thread modify the transition table while holding a lock. Note that the GC might modify its weak pointers without locking, but the GC will lock out the compilation thread anyway. The map will then only reshape in response to add() and set(), which happen while holding a lock. This allows the compilation thread to now query transition tables safely, provided it holds a lock when doing so. Also changed LLVM asm printer initialization to just initialize the X86 one. It makes sense for us to just initialize the asm printer(s) that we actually use; you could imagine us being linked to a system LLVM that has cross-compilation support; there is no point in the WebKit or JSC process doing work to initialize all of those targets. That part was rubber stamped by Mark Hahnenberg. * bytecode/PutByIdStatus.cpp: (JSC::PutByIdStatus::computeFor): * runtime/InitializeThreading.cpp: (JSC::initializeThreadingOnce): * runtime/Structure.cpp: (JSC::Structure::addPropertyTransitionToExistingStructureImpl): (JSC::Structure::addPropertyTransitionToExistingStructure): (JSC): (JSC::Structure::addPropertyTransitionToExistingStructureConcurrently): (JSC::Structure::addPropertyTransition): (JSC::Structure::nonPropertyTransition): * runtime/Structure.h: (Structure): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153140 268f45cc-cd09-0410-ab3c-d52691b4dbfc
cece4b66