<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[208761] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/208761">208761</a></dd>
<dt>Author</dt> <dd>fpizlo@apple.com</dd>
<dt>Date</dt> <dd>2016-11-15 15:21:50 -0800 (Tue, 15 Nov 2016)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename CONCURRENT_JIT/ConcurrentJIT to CONCURRENT_JS/ConcurrentJS
https://bugs.webkit.org/show_bug.cgi?id=164791

Reviewed by Geoffrey Garen.
        
Source/JavaScriptCore:

Just renaming.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::computeUpdatedPrediction):
(JSC::ArrayProfile::briefDescription):
(JSC::ArrayProfile::briefDescriptionWithoutUpdating):
* bytecode/ArrayProfile.h:
(JSC::ArrayProfile::observedArrayModes):
(JSC::ArrayProfile::mayInterceptIndexedAccesses):
(JSC::ArrayProfile::mayStoreToHole):
(JSC::ArrayProfile::outOfBounds):
(JSC::ArrayProfile::usesOriginalArrayStructures):
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFromLLInt):
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::computeExitSiteData):
(JSC::CallLinkStatus::computeFromCallLinkInfo):
(JSC::CallLinkStatus::computeDFGStatuses):
* bytecode/CallLinkStatus.h:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpValueProfiling):
(JSC::CodeBlock::dumpArrayProfiling):
(JSC::CodeBlock::finishCreation):
(JSC::CodeBlock::setConstantRegisters):
(JSC::CodeBlock::getStubInfoMap):
(JSC::CodeBlock::getCallLinkInfoMap):
(JSC::CodeBlock::getByValInfoMap):
(JSC::CodeBlock::addStubInfo):
(JSC::CodeBlock::addByValInfo):
(JSC::CodeBlock::addCallLinkInfo):
(JSC::CodeBlock::resetJITData):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::getArrayProfile):
(JSC::CodeBlock::addArrayProfile):
(JSC::CodeBlock::getOrAddArrayProfile):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::nameForRegister):
(JSC::CodeBlock::livenessAnalysisSlow):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::setJITCode):
(JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
(JSC::CodeBlock::addFrequentExitSite):
(JSC::CodeBlock::hasExitSite):
(JSC::CodeBlock::livenessAnalysis):
* bytecode/DFGExitProfile.cpp:
(JSC::DFG::ExitProfile::add):
(JSC::DFG::ExitProfile::hasExitSite):
(JSC::DFG::QueryableExitProfile::initialize):
* bytecode/DFGExitProfile.h:
(JSC::DFG::ExitProfile::hasExitSite):
* bytecode/GetByIdStatus.cpp:
(JSC::GetByIdStatus::hasExitSite):
(JSC::GetByIdStatus::computeFor):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/GetByIdStatus.h:
* bytecode/LazyOperandValueProfile.cpp:
(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::initialize):
(JSC::LazyOperandValueProfileParser::prediction):
* bytecode/LazyOperandValueProfile.h:
* bytecode/MethodOfGettingAValueProfile.cpp:
(JSC::MethodOfGettingAValueProfile::emitReportValue):
* bytecode/PutByIdStatus.cpp:
(JSC::PutByIdStatus::hasExitSite):
(JSC::PutByIdStatus::computeFor):
(JSC::PutByIdStatus::computeForStubInfo):
* bytecode/PutByIdStatus.h:
* bytecode/StructureStubClearingWatchpoint.cpp:
(JSC::StructureStubClearingWatchpoint::fireInternal):
* bytecode/ValueProfile.h:
(JSC::ValueProfileBase::briefDescription):
(JSC::ValueProfileBase::computeUpdatedPrediction):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withSpeculationFromProfile):
(JSC::DFG::ArrayMode::withProfile):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
(JSC::DFG::ByteCodeParser::getArrayMode):
(JSC::DFG::ByteCodeParser::handleInlining):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
* dfg/DFGDriver.cpp:
(JSC::DFG::compileImpl):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::tryGetConstantClosureVar):
* dfg/DFGObjectAllocationSinkingPhase.cpp:
* dfg/DFGPredictionInjectionPhase.cpp:
(JSC::DFG::PredictionInjectionPhase::run):
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
* ftl/FTLOperations.cpp:
(JSC::FTL::operationMaterializeObjectInOSR):
* heap/Heap.cpp:
(JSC::Heap::addToRememberedSet):
* jit/JIT.cpp:
(JSC::JIT::compileWithoutLinking):
* jit/JITInlines.h:
(JSC::JIT::chooseArrayMode):
* jit/JITOperations.cpp:
(JSC::tryGetByValOptimize):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::privateCompileGetByValWithCachedId):
(JSC::JIT::privateCompilePutByValWithCachedId):
* jit/JITWorklist.cpp:
(JSC::JITWorklist::compileLater):
(JSC::JITWorklist::compileNow):
* jit/Repatch.cpp:
(JSC::repatchGetByID):
(JSC::repatchPutByID):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::setupGetByIdPrototypeCache):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):
* profiler/ProfilerBytecodeSequence.cpp:
(JSC::Profiler::BytecodeSequence::BytecodeSequence):
* runtime/CommonSlowPaths.cpp:
(JSC::SLOW_PATH_DECL):
* runtime/CommonSlowPaths.h:
(JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
(JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
* runtime/ConcurrentJITLock.h: Removed.
* runtime/ConcurrentJSLock.h: Copied from Source/JavaScriptCore/runtime/ConcurrentJITLock.h.
(JSC::ConcurrentJSLockerBase::ConcurrentJSLockerBase):
(JSC::ConcurrentJSLockerBase::~ConcurrentJSLockerBase):
(JSC::GCSafeConcurrentJSLocker::GCSafeConcurrentJSLocker):
(JSC::GCSafeConcurrentJSLocker::~GCSafeConcurrentJSLocker):
(JSC::ConcurrentJSLocker::ConcurrentJSLocker):
(JSC::ConcurrentJITLockerBase::ConcurrentJITLockerBase): Deleted.
(JSC::ConcurrentJITLockerBase::~ConcurrentJITLockerBase): Deleted.
(JSC::ConcurrentJITLockerBase::unlockEarly): Deleted.
(JSC::GCSafeConcurrentJITLocker::GCSafeConcurrentJITLocker): Deleted.
(JSC::GCSafeConcurrentJITLocker::~GCSafeConcurrentJITLocker): Deleted.
(JSC::ConcurrentJITLocker::ConcurrentJITLocker): Deleted.
* runtime/InferredType.cpp:
(JSC::InferredType::canWatch):
(JSC::InferredType::addWatchpoint):
(JSC::InferredType::willStoreValueSlow):
(JSC::InferredType::makeTopSlow):
(JSC::InferredType::set):
(JSC::InferredType::removeStructure):
* runtime/InferredType.h:
* runtime/InferredTypeTable.cpp:
(JSC::InferredTypeTable::visitChildren):
(JSC::InferredTypeTable::get):
(JSC::InferredTypeTable::willStoreValue):
(JSC::InferredTypeTable::makeTop):
* runtime/InferredTypeTable.h:
* runtime/JSEnvironmentRecord.cpp:
(JSC::JSEnvironmentRecord::heapSnapshot):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::addGlobalVar):
(JSC::JSGlobalObject::addStaticGlobals):
* runtime/JSLexicalEnvironment.cpp:
(JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
* runtime/JSObject.cpp:
(JSC::JSObject::deleteProperty):
(JSC::JSObject::shiftButterflyAfterFlattening):
* runtime/JSObject.h:
* runtime/JSObjectInlines.h:
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::putDirectInternal):
* runtime/JSScope.cpp:
(JSC::abstractAccess):
(JSC::JSScope::collectClosureVariablesUnderTDZ):
* runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::findVariableIndex):
(JSC::JSSegmentedVariableObject::addVariables):
(JSC::JSSegmentedVariableObject::heapSnapshot):
* runtime/JSSegmentedVariableObject.h:
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
* runtime/JSSymbolTableObject.h:
(JSC::symbolTableGet):
(JSC::symbolTablePut):
* runtime/Options.cpp:
(JSC::recomputeDependentOptions):
* runtime/Options.h:
* runtime/ProgramExecutable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):
* runtime/RegExp.cpp:
(JSC::RegExp::compile):
(JSC::RegExp::matchConcurrently):
(JSC::RegExp::compileMatchOnly):
(JSC::RegExp::deleteCode):
* runtime/RegExp.h:
* runtime/Structure.cpp:
(JSC::Structure::materializePropertyTable):
(JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
(JSC::Structure::addNewPropertyTransition):
(JSC::Structure::takePropertyTableOrCloneIfPinned):
(JSC::Structure::nonPropertyTransition):
(JSC::Structure::flattenDictionaryStructure):
(JSC::Structure::ensurePropertyReplacementWatchpointSet):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::visitChildren):
* runtime/Structure.h:
* runtime/StructureInlines.h:
(JSC::Structure::propertyReplacementWatchpointSet):
(JSC::Structure::add):
(JSC::Structure::remove):
* runtime/SymbolTable.cpp:
(JSC::SymbolTable::visitChildren):
(JSC::SymbolTable::localToEntry):
(JSC::SymbolTable::entryFor):
(JSC::SymbolTable::prepareForTypeProfiling):
(JSC::SymbolTable::uniqueIDForVariable):
(JSC::SymbolTable::uniqueIDForOffset):
(JSC::SymbolTable::globalTypeSetForOffset):
(JSC::SymbolTable::globalTypeSetForVariable):
* runtime/SymbolTable.h:
* runtime/TypeSet.cpp:
(JSC::TypeSet::addTypeInformation):
(JSC::TypeSet::invalidateCache):
* runtime/TypeSet.h:
(JSC::TypeSet::structureSet):
* runtime/VM.h:
* runtime/WriteBarrierInlines.h:
(JSC::WriteBarrierBase&lt;T&gt;::set):
(JSC::WriteBarrierBase&lt;Unknown&gt;::set):
* yarr/YarrInterpreter.cpp:
(JSC::Yarr::ByteCompiler::compile):
(JSC::Yarr::byteCompile):
* yarr/YarrInterpreter.h:
(JSC::Yarr::BytecodePattern::BytecodePattern):

Source/WTF:

Both the concurrent GC and the concurrent JIT rely on concurrency support in fundamental
JSC runtime components like JSValue. So, the thing that guards it should be a &quot;feature&quot;
called CONCURRENT_JS not CONCURRENT_JIT.

* wtf/Platform.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreChangeLog">trunk/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeArrayProfilecpp">trunk/Source/JavaScriptCore/bytecode/ArrayProfile.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeArrayProfileh">trunk/Source/JavaScriptCore/bytecode/ArrayProfile.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCallLinkStatuscpp">trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCallLinkStatush">trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCodeBlockcpp">trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeCodeBlockh">trunk/Source/JavaScriptCore/bytecode/CodeBlock.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeDFGExitProfilecpp">trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeDFGExitProfileh">trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeGetByIdStatuscpp">trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeGetByIdStatush">trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeLazyOperandValueProfilecpp">trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeLazyOperandValueProfileh">trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeMethodOfGettingAValueProfilecpp">trunk/Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodePutByIdStatuscpp">trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodePutByIdStatush">trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.h</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeStructureStubClearingWatchpointcpp">trunk/Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorebytecodeValueProfileh">trunk/Source/JavaScriptCore/bytecode/ValueProfile.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGArrayModecpp">trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGArrayModeh">trunk/Source/JavaScriptCore/dfg/DFGArrayMode.h</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGByteCodeParsercpp">trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGDrivercpp">trunk/Source/JavaScriptCore/dfg/DFGDriver.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGFixupPhasecpp">trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGGraphcpp">trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGObjectAllocationSinkingPhasecpp">trunk/Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoredfgDFGPredictionInjectionPhasecpp">trunk/Source/JavaScriptCore/dfg/DFGPredictionInjectionPhase.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp">trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreftlFTLOperationscpp">trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreheapHeapcpp">trunk/Source/JavaScriptCore/heap/Heap.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITcpp">trunk/Source/JavaScriptCore/jit/JIT.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITInlinesh">trunk/Source/JavaScriptCore/jit/JITInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITOperationscpp">trunk/Source/JavaScriptCore/jit/JITOperations.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITPropertyAccesscpp">trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitJITWorklistcpp">trunk/Source/JavaScriptCore/jit/JITWorklist.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorejitRepatchcpp">trunk/Source/JavaScriptCore/jit/Repatch.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCorellintLLIntSlowPathscpp">trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreprofilerProfilerBytecodeSequencecpp">trunk/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp">trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeCommonSlowPathsh">trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeInferredTypecpp">trunk/Source/JavaScriptCore/runtime/InferredType.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeInferredTypeh">trunk/Source/JavaScriptCore/runtime/InferredType.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeInferredTypeTablecpp">trunk/Source/JavaScriptCore/runtime/InferredTypeTable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeInferredTypeTableh">trunk/Source/JavaScriptCore/runtime/InferredTypeTable.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordcpp">trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp">trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSLexicalEnvironmentcpp">trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectcpp">trunk/Source/JavaScriptCore/runtime/JSObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjecth">trunk/Source/JavaScriptCore/runtime/JSObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSObjectInlinesh">trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSScopecpp">trunk/Source/JavaScriptCore/runtime/JSScope.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjectcpp">trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjecth">trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSymbolTableObjectcpp">trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth">trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeOptionscpp">trunk/Source/JavaScriptCore/runtime/Options.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeOptionsh">trunk/Source/JavaScriptCore/runtime/Options.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeProgramExecutablecpp">trunk/Source/JavaScriptCore/runtime/ProgramExecutable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExpcpp">trunk/Source/JavaScriptCore/runtime/RegExp.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeRegExph">trunk/Source/JavaScriptCore/runtime/RegExp.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructurecpp">trunk/Source/JavaScriptCore/runtime/Structure.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructureh">trunk/Source/JavaScriptCore/runtime/Structure.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeStructureInlinesh">trunk/Source/JavaScriptCore/runtime/StructureInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeSymbolTablecpp">trunk/Source/JavaScriptCore/runtime/SymbolTable.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeSymbolTableh">trunk/Source/JavaScriptCore/runtime/SymbolTable.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypeSetcpp">trunk/Source/JavaScriptCore/runtime/TypeSet.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeTypeSeth">trunk/Source/JavaScriptCore/runtime/TypeSet.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeVMh">trunk/Source/JavaScriptCore/runtime/VM.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreruntimeWriteBarrierInlinesh">trunk/Source/JavaScriptCore/runtime/WriteBarrierInlines.h</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrInterpretercpp">trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp</a></li>
<li><a href="#trunkSourceJavaScriptCoreyarrYarrInterpreterh">trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h</a></li>
<li><a href="#trunkSourceWTFChangeLog">trunk/Source/WTF/ChangeLog</a></li>
<li><a href="#trunkSourceWTFwtfPlatformh">trunk/Source/WTF/wtf/Platform.h</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreruntimeConcurrentJSLockh">trunk/Source/JavaScriptCore/runtime/ConcurrentJSLock.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceJavaScriptCoreruntimeConcurrentJITLockh">trunk/Source/JavaScriptCore/runtime/ConcurrentJITLock.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ChangeLog (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ChangeLog        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/ChangeLog        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1,3 +1,246 @@
</span><ins>+2016-11-15  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
+        Rename CONCURRENT_JIT/ConcurrentJIT to CONCURRENT_JS/ConcurrentJS
+        https://bugs.webkit.org/show_bug.cgi?id=164791
+
+        Reviewed by Geoffrey Garen.
+        
+        Just renaming.
+
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * bytecode/ArrayProfile.cpp:
+        (JSC::ArrayProfile::computeUpdatedPrediction):
+        (JSC::ArrayProfile::briefDescription):
+        (JSC::ArrayProfile::briefDescriptionWithoutUpdating):
+        * bytecode/ArrayProfile.h:
+        (JSC::ArrayProfile::observedArrayModes):
+        (JSC::ArrayProfile::mayInterceptIndexedAccesses):
+        (JSC::ArrayProfile::mayStoreToHole):
+        (JSC::ArrayProfile::outOfBounds):
+        (JSC::ArrayProfile::usesOriginalArrayStructures):
+        * bytecode/CallLinkStatus.cpp:
+        (JSC::CallLinkStatus::computeFromLLInt):
+        (JSC::CallLinkStatus::computeFor):
+        (JSC::CallLinkStatus::computeExitSiteData):
+        (JSC::CallLinkStatus::computeFromCallLinkInfo):
+        (JSC::CallLinkStatus::computeDFGStatuses):
+        * bytecode/CallLinkStatus.h:
+        * bytecode/CodeBlock.cpp:
+        (JSC::CodeBlock::dumpValueProfiling):
+        (JSC::CodeBlock::dumpArrayProfiling):
+        (JSC::CodeBlock::finishCreation):
+        (JSC::CodeBlock::setConstantRegisters):
+        (JSC::CodeBlock::getStubInfoMap):
+        (JSC::CodeBlock::getCallLinkInfoMap):
+        (JSC::CodeBlock::getByValInfoMap):
+        (JSC::CodeBlock::addStubInfo):
+        (JSC::CodeBlock::addByValInfo):
+        (JSC::CodeBlock::addCallLinkInfo):
+        (JSC::CodeBlock::resetJITData):
+        (JSC::CodeBlock::shrinkToFit):
+        (JSC::CodeBlock::getArrayProfile):
+        (JSC::CodeBlock::addArrayProfile):
+        (JSC::CodeBlock::getOrAddArrayProfile):
+        (JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
+        (JSC::CodeBlock::updateAllArrayPredictions):
+        (JSC::CodeBlock::nameForRegister):
+        (JSC::CodeBlock::livenessAnalysisSlow):
+        * bytecode/CodeBlock.h:
+        (JSC::CodeBlock::setJITCode):
+        (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
+        (JSC::CodeBlock::addFrequentExitSite):
+        (JSC::CodeBlock::hasExitSite):
+        (JSC::CodeBlock::livenessAnalysis):
+        * bytecode/DFGExitProfile.cpp:
+        (JSC::DFG::ExitProfile::add):
+        (JSC::DFG::ExitProfile::hasExitSite):
+        (JSC::DFG::QueryableExitProfile::initialize):
+        * bytecode/DFGExitProfile.h:
+        (JSC::DFG::ExitProfile::hasExitSite):
+        * bytecode/GetByIdStatus.cpp:
+        (JSC::GetByIdStatus::hasExitSite):
+        (JSC::GetByIdStatus::computeFor):
+        (JSC::GetByIdStatus::computeForStubInfo):
+        (JSC::GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback):
+        * bytecode/GetByIdStatus.h:
+        * bytecode/LazyOperandValueProfile.cpp:
+        (JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
+        (JSC::CompressedLazyOperandValueProfileHolder::add):
+        (JSC::LazyOperandValueProfileParser::initialize):
+        (JSC::LazyOperandValueProfileParser::prediction):
+        * bytecode/LazyOperandValueProfile.h:
+        * bytecode/MethodOfGettingAValueProfile.cpp:
+        (JSC::MethodOfGettingAValueProfile::emitReportValue):
+        * bytecode/PutByIdStatus.cpp:
+        (JSC::PutByIdStatus::hasExitSite):
+        (JSC::PutByIdStatus::computeFor):
+        (JSC::PutByIdStatus::computeForStubInfo):
+        * bytecode/PutByIdStatus.h:
+        * bytecode/StructureStubClearingWatchpoint.cpp:
+        (JSC::StructureStubClearingWatchpoint::fireInternal):
+        * bytecode/ValueProfile.h:
+        (JSC::ValueProfileBase::briefDescription):
+        (JSC::ValueProfileBase::computeUpdatedPrediction):
+        * dfg/DFGArrayMode.cpp:
+        (JSC::DFG::ArrayMode::fromObserved):
+        * dfg/DFGArrayMode.h:
+        (JSC::DFG::ArrayMode::withSpeculationFromProfile):
+        (JSC::DFG::ArrayMode::withProfile):
+        * dfg/DFGByteCodeParser.cpp:
+        (JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
+        (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
+        (JSC::DFG::ByteCodeParser::getArrayMode):
+        (JSC::DFG::ByteCodeParser::handleInlining):
+        (JSC::DFG::ByteCodeParser::parseBlock):
+        (JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
+        * dfg/DFGDriver.cpp:
+        (JSC::DFG::compileImpl):
+        * dfg/DFGFixupPhase.cpp:
+        (JSC::DFG::FixupPhase::fixupNode):
+        (JSC::DFG::FixupPhase::attemptToMakeGetArrayLength):
+        * dfg/DFGGraph.cpp:
+        (JSC::DFG::Graph::tryGetConstantClosureVar):
+        * dfg/DFGObjectAllocationSinkingPhase.cpp:
+        * dfg/DFGPredictionInjectionPhase.cpp:
+        (JSC::DFG::PredictionInjectionPhase::run):
+        * ftl/FTLLowerDFGToB3.cpp:
+        (JSC::FTL::DFG::LowerDFGToB3::compileMaterializeCreateActivation):
+        * ftl/FTLOperations.cpp:
+        (JSC::FTL::operationMaterializeObjectInOSR):
+        * heap/Heap.cpp:
+        (JSC::Heap::addToRememberedSet):
+        * jit/JIT.cpp:
+        (JSC::JIT::compileWithoutLinking):
+        * jit/JITInlines.h:
+        (JSC::JIT::chooseArrayMode):
+        * jit/JITOperations.cpp:
+        (JSC::tryGetByValOptimize):
+        * jit/JITPropertyAccess.cpp:
+        (JSC::JIT::privateCompileGetByValWithCachedId):
+        (JSC::JIT::privateCompilePutByValWithCachedId):
+        * jit/JITWorklist.cpp:
+        (JSC::JITWorklist::compileLater):
+        (JSC::JITWorklist::compileNow):
+        * jit/Repatch.cpp:
+        (JSC::repatchGetByID):
+        (JSC::repatchPutByID):
+        * llint/LLIntSlowPaths.cpp:
+        (JSC::LLInt::setupGetByIdPrototypeCache):
+        (JSC::LLInt::LLINT_SLOW_PATH_DECL):
+        (JSC::LLInt::setUpCall):
+        * profiler/ProfilerBytecodeSequence.cpp:
+        (JSC::Profiler::BytecodeSequence::BytecodeSequence):
+        * runtime/CommonSlowPaths.cpp:
+        (JSC::SLOW_PATH_DECL):
+        * runtime/CommonSlowPaths.h:
+        (JSC::CommonSlowPaths::tryCachePutToScopeGlobal):
+        (JSC::CommonSlowPaths::tryCacheGetFromScopeGlobal):
+        * runtime/ConcurrentJITLock.h: Removed.
+        * runtime/ConcurrentJSLock.h: Copied from Source/JavaScriptCore/runtime/ConcurrentJITLock.h.
+        (JSC::ConcurrentJSLockerBase::ConcurrentJSLockerBase):
+        (JSC::ConcurrentJSLockerBase::~ConcurrentJSLockerBase):
+        (JSC::GCSafeConcurrentJSLocker::GCSafeConcurrentJSLocker):
+        (JSC::GCSafeConcurrentJSLocker::~GCSafeConcurrentJSLocker):
+        (JSC::ConcurrentJSLocker::ConcurrentJSLocker):
+        (JSC::ConcurrentJITLockerBase::ConcurrentJITLockerBase): Deleted.
+        (JSC::ConcurrentJITLockerBase::~ConcurrentJITLockerBase): Deleted.
+        (JSC::ConcurrentJITLockerBase::unlockEarly): Deleted.
+        (JSC::GCSafeConcurrentJITLocker::GCSafeConcurrentJITLocker): Deleted.
+        (JSC::GCSafeConcurrentJITLocker::~GCSafeConcurrentJITLocker): Deleted.
+        (JSC::ConcurrentJITLocker::ConcurrentJITLocker): Deleted.
+        * runtime/InferredType.cpp:
+        (JSC::InferredType::canWatch):
+        (JSC::InferredType::addWatchpoint):
+        (JSC::InferredType::willStoreValueSlow):
+        (JSC::InferredType::makeTopSlow):
+        (JSC::InferredType::set):
+        (JSC::InferredType::removeStructure):
+        * runtime/InferredType.h:
+        * runtime/InferredTypeTable.cpp:
+        (JSC::InferredTypeTable::visitChildren):
+        (JSC::InferredTypeTable::get):
+        (JSC::InferredTypeTable::willStoreValue):
+        (JSC::InferredTypeTable::makeTop):
+        * runtime/InferredTypeTable.h:
+        * runtime/JSEnvironmentRecord.cpp:
+        (JSC::JSEnvironmentRecord::heapSnapshot):
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::addGlobalVar):
+        (JSC::JSGlobalObject::addStaticGlobals):
+        * runtime/JSLexicalEnvironment.cpp:
+        (JSC::JSLexicalEnvironment::getOwnNonIndexPropertyNames):
+        * runtime/JSObject.cpp:
+        (JSC::JSObject::deleteProperty):
+        (JSC::JSObject::shiftButterflyAfterFlattening):
+        * runtime/JSObject.h:
+        * runtime/JSObjectInlines.h:
+        (JSC::JSObject::putDirectWithoutTransition):
+        (JSC::JSObject::putDirectInternal):
+        * runtime/JSScope.cpp:
+        (JSC::abstractAccess):
+        (JSC::JSScope::collectClosureVariablesUnderTDZ):
+        * runtime/JSSegmentedVariableObject.cpp:
+        (JSC::JSSegmentedVariableObject::findVariableIndex):
+        (JSC::JSSegmentedVariableObject::addVariables):
+        (JSC::JSSegmentedVariableObject::heapSnapshot):
+        * runtime/JSSegmentedVariableObject.h:
+        * runtime/JSSymbolTableObject.cpp:
+        (JSC::JSSymbolTableObject::getOwnNonIndexPropertyNames):
+        * runtime/JSSymbolTableObject.h:
+        (JSC::symbolTableGet):
+        (JSC::symbolTablePut):
+        * runtime/Options.cpp:
+        (JSC::recomputeDependentOptions):
+        * runtime/Options.h:
+        * runtime/ProgramExecutable.cpp:
+        (JSC::ProgramExecutable::initializeGlobalProperties):
+        * runtime/RegExp.cpp:
+        (JSC::RegExp::compile):
+        (JSC::RegExp::matchConcurrently):
+        (JSC::RegExp::compileMatchOnly):
+        (JSC::RegExp::deleteCode):
+        * runtime/RegExp.h:
+        * runtime/Structure.cpp:
+        (JSC::Structure::materializePropertyTable):
+        (JSC::Structure::addPropertyTransitionToExistingStructureConcurrently):
+        (JSC::Structure::addNewPropertyTransition):
+        (JSC::Structure::takePropertyTableOrCloneIfPinned):
+        (JSC::Structure::nonPropertyTransition):
+        (JSC::Structure::flattenDictionaryStructure):
+        (JSC::Structure::ensurePropertyReplacementWatchpointSet):
+        (JSC::Structure::add):
+        (JSC::Structure::remove):
+        (JSC::Structure::visitChildren):
+        * runtime/Structure.h:
+        * runtime/StructureInlines.h:
+        (JSC::Structure::propertyReplacementWatchpointSet):
+        (JSC::Structure::add):
+        (JSC::Structure::remove):
+        * runtime/SymbolTable.cpp:
+        (JSC::SymbolTable::visitChildren):
+        (JSC::SymbolTable::localToEntry):
+        (JSC::SymbolTable::entryFor):
+        (JSC::SymbolTable::prepareForTypeProfiling):
+        (JSC::SymbolTable::uniqueIDForVariable):
+        (JSC::SymbolTable::uniqueIDForOffset):
+        (JSC::SymbolTable::globalTypeSetForOffset):
+        (JSC::SymbolTable::globalTypeSetForVariable):
+        * runtime/SymbolTable.h:
+        * runtime/TypeSet.cpp:
+        (JSC::TypeSet::addTypeInformation):
+        (JSC::TypeSet::invalidateCache):
+        * runtime/TypeSet.h:
+        (JSC::TypeSet::structureSet):
+        * runtime/VM.h:
+        * runtime/WriteBarrierInlines.h:
+        (JSC::WriteBarrierBase&lt;T&gt;::set):
+        (JSC::WriteBarrierBase&lt;Unknown&gt;::set):
+        * yarr/YarrInterpreter.cpp:
+        (JSC::Yarr::ByteCompiler::compile):
+        (JSC::Yarr::byteCompile):
+        * yarr/YarrInterpreter.h:
+        (JSC::Yarr::BytecodePattern::BytecodePattern):
+
</ins><span class="cx"> 2016-11-15  Joseph Pecoraro  &lt;pecoraro@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: Remove unused and untested Page.setTouchEmulationEnabled command
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -743,7 +743,7 @@
</span><span class="cx">                 0FDB2CCA173DA523007B3C1B /* FTLValueFromBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDB2CC8173DA51E007B3C1B /* FTLValueFromBlock.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 0FDB2CE7174830A2007B3C1B /* DFGWorklist.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FDB2CE5174830A2007B3C1B /* DFGWorklist.cpp */; };
</span><span class="cx">                 0FDB2CE8174830A2007B3C1B /* DFGWorklist.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDB2CE6174830A2007B3C1B /* DFGWorklist.h */; };
</span><del>-                0FDB2CEA174896C7007B3C1B /* ConcurrentJITLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDB2CE9174896C7007B3C1B /* ConcurrentJITLock.h */; settings = {ATTRIBUTES = (Private, ); }; };
</del><ins>+                0FDB2CEA174896C7007B3C1B /* ConcurrentJSLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDB2CE9174896C7007B3C1B /* ConcurrentJSLock.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 0FDDBFB51666EED800C55FEF /* DFGVariableAccessDataDump.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FDDBFB21666EED500C55FEF /* DFGVariableAccessDataDump.cpp */; };
</span><span class="cx">                 0FDDBFB61666EEDA00C55FEF /* DFGVariableAccessDataDump.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDDBFB31666EED500C55FEF /* DFGVariableAccessDataDump.h */; };
</span><span class="cx">                 0FDF67D21D9C6D27001B9825 /* B3Kind.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDF67D11D9C6086001B9825 /* B3Kind.h */; };
</span><span class="lines">@@ -3157,7 +3157,7 @@
</span><span class="cx">                 0FDB2CC8173DA51E007B3C1B /* FTLValueFromBlock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = FTLValueFromBlock.h; path = ftl/FTLValueFromBlock.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FDB2CE5174830A2007B3C1B /* DFGWorklist.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGWorklist.cpp; path = dfg/DFGWorklist.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FDB2CE6174830A2007B3C1B /* DFGWorklist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGWorklist.h; path = dfg/DFGWorklist.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                0FDB2CE9174896C7007B3C1B /* ConcurrentJITLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConcurrentJITLock.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><ins>+                0FDB2CE9174896C7007B3C1B /* ConcurrentJSLock.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConcurrentJSLock.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 0FDDBFB21666EED500C55FEF /* DFGVariableAccessDataDump.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DFGVariableAccessDataDump.cpp; path = dfg/DFGVariableAccessDataDump.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FDDBFB31666EED500C55FEF /* DFGVariableAccessDataDump.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DFGVariableAccessDataDump.h; path = dfg/DFGVariableAccessDataDump.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 0FDF67D01D9C6086001B9825 /* B3Kind.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = B3Kind.cpp; path = b3/B3Kind.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -6113,7 +6113,7 @@
</span><span class="cx">                                 A7E5A3A61797432D00E893C0 /* CompilationResult.h */,
</span><span class="cx">                                 969A09220ED1E09C00F1F681 /* Completion.cpp */,
</span><span class="cx">                                 F5BB2BC5030F772101FCFE1D /* Completion.h */,
</span><del>-                                0FDB2CE9174896C7007B3C1B /* ConcurrentJITLock.h */,
</del><ins>+                                0FDB2CE9174896C7007B3C1B /* ConcurrentJSLock.h */,
</ins><span class="cx">                                 A5B6A74C18C6DBA600F11E91 /* ConsoleClient.cpp */,
</span><span class="cx">                                 A53CE08918BC21C300BEDF76 /* ConsoleClient.h */,
</span><span class="cx">                                 A55714BC1CD8048E0004D2C6 /* ConsoleObject.cpp */,
</span><span class="lines">@@ -7875,7 +7875,7 @@
</span><span class="cx">                                 A7E5A3A81797432D00E893C0 /* CompilationResult.h in Headers */,
</span><span class="cx">                                 BC18C3F40E16F5CD00B34460 /* Completion.h in Headers */,
</span><span class="cx">                                 0F6FC751196110A800E1D02D /* ComplexGetStatus.h in Headers */,
</span><del>-                                0FDB2CEA174896C7007B3C1B /* ConcurrentJITLock.h in Headers */,
</del><ins>+                                0FDB2CEA174896C7007B3C1B /* ConcurrentJSLock.h in Headers */,
</ins><span class="cx">                                 BC18C3F50E16F5CD00B34460 /* config.h in Headers */,
</span><span class="cx">                                 144836E7132DA7BE005BE785 /* ConservativeRoots.h in Headers */,
</span><span class="cx">                                 A53CE08A18BC21C300BEDF76 /* ConsoleClient.h in Headers */,
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeArrayProfilecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/ArrayProfile.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/ArrayProfile.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/ArrayProfile.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -94,7 +94,7 @@
</span><span class="cx">         out.print(comma, &quot;Float64ArrayMode&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ArrayProfile::computeUpdatedPrediction(const ConcurrentJITLocker&amp; locker, CodeBlock* codeBlock)
</del><ins>+void ArrayProfile::computeUpdatedPrediction(const ConcurrentJSLocker&amp; locker, CodeBlock* codeBlock)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_lastSeenStructureID)
</span><span class="cx">         return;
</span><span class="lines">@@ -104,7 +104,7 @@
</span><span class="cx">     m_lastSeenStructureID = 0;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ArrayProfile::computeUpdatedPrediction(const ConcurrentJITLocker&amp;, CodeBlock* codeBlock, Structure* lastSeenStructure)
</del><ins>+void ArrayProfile::computeUpdatedPrediction(const ConcurrentJSLocker&amp;, CodeBlock* codeBlock, Structure* lastSeenStructure)
</ins><span class="cx"> {
</span><span class="cx">     m_observedArrayModes |= arrayModeFromStructure(lastSeenStructure);
</span><span class="cx">     
</span><span class="lines">@@ -122,13 +122,13 @@
</span><span class="cx">         m_usesOriginalArrayStructures = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CString ArrayProfile::briefDescription(const ConcurrentJITLocker&amp; locker, CodeBlock* codeBlock)
</del><ins>+CString ArrayProfile::briefDescription(const ConcurrentJSLocker&amp; locker, CodeBlock* codeBlock)
</ins><span class="cx"> {
</span><span class="cx">     computeUpdatedPrediction(locker, codeBlock);
</span><span class="cx">     return briefDescriptionWithoutUpdating(locker);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CString ArrayProfile::briefDescriptionWithoutUpdating(const ConcurrentJITLocker&amp;)
</del><ins>+CString ArrayProfile::briefDescriptionWithoutUpdating(const ConcurrentJSLocker&amp;)
</ins><span class="cx"> {
</span><span class="cx">     StringPrintStream out;
</span><span class="cx">     
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeArrayProfileh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/ArrayProfile.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/ArrayProfile.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/ArrayProfile.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;JSArray.h&quot;
</span><span class="cx"> #include &quot;Structure.h&quot;
</span><span class="cx"> #include &lt;wtf/SegmentedVector.h&gt;
</span><span class="lines">@@ -216,19 +216,19 @@
</span><span class="cx">         m_lastSeenStructureID = structure-&gt;id();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    void computeUpdatedPrediction(const ConcurrentJITLocker&amp;, CodeBlock*);
-    void computeUpdatedPrediction(const ConcurrentJITLocker&amp;, CodeBlock*, Structure* lastSeenStructure);
</del><ins>+    void computeUpdatedPrediction(const ConcurrentJSLocker&amp;, CodeBlock*);
+    void computeUpdatedPrediction(const ConcurrentJSLocker&amp;, CodeBlock*, Structure* lastSeenStructure);
</ins><span class="cx">     
</span><del>-    ArrayModes observedArrayModes(const ConcurrentJITLocker&amp;) const { return m_observedArrayModes; }
-    bool mayInterceptIndexedAccesses(const ConcurrentJITLocker&amp;) const { return m_mayInterceptIndexedAccesses; }
</del><ins>+    ArrayModes observedArrayModes(const ConcurrentJSLocker&amp;) const { return m_observedArrayModes; }
+    bool mayInterceptIndexedAccesses(const ConcurrentJSLocker&amp;) const { return m_mayInterceptIndexedAccesses; }
</ins><span class="cx">     
</span><del>-    bool mayStoreToHole(const ConcurrentJITLocker&amp;) const { return m_mayStoreToHole; }
-    bool outOfBounds(const ConcurrentJITLocker&amp;) const { return m_outOfBounds; }
</del><ins>+    bool mayStoreToHole(const ConcurrentJSLocker&amp;) const { return m_mayStoreToHole; }
+    bool outOfBounds(const ConcurrentJSLocker&amp;) const { return m_outOfBounds; }
</ins><span class="cx">     
</span><del>-    bool usesOriginalArrayStructures(const ConcurrentJITLocker&amp;) const { return m_usesOriginalArrayStructures; }
</del><ins>+    bool usesOriginalArrayStructures(const ConcurrentJSLocker&amp;) const { return m_usesOriginalArrayStructures; }
</ins><span class="cx">     
</span><del>-    CString briefDescription(const ConcurrentJITLocker&amp;, CodeBlock*);
-    CString briefDescriptionWithoutUpdating(const ConcurrentJITLocker&amp;);
</del><ins>+    CString briefDescription(const ConcurrentJSLocker&amp;, CodeBlock*);
+    CString briefDescriptionWithoutUpdating(const ConcurrentJSLocker&amp;);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     friend class LLIntOffsetsExtractor;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCallLinkStatuscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx">     m_variants.append(CallVariant(value.asCell()));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-CallLinkStatus CallLinkStatus::computeFromLLInt(const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</del><ins>+CallLinkStatus CallLinkStatus::computeFromLLInt(const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</ins><span class="cx"> {
</span><span class="cx">     UNUSED_PARAM(profiledBlock);
</span><span class="cx">     UNUSED_PARAM(bytecodeIndex);
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx"> CallLinkStatus CallLinkStatus::computeFor(
</span><span class="cx">     CodeBlock* profiledBlock, unsigned bytecodeIndex, const CallLinkInfoMap&amp; map)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">     
</span><span class="cx">     UNUSED_PARAM(profiledBlock);
</span><span class="cx">     UNUSED_PARAM(bytecodeIndex);
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CallLinkStatus::ExitSiteData CallLinkStatus::computeExitSiteData(
</span><del>-    const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</del><ins>+    const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</ins><span class="cx"> {
</span><span class="cx">     ExitSiteData exitSiteData;
</span><span class="cx">     
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx"> CallLinkStatus CallLinkStatus::computeFor(
</span><del>-    const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, CallLinkInfo&amp; callLinkInfo)
</del><ins>+    const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, CallLinkInfo&amp; callLinkInfo)
</ins><span class="cx"> {
</span><span class="cx">     // We don't really need this, but anytime we have to debug this code, it becomes indispensable.
</span><span class="cx">     UNUSED_PARAM(profiledBlock);
</span><span class="lines">@@ -135,7 +135,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CallLinkStatus CallLinkStatus::computeFromCallLinkInfo(
</span><del>-    const ConcurrentJITLocker&amp;, CallLinkInfo&amp; callLinkInfo)
</del><ins>+    const ConcurrentJSLocker&amp;, CallLinkInfo&amp; callLinkInfo)
</ins><span class="cx"> {
</span><span class="cx">     if (callLinkInfo.clearedByGC())
</span><span class="cx">         return takesSlowPath();
</span><span class="lines">@@ -228,7 +228,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CallLinkStatus CallLinkStatus::computeFor(
</span><del>-    const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, CallLinkInfo&amp; callLinkInfo,
</del><ins>+    const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, CallLinkInfo&amp; callLinkInfo,
</ins><span class="cx">     ExitSiteData exitSiteData)
</span><span class="cx"> {
</span><span class="cx">     CallLinkStatus result = computeFor(locker, profiledBlock, callLinkInfo);
</span><span class="lines">@@ -277,13 +277,13 @@
</span><span class="cx">             baselineCodeBlockForOriginAndBaselineCodeBlock(codeOrigin, baselineCodeBlock);
</span><span class="cx">         ExitSiteData exitSiteData;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(currentBaseline-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(currentBaseline-&gt;m_lock);
</ins><span class="cx">             exitSiteData = computeExitSiteData(
</span><span class="cx">                 locker, currentBaseline, codeOrigin.bytecodeIndex);
</span><span class="cx">         }
</span><span class="cx">         
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(dfgCodeBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(dfgCodeBlock-&gt;m_lock);
</ins><span class="cx">             map.add(info.codeOrigin(), computeFor(locker, dfgCodeBlock, info, exitSiteData));
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCallLinkStatush"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/CallLinkStatus.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #include &quot;CallVariant.h&quot;
</span><span class="cx"> #include &quot;CodeOrigin.h&quot;
</span><span class="cx"> #include &quot;CodeSpecializationKind.h&quot;
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ExitingJITType.h&quot;
</span><span class="cx"> #include &quot;Intrinsic.h&quot;
</span><span class="cx"> #include &quot;JSCJSValue.h&quot;
</span><span class="lines">@@ -70,14 +70,14 @@
</span><span class="cx">         bool takesSlowPath { false };
</span><span class="cx">         bool badFunction { false };
</span><span class="cx">     };
</span><del>-    static ExitSiteData computeExitSiteData(const ConcurrentJITLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</del><ins>+    static ExitSiteData computeExitSiteData(const ConcurrentJSLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</ins><span class="cx">     
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     // Computes the status assuming that we never took slow path and never previously
</span><span class="cx">     // exited.
</span><del>-    static CallLinkStatus computeFor(const ConcurrentJITLocker&amp;, CodeBlock*, CallLinkInfo&amp;);
</del><ins>+    static CallLinkStatus computeFor(const ConcurrentJSLocker&amp;, CodeBlock*, CallLinkInfo&amp;);
</ins><span class="cx">     static CallLinkStatus computeFor(
</span><del>-        const ConcurrentJITLocker&amp;, CodeBlock*, CallLinkInfo&amp;, ExitSiteData);
</del><ins>+        const ConcurrentJSLocker&amp;, CodeBlock*, CallLinkInfo&amp;, ExitSiteData);
</ins><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     typedef HashMap&lt;CodeOrigin, CallLinkStatus, CodeOriginApproximateHash&gt; ContextMap;
</span><span class="lines">@@ -118,10 +118,10 @@
</span><span class="cx"> private:
</span><span class="cx">     void makeClosureCall();
</span><span class="cx">     
</span><del>-    static CallLinkStatus computeFromLLInt(const ConcurrentJITLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</del><ins>+    static CallLinkStatus computeFromLLInt(const ConcurrentJSLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</ins><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     static CallLinkStatus computeFromCallLinkInfo(
</span><del>-        const ConcurrentJITLocker&amp;, CallLinkInfo&amp;);
</del><ins>+        const ConcurrentJSLocker&amp;, CallLinkInfo&amp;);
</ins><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     CallVariantList m_variants;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCodeBlockcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -679,7 +679,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::dumpValueProfiling(PrintStream&amp; out, const Instruction*&amp; it, bool&amp; hasPrintedProfiling)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     ++it;
</span><span class="cx">     CString description = it-&gt;u.profile-&gt;briefDescription(locker);
</span><span class="lines">@@ -691,7 +691,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::dumpArrayProfiling(PrintStream&amp; out, const Instruction*&amp; it, bool&amp; hasPrintedProfiling)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     ++it;
</span><span class="cx">     if (!it-&gt;u.arrayProfile)
</span><span class="lines">@@ -1964,7 +1964,7 @@
</span><span class="cx">     if (UnlinkedModuleProgramCodeBlock* unlinkedModuleProgramCodeBlock = jsDynamicCast&lt;UnlinkedModuleProgramCodeBlock*&gt;(unlinkedCodeBlock)) {
</span><span class="cx">         SymbolTable* clonedSymbolTable = jsCast&lt;ModuleProgramExecutable*&gt;(ownerExecutable)-&gt;moduleEnvironmentSymbolTable();
</span><span class="cx">         if (m_vm-&gt;typeProfiler()) {
</span><del>-            ConcurrentJITLocker locker(clonedSymbolTable-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(clonedSymbolTable-&gt;m_lock);
</ins><span class="cx">             clonedSymbolTable-&gt;prepareForTypeProfiling(locker);
</span><span class="cx">         }
</span><span class="cx">         replaceConstant(unlinkedModuleProgramCodeBlock-&gt;moduleEnvironmentSymbolTableConstantRegisterOffset(), clonedSymbolTable);
</span><span class="lines">@@ -2219,7 +2219,7 @@
</span><span class="cx">                     int symbolTableIndex = pc[5].u.operand;
</span><span class="cx">                     SymbolTable* symbolTable = jsCast&lt;SymbolTable*&gt;(getConstant(symbolTableIndex));
</span><span class="cx">                     const Identifier&amp; ident = identifier(pc[2].u.operand);
</span><del>-                    ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                     auto iter = symbolTable-&gt;find(locker, ident.impl());
</span><span class="cx">                     ASSERT(iter != symbolTable-&gt;end(locker));
</span><span class="cx">                     iter-&gt;value.prepareToWatch();
</span><span class="lines">@@ -2275,7 +2275,7 @@
</span><span class="cx"> 
</span><span class="cx">                 UniquedStringImpl* impl = (op.type == ModuleVar) ? op.importedName.get() : ident.impl();
</span><span class="cx">                 if (symbolTable) {
</span><del>-                    ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                     // If our parent scope was created while profiling was disabled, it will not have prepared for profiling yet.
</span><span class="cx">                     symbolTable-&gt;prepareForTypeProfiling(locker);
</span><span class="cx">                     globalVariableID = symbolTable-&gt;uniqueIDForVariable(locker, impl, vm);
</span><span class="lines">@@ -2289,7 +2289,7 @@
</span><span class="cx">                 int symbolTableIndex = pc[2].u.operand;
</span><span class="cx">                 SymbolTable* symbolTable = jsCast&lt;SymbolTable*&gt;(getConstant(symbolTableIndex));
</span><span class="cx">                 const Identifier&amp; ident = identifier(pc[4].u.operand);
</span><del>-                ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                 // If our parent scope was created while profiling was disabled, it will not have prepared for profiling yet.
</span><span class="cx">                 globalVariableID = symbolTable-&gt;uniqueIDForVariable(locker, ident.impl(), vm);
</span><span class="cx">                 globalTypeSet = symbolTable-&gt;globalTypeSetForVariable(locker, ident.impl(), vm);
</span><span class="lines">@@ -2457,7 +2457,7 @@
</span><span class="cx">         if (!constant.isEmpty()) {
</span><span class="cx">             if (SymbolTable* symbolTable = jsDynamicCast&lt;SymbolTable*&gt;(constant)) {
</span><span class="cx">                 if (hasTypeProfiler) {
</span><del>-                    ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                     symbolTable-&gt;prepareForTypeProfiling(locker);
</span><span class="cx">                 }
</span><span class="cx"> 
</span><span class="lines">@@ -2973,7 +2973,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CodeBlock::getStubInfoMap(const ConcurrentJITLocker&amp;, StubInfoMap&amp; result)
</del><ins>+void CodeBlock::getStubInfoMap(const ConcurrentJSLocker&amp;, StubInfoMap&amp; result)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     if (JITCode::isJIT(jitType()))
</span><span class="lines">@@ -2985,11 +2985,11 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::getStubInfoMap(StubInfoMap&amp; result)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     getStubInfoMap(locker, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CodeBlock::getCallLinkInfoMap(const ConcurrentJITLocker&amp;, CallLinkInfoMap&amp; result)
</del><ins>+void CodeBlock::getCallLinkInfoMap(const ConcurrentJSLocker&amp;, CallLinkInfoMap&amp; result)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     if (JITCode::isJIT(jitType()))
</span><span class="lines">@@ -3001,11 +3001,11 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::getCallLinkInfoMap(CallLinkInfoMap&amp; result)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     getCallLinkInfoMap(locker, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void CodeBlock::getByValInfoMap(const ConcurrentJITLocker&amp;, ByValInfoMap&amp; result)
</del><ins>+void CodeBlock::getByValInfoMap(const ConcurrentJSLocker&amp;, ByValInfoMap&amp; result)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     if (JITCode::isJIT(jitType())) {
</span><span class="lines">@@ -3019,7 +3019,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::getByValInfoMap(ByValInfoMap&amp; result)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     getByValInfoMap(locker, result);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3026,7 +3026,7 @@
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx"> StructureStubInfo* CodeBlock::addStubInfo(AccessType accessType)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return m_stubInfos.add(accessType);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3061,13 +3061,13 @@
</span><span class="cx"> 
</span><span class="cx"> ByValInfo* CodeBlock::addByValInfo()
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return m_byValInfos.add();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> CallLinkInfo* CodeBlock::addCallLinkInfo()
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return m_callLinkInfos.add();
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -3083,7 +3083,7 @@
</span><span class="cx"> void CodeBlock::resetJITData()
</span><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(!JITCode::isJIT(jitType()));
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     // We can clear these because no other thread will have references to any stub infos, call
</span><span class="cx">     // link infos, or by val infos if we don't have JIT code. Attempts to query these data
</span><span class="lines">@@ -3313,7 +3313,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::shrinkToFit(ShrinkMode shrinkMode)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx"> 
</span><span class="cx">     m_rareCaseProfiles.shrinkToFit();
</span><span class="cx">     
</span><span class="lines">@@ -3975,7 +3975,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-ArrayProfile* CodeBlock::getArrayProfile(const ConcurrentJITLocker&amp;, unsigned bytecodeOffset)
</del><ins>+ArrayProfile* CodeBlock::getArrayProfile(const ConcurrentJSLocker&amp;, unsigned bytecodeOffset)
</ins><span class="cx"> {
</span><span class="cx">     for (unsigned i = 0; i &lt; m_arrayProfiles.size(); ++i) {
</span><span class="cx">         if (m_arrayProfiles[i].bytecodeOffset() == bytecodeOffset)
</span><span class="lines">@@ -3986,11 +3986,11 @@
</span><span class="cx"> 
</span><span class="cx"> ArrayProfile* CodeBlock::getArrayProfile(unsigned bytecodeOffset)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return getArrayProfile(locker, bytecodeOffset);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ArrayProfile* CodeBlock::addArrayProfile(const ConcurrentJITLocker&amp;, unsigned bytecodeOffset)
</del><ins>+ArrayProfile* CodeBlock::addArrayProfile(const ConcurrentJSLocker&amp;, unsigned bytecodeOffset)
</ins><span class="cx"> {
</span><span class="cx">     m_arrayProfiles.append(ArrayProfile(bytecodeOffset));
</span><span class="cx">     return &amp;m_arrayProfiles.last();
</span><span class="lines">@@ -3998,11 +3998,11 @@
</span><span class="cx"> 
</span><span class="cx"> ArrayProfile* CodeBlock::addArrayProfile(unsigned bytecodeOffset)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return addArrayProfile(locker, bytecodeOffset);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-ArrayProfile* CodeBlock::getOrAddArrayProfile(const ConcurrentJITLocker&amp; locker, unsigned bytecodeOffset)
</del><ins>+ArrayProfile* CodeBlock::getOrAddArrayProfile(const ConcurrentJSLocker&amp; locker, unsigned bytecodeOffset)
</ins><span class="cx"> {
</span><span class="cx">     ArrayProfile* result = getArrayProfile(locker, bytecodeOffset);
</span><span class="cx">     if (result)
</span><span class="lines">@@ -4012,7 +4012,7 @@
</span><span class="cx"> 
</span><span class="cx"> ArrayProfile* CodeBlock::getOrAddArrayProfile(unsigned bytecodeOffset)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return getOrAddArrayProfile(locker, bytecodeOffset);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -4042,7 +4042,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::updateAllPredictionsAndCountLiveness(unsigned&amp; numberOfLiveNonArgumentValueProfiles, unsigned&amp; numberOfSamplesInProfiles)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     numberOfLiveNonArgumentValueProfiles = 0;
</span><span class="cx">     numberOfSamplesInProfiles = 0; // If this divided by ValueProfile::numberOfBuckets equals numberOfValueProfiles() then value profiles are full.
</span><span class="lines">@@ -4074,7 +4074,7 @@
</span><span class="cx"> 
</span><span class="cx"> void CodeBlock::updateAllArrayPredictions()
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     for (unsigned i = m_arrayProfiles.size(); i--;)
</span><span class="cx">         m_arrayProfiles[i].computeUpdatedPrediction(locker, this);
</span><span class="lines">@@ -4284,7 +4284,7 @@
</span><span class="cx">         if (m_constantRegisters[i].get().isEmpty())
</span><span class="cx">             continue;
</span><span class="cx">         if (SymbolTable* symbolTable = jsDynamicCast&lt;SymbolTable*&gt;(m_constantRegisters[i].get())) {
</span><del>-            ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">             auto end = symbolTable-&gt;end(locker);
</span><span class="cx">             for (auto ptr = symbolTable-&gt;begin(locker); ptr != end; ++ptr) {
</span><span class="cx">                 if (ptr-&gt;value.varOffset() == VarOffset(virtualRegister)) {
</span><span class="lines">@@ -4636,7 +4636,7 @@
</span><span class="cx"> {
</span><span class="cx">     std::unique_ptr&lt;BytecodeLivenessAnalysis&gt; analysis = std::make_unique&lt;BytecodeLivenessAnalysis&gt;(this);
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         if (!m_livenessAnalysis)
</span><span class="cx">             m_livenessAnalysis = WTFMove(analysis);
</span><span class="cx">         return *m_livenessAnalysis;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeCodeBlockh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/CodeBlock.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/CodeBlock.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/CodeBlock.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -38,7 +38,7 @@
</span><span class="cx"> #include &quot;CodeOrigin.h&quot;
</span><span class="cx"> #include &quot;CodeType.h&quot;
</span><span class="cx"> #include &quot;CompactJITCodeMap.h&quot;
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;DFGCommon.h&quot;
</span><span class="cx"> #include &quot;DFGExitProfile.h&quot;
</span><span class="cx"> #include &quot;DeferredCompilationCallback.h&quot;
</span><span class="lines">@@ -235,13 +235,13 @@
</span><span class="cx"> 
</span><span class="cx">     Optional&lt;unsigned&gt; bytecodeOffsetFromCallSiteIndex(CallSiteIndex);
</span><span class="cx"> 
</span><del>-    void getStubInfoMap(const ConcurrentJITLocker&amp;, StubInfoMap&amp; result);
</del><ins>+    void getStubInfoMap(const ConcurrentJSLocker&amp;, StubInfoMap&amp; result);
</ins><span class="cx">     void getStubInfoMap(StubInfoMap&amp; result);
</span><span class="cx">     
</span><del>-    void getCallLinkInfoMap(const ConcurrentJITLocker&amp;, CallLinkInfoMap&amp; result);
</del><ins>+    void getCallLinkInfoMap(const ConcurrentJSLocker&amp;, CallLinkInfoMap&amp; result);
</ins><span class="cx">     void getCallLinkInfoMap(CallLinkInfoMap&amp; result);
</span><span class="cx"> 
</span><del>-    void getByValInfoMap(const ConcurrentJITLocker&amp;, ByValInfoMap&amp; result);
</del><ins>+    void getByValInfoMap(const ConcurrentJSLocker&amp;, ByValInfoMap&amp; result);
</ins><span class="cx">     void getByValInfoMap(ByValInfoMap&amp; result);
</span><span class="cx">     
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="lines">@@ -322,7 +322,7 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(heap()-&gt;isDeferred());
</span><span class="cx">         heap()-&gt;reportExtraMemoryAllocated(code-&gt;size());
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         WTF::storeStoreFence(); // This is probably not needed because the lock will also do something similar, but it's good to be paranoid.
</span><span class="cx">         m_jitCode = code;
</span><span class="cx">     }
</span><span class="lines">@@ -413,7 +413,7 @@
</span><span class="cx">     unsigned numberOfValueProfiles() { return m_valueProfiles.size(); }
</span><span class="cx">     ValueProfile* valueProfile(int index) { return &amp;m_valueProfiles[index]; }
</span><span class="cx">     ValueProfile* valueProfileForBytecodeOffset(int bytecodeOffset);
</span><del>-    SpeculatedType valueProfilePredictionForBytecodeOffset(const ConcurrentJITLocker&amp; locker, int bytecodeOffset)
</del><ins>+    SpeculatedType valueProfilePredictionForBytecodeOffset(const ConcurrentJSLocker&amp; locker, int bytecodeOffset)
</ins><span class="cx">     {
</span><span class="cx">         if (ValueProfile* valueProfile = valueProfileForBytecodeOffset(bytecodeOffset))
</span><span class="cx">             return valueProfile-&gt;computeUpdatedPrediction(locker);
</span><span class="lines">@@ -459,11 +459,11 @@
</span><span class="cx"> 
</span><span class="cx">     unsigned numberOfArrayProfiles() const { return m_arrayProfiles.size(); }
</span><span class="cx">     const ArrayProfileVector&amp; arrayProfiles() { return m_arrayProfiles; }
</span><del>-    ArrayProfile* addArrayProfile(const ConcurrentJITLocker&amp;, unsigned bytecodeOffset);
</del><ins>+    ArrayProfile* addArrayProfile(const ConcurrentJSLocker&amp;, unsigned bytecodeOffset);
</ins><span class="cx">     ArrayProfile* addArrayProfile(unsigned bytecodeOffset);
</span><del>-    ArrayProfile* getArrayProfile(const ConcurrentJITLocker&amp;, unsigned bytecodeOffset);
</del><ins>+    ArrayProfile* getArrayProfile(const ConcurrentJSLocker&amp;, unsigned bytecodeOffset);
</ins><span class="cx">     ArrayProfile* getArrayProfile(unsigned bytecodeOffset);
</span><del>-    ArrayProfile* getOrAddArrayProfile(const ConcurrentJITLocker&amp;, unsigned bytecodeOffset);
</del><ins>+    ArrayProfile* getOrAddArrayProfile(const ConcurrentJSLocker&amp;, unsigned bytecodeOffset);
</ins><span class="cx">     ArrayProfile* getOrAddArrayProfile(unsigned bytecodeOffset);
</span><span class="cx"> 
</span><span class="cx">     // Exception handling support
</span><span class="lines">@@ -497,17 +497,17 @@
</span><span class="cx">     bool addFrequentExitSite(const DFG::FrequentExitSite&amp; site)
</span><span class="cx">     {
</span><span class="cx">         ASSERT(JITCode::isBaselineCode(jitType()));
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return m_exitProfile.add(locker, this, site);
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    bool hasExitSite(const ConcurrentJITLocker&amp; locker, const DFG::FrequentExitSite&amp; site) const
</del><ins>+    bool hasExitSite(const ConcurrentJSLocker&amp; locker, const DFG::FrequentExitSite&amp; site) const
</ins><span class="cx">     {
</span><span class="cx">         return m_exitProfile.hasExitSite(locker, site);
</span><span class="cx">     }
</span><span class="cx">     bool hasExitSite(const DFG::FrequentExitSite&amp; site) const
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return hasExitSite(locker, site);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -591,7 +591,7 @@
</span><span class="cx">     BytecodeLivenessAnalysis&amp; livenessAnalysis()
</span><span class="cx">     {
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(m_lock);
</del><ins>+            ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">             if (!!m_livenessAnalysis)
</span><span class="cx">                 return *m_livenessAnalysis;
</span><span class="cx">         }
</span><span class="lines">@@ -834,7 +834,7 @@
</span><span class="cx">     // Another exception to the rules is that the GC can do whatever it wants
</span><span class="cx">     // without holding any locks, because the GC is guaranteed to wait until any
</span><span class="cx">     // concurrent compilation threads finish what they're doing.
</span><del>-    mutable ConcurrentJITLock m_lock;
</del><ins>+    mutable ConcurrentJSLock m_lock;
</ins><span class="cx"> 
</span><span class="cx">     Atomic&lt;bool&gt; m_visitWeaklyHasBeenCalled;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeDFGExitProfilecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -41,7 +41,7 @@
</span><span class="cx"> ExitProfile::ExitProfile() { }
</span><span class="cx"> ExitProfile::~ExitProfile() { }
</span><span class="cx"> 
</span><del>-bool ExitProfile::add(const ConcurrentJITLocker&amp;, CodeBlock* owner, const FrequentExitSite&amp; site)
</del><ins>+bool ExitProfile::add(const ConcurrentJSLocker&amp;, CodeBlock* owner, const FrequentExitSite&amp; site)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(site.jitType() != ExitFromAnything);
</span><span class="cx"> 
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool ExitProfile::hasExitSite(const ConcurrentJITLocker&amp;, const FrequentExitSite&amp; site) const
</del><ins>+bool ExitProfile::hasExitSite(const ConcurrentJSLocker&amp;, const FrequentExitSite&amp; site) const
</ins><span class="cx"> {
</span><span class="cx">     if (!m_frequentExitSites)
</span><span class="cx">         return false;
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx"> QueryableExitProfile::QueryableExitProfile() { }
</span><span class="cx"> QueryableExitProfile::~QueryableExitProfile() { }
</span><span class="cx"> 
</span><del>-void QueryableExitProfile::initialize(const ConcurrentJITLocker&amp;, const ExitProfile&amp; profile)
</del><ins>+void QueryableExitProfile::initialize(const ConcurrentJSLocker&amp;, const ExitProfile&amp; profile)
</ins><span class="cx"> {
</span><span class="cx">     if (!profile.m_frequentExitSites)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeDFGExitProfileh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/DFGExitProfile.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ExitKind.h&quot;
</span><span class="cx"> #include &quot;ExitingJITType.h&quot;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="lines">@@ -160,7 +160,7 @@
</span><span class="cx">     // be called a fixed number of times per recompilation. Recompilation is
</span><span class="cx">     // rare to begin with, and implies doing O(n) operations on the CodeBlock
</span><span class="cx">     // anyway.
</span><del>-    bool add(const ConcurrentJITLocker&amp;, CodeBlock* owner, const FrequentExitSite&amp;);
</del><ins>+    bool add(const ConcurrentJSLocker&amp;, CodeBlock* owner, const FrequentExitSite&amp;);
</ins><span class="cx">     
</span><span class="cx">     // Get the frequent exit sites for a bytecode index. This is O(n), and is
</span><span class="cx">     // meant to only be used from debugging/profiling code.
</span><span class="lines">@@ -170,12 +170,12 @@
</span><span class="cx">     // in the compiler. It should be strictly cheaper than building a
</span><span class="cx">     // QueryableExitProfile, if you really expect this to be called infrequently
</span><span class="cx">     // and you believe that there are few exit sites.
</span><del>-    bool hasExitSite(const ConcurrentJITLocker&amp;, const FrequentExitSite&amp;) const;
-    bool hasExitSite(const ConcurrentJITLocker&amp; locker, ExitKind kind) const
</del><ins>+    bool hasExitSite(const ConcurrentJSLocker&amp;, const FrequentExitSite&amp;) const;
+    bool hasExitSite(const ConcurrentJSLocker&amp; locker, ExitKind kind) const
</ins><span class="cx">     {
</span><span class="cx">         return hasExitSite(locker, FrequentExitSite(kind));
</span><span class="cx">     }
</span><del>-    bool hasExitSite(const ConcurrentJITLocker&amp; locker, unsigned bytecodeIndex, ExitKind kind) const
</del><ins>+    bool hasExitSite(const ConcurrentJSLocker&amp; locker, unsigned bytecodeIndex, ExitKind kind) const
</ins><span class="cx">     {
</span><span class="cx">         return hasExitSite(locker, FrequentExitSite(bytecodeIndex, kind));
</span><span class="cx">     }
</span><span class="lines">@@ -191,7 +191,7 @@
</span><span class="cx">     QueryableExitProfile();
</span><span class="cx">     ~QueryableExitProfile();
</span><span class="cx">     
</span><del>-    void initialize(const ConcurrentJITLocker&amp;, const ExitProfile&amp;);
</del><ins>+    void initialize(const ConcurrentJSLocker&amp;, const ExitProfile&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool hasExitSite(const FrequentExitSite&amp; site) const
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeGetByIdStatuscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-bool GetByIdStatus::hasExitSite(const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</del><ins>+bool GetByIdStatus::hasExitSite(const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</ins><span class="cx"> {
</span><span class="cx">     return profiledBlock-&gt;hasExitSite(locker, DFG::FrequentExitSite(bytecodeIndex, BadCache))
</span><span class="cx">         || profiledBlock-&gt;hasExitSite(locker, DFG::FrequentExitSite(bytecodeIndex, BadConstantCache));
</span><span class="lines">@@ -109,7 +109,7 @@
</span><span class="cx"> 
</span><span class="cx"> GetByIdStatus GetByIdStatus::computeFor(CodeBlock* profiledBlock, StubInfoMap&amp; map, unsigned bytecodeIndex, UniquedStringImpl* uid)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx"> 
</span><span class="cx">     GetByIdStatus result;
</span><span class="cx"> 
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-GetByIdStatus GetByIdStatus::computeForStubInfo(const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo, CodeOrigin codeOrigin, UniquedStringImpl* uid)
</del><ins>+GetByIdStatus GetByIdStatus::computeForStubInfo(const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo, CodeOrigin codeOrigin, UniquedStringImpl* uid)
</ins><span class="cx"> {
</span><span class="cx">     GetByIdStatus result = GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback(
</span><span class="cx">         locker, profiledBlock, stubInfo, uid,
</span><span class="lines">@@ -146,7 +146,7 @@
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx"> GetByIdStatus GetByIdStatus::computeForStubInfoWithoutExitSiteFeedback(
</span><del>-    const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo, UniquedStringImpl* uid,
</del><ins>+    const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo, UniquedStringImpl* uid,
</ins><span class="cx">     CallLinkStatus::ExitSiteData callExitSiteData)
</span><span class="cx"> {
</span><span class="cx">     if (!stubInfo || !stubInfo-&gt;everConsidered)
</span><span class="lines">@@ -298,7 +298,7 @@
</span><span class="cx">     if (dfgBlock) {
</span><span class="cx">         CallLinkStatus::ExitSiteData exitSiteData;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">             exitSiteData = CallLinkStatus::computeExitSiteData(
</span><span class="cx">                 locker, profiledBlock, codeOrigin.bytecodeIndex);
</span><span class="cx">         }
</span><span class="lines">@@ -305,7 +305,7 @@
</span><span class="cx">         
</span><span class="cx">         GetByIdStatus result;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(dfgBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(dfgBlock-&gt;m_lock);
</ins><span class="cx">             result = computeForStubInfoWithoutExitSiteFeedback(
</span><span class="cx">                 locker, dfgBlock, dfgMap.get(codeOrigin), uid, exitSiteData);
</span><span class="cx">         }
</span><span class="lines">@@ -314,7 +314,7 @@
</span><span class="cx">             return result;
</span><span class="cx">     
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">             if (hasExitSite(locker, profiledBlock, codeOrigin.bytecodeIndex))
</span><span class="cx">                 return GetByIdStatus(TakesSlowPath, true);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeGetByIdStatush"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CallLinkStatus.h&quot;
</span><span class="cx"> #include &quot;CodeOrigin.h&quot;
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ExitingJITType.h&quot;
</span><span class="cx"> #include &quot;GetByIdVariant.h&quot;
</span><span class="cx"> 
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     static GetByIdStatus computeFor(CodeBlock* baselineBlock, CodeBlock* dfgBlock, StubInfoMap&amp; baselineMap, StubInfoMap&amp; dfgMap, CodeOrigin, UniquedStringImpl* uid);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-    static GetByIdStatus computeForStubInfo(const ConcurrentJITLocker&amp;, CodeBlock* baselineBlock, StructureStubInfo*, CodeOrigin, UniquedStringImpl* uid);
</del><ins>+    static GetByIdStatus computeForStubInfo(const ConcurrentJSLocker&amp;, CodeBlock* baselineBlock, StructureStubInfo*, CodeOrigin, UniquedStringImpl* uid);
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx">     State state() const { return m_state; }
</span><span class="lines">@@ -102,11 +102,11 @@
</span><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-    static bool hasExitSite(const ConcurrentJITLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</del><ins>+    static bool hasExitSite(const ConcurrentJSLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     static GetByIdStatus computeForStubInfoWithoutExitSiteFeedback(
</span><del>-        const ConcurrentJITLocker&amp;, CodeBlock* profiledBlock, StructureStubInfo*,
</del><ins>+        const ConcurrentJSLocker&amp;, CodeBlock* profiledBlock, StructureStubInfo*,
</ins><span class="cx">         UniquedStringImpl* uid, CallLinkStatus::ExitSiteData);
</span><span class="cx"> #endif
</span><span class="cx">     static GetByIdStatus computeFromLLInt(CodeBlock*, unsigned bytecodeIndex, UniquedStringImpl* uid);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeLazyOperandValueProfilecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -33,7 +33,7 @@
</span><span class="cx"> CompressedLazyOperandValueProfileHolder::CompressedLazyOperandValueProfileHolder() { }
</span><span class="cx"> CompressedLazyOperandValueProfileHolder::~CompressedLazyOperandValueProfileHolder() { }
</span><span class="cx"> 
</span><del>-void CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions(const ConcurrentJITLocker&amp; locker)
</del><ins>+void CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions(const ConcurrentJSLocker&amp; locker)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_data)
</span><span class="cx">         return;
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> LazyOperandValueProfile* CompressedLazyOperandValueProfileHolder::add(
</span><del>-    const ConcurrentJITLocker&amp;, const LazyOperandValueProfileKey&amp; key)
</del><ins>+    const ConcurrentJSLocker&amp;, const LazyOperandValueProfileKey&amp; key)
</ins><span class="cx"> {
</span><span class="cx">     if (!m_data)
</span><span class="cx">         m_data = std::make_unique&lt;LazyOperandValueProfile::List&gt;();
</span><span class="lines">@@ -62,7 +62,7 @@
</span><span class="cx"> LazyOperandValueProfileParser::~LazyOperandValueProfileParser() { }
</span><span class="cx"> 
</span><span class="cx"> void LazyOperandValueProfileParser::initialize(
</span><del>-    const ConcurrentJITLocker&amp;, CompressedLazyOperandValueProfileHolder&amp; holder)
</del><ins>+    const ConcurrentJSLocker&amp;, CompressedLazyOperandValueProfileHolder&amp; holder)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(m_map.isEmpty());
</span><span class="cx">     
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> SpeculatedType LazyOperandValueProfileParser::prediction(
</span><del>-    const ConcurrentJITLocker&amp; locker, const LazyOperandValueProfileKey&amp; key) const
</del><ins>+    const ConcurrentJSLocker&amp; locker, const LazyOperandValueProfileKey&amp; key) const
</ins><span class="cx"> {
</span><span class="cx">     LazyOperandValueProfile* profile = getIfPresent(key);
</span><span class="cx">     if (!profile)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeLazyOperandValueProfileh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/LazyOperandValueProfile.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ValueProfile.h&quot;
</span><span class="cx"> #include &quot;VirtualRegister.h&quot;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="lines">@@ -152,10 +152,10 @@
</span><span class="cx">     CompressedLazyOperandValueProfileHolder();
</span><span class="cx">     ~CompressedLazyOperandValueProfileHolder();
</span><span class="cx">     
</span><del>-    void computeUpdatedPredictions(const ConcurrentJITLocker&amp;);
</del><ins>+    void computeUpdatedPredictions(const ConcurrentJSLocker&amp;);
</ins><span class="cx">     
</span><span class="cx">     LazyOperandValueProfile* add(
</span><del>-        const ConcurrentJITLocker&amp;, const LazyOperandValueProfileKey&amp; key);
</del><ins>+        const ConcurrentJSLocker&amp;, const LazyOperandValueProfileKey&amp; key);
</ins><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx">     friend class LazyOperandValueProfileParser;
</span><span class="lines">@@ -169,13 +169,13 @@
</span><span class="cx">     ~LazyOperandValueProfileParser();
</span><span class="cx">     
</span><span class="cx">     void initialize(
</span><del>-        const ConcurrentJITLocker&amp;, CompressedLazyOperandValueProfileHolder&amp; holder);
</del><ins>+        const ConcurrentJSLocker&amp;, CompressedLazyOperandValueProfileHolder&amp; holder);
</ins><span class="cx">     
</span><span class="cx">     LazyOperandValueProfile* getIfPresent(
</span><span class="cx">         const LazyOperandValueProfileKey&amp; key) const;
</span><span class="cx">     
</span><span class="cx">     SpeculatedType prediction(
</span><del>-        const ConcurrentJITLocker&amp;, const LazyOperandValueProfileKey&amp; key) const;
</del><ins>+        const ConcurrentJSLocker&amp;, const LazyOperandValueProfileKey&amp; key) const;
</ins><span class="cx"> private:
</span><span class="cx">     HashMap&lt;LazyOperandValueProfileKey, LazyOperandValueProfile*&gt; m_map;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeMethodOfGettingAValueProfilecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/MethodOfGettingAValueProfile.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     case LazyOperand: {
</span><span class="cx">         LazyOperandValueProfileKey key(u.lazyOperand.bytecodeOffset, VirtualRegister(u.lazyOperand.operand));
</span><span class="cx">         
</span><del>-        ConcurrentJITLocker locker(u.lazyOperand.codeBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(u.lazyOperand.codeBlock-&gt;m_lock);
</ins><span class="cx">         LazyOperandValueProfile* profile =
</span><span class="cx">             u.lazyOperand.codeBlock-&gt;lazyOperandValueProfiles().add(locker, key);
</span><span class="cx">         jit.storeValue(regs, profile-&gt;specFailBucket(0));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodePutByIdStatuscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-bool PutByIdStatus::hasExitSite(const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</del><ins>+bool PutByIdStatus::hasExitSite(const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, unsigned bytecodeIndex)
</ins><span class="cx"> {
</span><span class="cx">     return profiledBlock-&gt;hasExitSite(locker, DFG::FrequentExitSite(bytecodeIndex, BadCache))
</span><span class="cx">         || profiledBlock-&gt;hasExitSite(locker, DFG::FrequentExitSite(bytecodeIndex, BadConstantCache));
</span><span class="lines">@@ -110,7 +110,7 @@
</span><span class="cx"> 
</span><span class="cx"> PutByIdStatus PutByIdStatus::computeFor(CodeBlock* profiledBlock, StubInfoMap&amp; map, unsigned bytecodeIndex, UniquedStringImpl* uid)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">     
</span><span class="cx">     UNUSED_PARAM(profiledBlock);
</span><span class="cx">     UNUSED_PARAM(bytecodeIndex);
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JIT)
</span><del>-PutByIdStatus PutByIdStatus::computeForStubInfo(const ConcurrentJITLocker&amp; locker, CodeBlock* baselineBlock, StructureStubInfo* stubInfo, CodeOrigin codeOrigin, UniquedStringImpl* uid)
</del><ins>+PutByIdStatus PutByIdStatus::computeForStubInfo(const ConcurrentJSLocker&amp; locker, CodeBlock* baselineBlock, StructureStubInfo* stubInfo, CodeOrigin codeOrigin, UniquedStringImpl* uid)
</ins><span class="cx"> {
</span><span class="cx">     return computeForStubInfo(
</span><span class="cx">         locker, baselineBlock, stubInfo, uid,
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PutByIdStatus PutByIdStatus::computeForStubInfo(
</span><del>-    const ConcurrentJITLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo,
</del><ins>+    const ConcurrentJSLocker&amp; locker, CodeBlock* profiledBlock, StructureStubInfo* stubInfo,
</ins><span class="cx">     UniquedStringImpl* uid, CallLinkStatus::ExitSiteData callExitSiteData)
</span><span class="cx"> {
</span><span class="cx">     if (!stubInfo || !stubInfo-&gt;everConsidered)
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">     if (dfgBlock) {
</span><span class="cx">         CallLinkStatus::ExitSiteData exitSiteData;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(baselineBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(baselineBlock-&gt;m_lock);
</ins><span class="cx">             if (hasExitSite(locker, baselineBlock, codeOrigin.bytecodeIndex))
</span><span class="cx">                 return PutByIdStatus(TakesSlowPath);
</span><span class="cx">             exitSiteData = CallLinkStatus::computeExitSiteData(
</span><span class="lines">@@ -275,7 +275,7 @@
</span><span class="cx">             
</span><span class="cx">         PutByIdStatus result;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(dfgBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(dfgBlock-&gt;m_lock);
</ins><span class="cx">             result = computeForStubInfo(
</span><span class="cx">                 locker, dfgBlock, dfgMap.get(codeOrigin), uid, exitSiteData);
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodePutByIdStatush"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -77,7 +77,7 @@
</span><span class="cx">     static PutByIdStatus computeFor(CodeBlock* baselineBlock, CodeBlock* dfgBlock, StubInfoMap&amp; baselineMap, StubInfoMap&amp; dfgMap, CodeOrigin, UniquedStringImpl* uid);
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(JIT)
</span><del>-    static PutByIdStatus computeForStubInfo(const ConcurrentJITLocker&amp;, CodeBlock* baselineBlock, StructureStubInfo*, CodeOrigin, UniquedStringImpl* uid);
</del><ins>+    static PutByIdStatus computeForStubInfo(const ConcurrentJSLocker&amp;, CodeBlock* baselineBlock, StructureStubInfo*, CodeOrigin, UniquedStringImpl* uid);
</ins><span class="cx"> #endif
</span><span class="cx">     
</span><span class="cx">     State state() const { return m_state; }
</span><span class="lines">@@ -97,11 +97,11 @@
</span><span class="cx">     
</span><span class="cx"> private:
</span><span class="cx"> #if ENABLE(DFG_JIT)
</span><del>-    static bool hasExitSite(const ConcurrentJITLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</del><ins>+    static bool hasExitSite(const ConcurrentJSLocker&amp;, CodeBlock*, unsigned bytecodeIndex);
</ins><span class="cx"> #endif
</span><span class="cx"> #if ENABLE(JIT)
</span><span class="cx">     static PutByIdStatus computeForStubInfo(
</span><del>-        const ConcurrentJITLocker&amp;, CodeBlock*, StructureStubInfo*, UniquedStringImpl* uid,
</del><ins>+        const ConcurrentJSLocker&amp;, CodeBlock*, StructureStubInfo*, UniquedStringImpl* uid,
</ins><span class="cx">         CallLinkStatus::ExitSiteData);
</span><span class="cx"> #endif
</span><span class="cx">     static PutByIdStatus computeFromLLInt(CodeBlock*, unsigned bytecodeIndex, UniquedStringImpl* uid);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeStructureStubClearingWatchpointcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/StructureStubClearingWatchpoint.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx">         // This will implicitly cause my own demise: stub reset removes all watchpoints.
</span><span class="cx">         // That works, because deleting a watchpoint removes it from the set's list, and
</span><span class="cx">         // the set's list traversal for firing is robust against the set changing.
</span><del>-        ConcurrentJITLocker locker(m_holder.codeBlock()-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_holder.codeBlock()-&gt;m_lock);
</ins><span class="cx">         m_holder.stubInfo()-&gt;reset(m_holder.codeBlock());
</span><span class="cx">         return;
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorebytecodeValueProfileh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/bytecode/ValueProfile.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/bytecode/ValueProfile.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/bytecode/ValueProfile.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;Heap.h&quot;
</span><span class="cx"> #include &quot;JSArray.h&quot;
</span><span class="cx"> #include &quot;SpeculatedType.h&quot;
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">         return false;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    CString briefDescription(const ConcurrentJITLocker&amp; locker)
</del><ins>+    CString briefDescription(const ConcurrentJSLocker&amp; locker)
</ins><span class="cx">     {
</span><span class="cx">         computeUpdatedPrediction(locker);
</span><span class="cx">         
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">     
</span><span class="cx">     // Updates the prediction and returns the new one. Never call this from any thread
</span><span class="cx">     // that isn't executing the code.
</span><del>-    SpeculatedType computeUpdatedPrediction(const ConcurrentJITLocker&amp;)
</del><ins>+    SpeculatedType computeUpdatedPrediction(const ConcurrentJSLocker&amp;)
</ins><span class="cx">     {
</span><span class="cx">         for (unsigned i = 0; i &lt; totalNumberOfBuckets; ++i) {
</span><span class="cx">             JSValue value = JSValue::decode(m_buckets[i]);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGArrayModecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGArrayMode.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace JSC { namespace DFG {
</span><span class="cx"> 
</span><del>-ArrayMode ArrayMode::fromObserved(const ConcurrentJITLocker&amp; locker, ArrayProfile* profile, Array::Action action, bool makeSafe)
</del><ins>+ArrayMode ArrayMode::fromObserved(const ConcurrentJSLocker&amp; locker, ArrayProfile* profile, Array::Action action, bool makeSafe)
</ins><span class="cx"> {
</span><span class="cx">     Array::Class nonArray;
</span><span class="cx">     if (profile-&gt;usesOriginalArrayStructures(locker))
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGArrayModeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGArrayMode.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGArrayMode.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGArrayMode.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -168,7 +168,7 @@
</span><span class="cx">         return ArrayMode(word);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    static ArrayMode fromObserved(const ConcurrentJITLocker&amp;, ArrayProfile*, Array::Action, bool makeSafe);
</del><ins>+    static ArrayMode fromObserved(const ConcurrentJSLocker&amp;, ArrayProfile*, Array::Action, bool makeSafe);
</ins><span class="cx">     
</span><span class="cx">     ArrayMode withSpeculation(Array::Speculation speculation) const
</span><span class="cx">     {
</span><span class="lines">@@ -180,7 +180,7 @@
</span><span class="cx">         return ArrayMode(type(), arrayClass, speculation(), conversion());
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    ArrayMode withSpeculationFromProfile(const ConcurrentJITLocker&amp; locker, ArrayProfile* profile, bool makeSafe) const
</del><ins>+    ArrayMode withSpeculationFromProfile(const ConcurrentJSLocker&amp; locker, ArrayProfile* profile, bool makeSafe) const
</ins><span class="cx">     {
</span><span class="cx">         Array::Speculation mySpeculation;
</span><span class="cx"> 
</span><span class="lines">@@ -194,7 +194,7 @@
</span><span class="cx">         return withSpeculation(mySpeculation);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    ArrayMode withProfile(const ConcurrentJITLocker&amp; locker, ArrayProfile* profile, bool makeSafe) const
</del><ins>+    ArrayMode withProfile(const ConcurrentJSLocker&amp; locker, ArrayProfile* profile, bool makeSafe) const
</ins><span class="cx">     {
</span><span class="cx">         Array::Class myArrayClass;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGByteCodeParsercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -407,7 +407,7 @@
</span><span class="cx">     {
</span><span class="cx">         ASSERT(node-&gt;op() == GetLocal);
</span><span class="cx">         ASSERT(node-&gt;origin.semantic.bytecodeIndex == m_currentIndex);
</span><del>-        ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">         LazyOperandValueProfileKey key(m_currentIndex, node-&gt;local());
</span><span class="cx">         SpeculatedType prediction = m_inlineStackTop-&gt;m_lazyOperands.prediction(locker, key);
</span><span class="cx">         node-&gt;variableAccessData()-&gt;predict(prediction);
</span><span class="lines">@@ -852,7 +852,7 @@
</span><span class="cx">     {
</span><span class="cx">         SpeculatedType prediction;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">             prediction = m_inlineStackTop-&gt;m_profiledBlock-&gt;valueProfilePredictionForBytecodeOffset(locker, bytecodeIndex);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -891,7 +891,7 @@
</span><span class="cx"> 
</span><span class="cx">             bytecodeIndex = codeOrigin-&gt;bytecodeIndex;
</span><span class="cx">             CodeBlock* profiledBlock = stack-&gt;m_profiledBlock;
</span><del>-            ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">             return profiledBlock-&gt;valueProfilePredictionForBytecodeOffset(locker, bytecodeIndex);
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="lines">@@ -928,7 +928,7 @@
</span><span class="cx">     
</span><span class="cx">     ArrayMode getArrayMode(ArrayProfile* profile, Array::Action action)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">         profile-&gt;computeUpdatedPrediction(locker, m_inlineStackTop-&gt;m_profiledBlock);
</span><span class="cx">         bool makeSafe = profile-&gt;outOfBounds(locker);
</span><span class="cx">         return ArrayMode::fromObserved(locker, profile, action, makeSafe);
</span><span class="lines">@@ -1883,7 +1883,7 @@
</span><span class="cx">                         // arguments received inside the callee. But that probably won't matter for most
</span><span class="cx">                         // calls.
</span><span class="cx">                         if (codeBlock &amp;&amp; argument &lt; static_cast&lt;unsigned&gt;(codeBlock-&gt;numParameters())) {
</span><del>-                            ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                            ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                             if (ValueProfile* profile = codeBlock-&gt;valueProfileForArgument(argument))
</span><span class="cx">                                 variable-&gt;predict(profile-&gt;computeUpdatedPrediction(locker));
</span><span class="cx">                         }
</span><span class="lines">@@ -4261,7 +4261,7 @@
</span><span class="cx">             GetByIdStatus getByIdStatus;
</span><span class="cx">             unsigned identifierNumber = 0;
</span><span class="cx">             {
</span><del>-                ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">                 ByValInfo* byValInfo = m_inlineStackTop-&gt;m_byValInfos.get(CodeOrigin(currentCodeOrigin().bytecodeIndex));
</span><span class="cx">                 // FIXME: When the bytecode is not compiled in the baseline JIT, byValInfo becomes null.
</span><span class="cx">                 // At that time, there is no information.
</span><span class="lines">@@ -4319,7 +4319,7 @@
</span><span class="cx">                 unsigned identifierNumber = std::numeric_limits&lt;unsigned&gt;::max();
</span><span class="cx">                 PutByIdStatus putByIdStatus;
</span><span class="cx">                 {
</span><del>-                    ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">                     ByValInfo* byValInfo = m_inlineStackTop-&gt;m_byValInfos.get(CodeOrigin(currentCodeOrigin().bytecodeIndex));
</span><span class="cx">                     // FIXME: When the bytecode is not compiled in the baseline JIT, byValInfo becomes null.
</span><span class="cx">                     // At that time, there is no information.
</span><span class="lines">@@ -4945,7 +4945,7 @@
</span><span class="cx">             WatchpointSet* watchpoints = 0;
</span><span class="cx">             uintptr_t operand;
</span><span class="cx">             {
</span><del>-                ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">                 if (resolveType == GlobalVar || resolveType == GlobalVarWithVarInjectionChecks || resolveType == GlobalLexicalVar || resolveType == GlobalLexicalVarWithVarInjectionChecks)
</span><span class="cx">                     watchpoints = currentInstruction[5].u.watchpointSet;
</span><span class="cx">                 else if (resolveType != UnresolvedProperty &amp;&amp; resolveType != UnresolvedPropertyWithVarInjectionChecks)
</span><span class="lines">@@ -4991,7 +4991,7 @@
</span><span class="cx">                 ScopeOffset offset;
</span><span class="cx">                 JSSegmentedVariableObject* scopeObject = jsCast&lt;JSSegmentedVariableObject*&gt;(JSScope::constantScopeForCodeBlock(resolveType, m_inlineStackTop-&gt;m_codeBlock));
</span><span class="cx">                 {
</span><del>-                    ConcurrentJITLocker locker(scopeObject-&gt;symbolTable()-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(scopeObject-&gt;symbolTable()-&gt;m_lock);
</ins><span class="cx">                     SymbolTableEntry entry = scopeObject-&gt;symbolTable()-&gt;get(locker, uid);
</span><span class="cx">                     watchpointSet = entry.watchpointSet();
</span><span class="cx">                     offset = entry.scopeOffset();
</span><span class="lines">@@ -5114,7 +5114,7 @@
</span><span class="cx">             WatchpointSet* watchpoints = nullptr;
</span><span class="cx">             uintptr_t operand;
</span><span class="cx">             {
</span><del>-                ConcurrentJITLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(m_inlineStackTop-&gt;m_profiledBlock-&gt;m_lock);
</ins><span class="cx">                 if (resolveType == GlobalVar || resolveType == GlobalVarWithVarInjectionChecks || resolveType == LocalClosureVar || resolveType == GlobalLexicalVar || resolveType == GlobalLexicalVarWithVarInjectionChecks)
</span><span class="cx">                     watchpoints = currentInstruction[5].u.watchpointSet;
</span><span class="cx">                 else if (resolveType != UnresolvedProperty &amp;&amp; resolveType != UnresolvedPropertyWithVarInjectionChecks)
</span><span class="lines">@@ -5552,7 +5552,7 @@
</span><span class="cx">     , m_caller(byteCodeParser-&gt;m_inlineStackTop)
</span><span class="cx"> {
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_profiledBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_profiledBlock-&gt;m_lock);
</ins><span class="cx">         m_lazyOperands.initialize(locker, m_profiledBlock-&gt;lazyOperandValueProfiles());
</span><span class="cx">         m_exitProfile.initialize(locker, profiledBlock-&gt;exitProfile());
</span><span class="cx">         
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGDrivercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGDriver.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGDriver.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGDriver.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -100,7 +100,7 @@
</span><span class="cx">         new Plan(codeBlock, profiledDFGCodeBlock, mode, osrEntryBytecodeIndex, mustHandleValues));
</span><span class="cx">     
</span><span class="cx">     plan-&gt;callback = callback;
</span><del>-    if (Options::useConcurrentJIT()) {
</del><ins>+    if (Options::useConcurrentJS()) {
</ins><span class="cx">         Worklist&amp; worklist = ensureGlobalWorklistFor(mode);
</span><span class="cx">         if (logCompilationChanges(mode))
</span><span class="cx">             dataLog(&quot;Deferring DFG compilation of &quot;, *codeBlock, &quot; with queue length &quot;, worklist.queueLength(), &quot;.\n&quot;);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGFixupPhasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGFixupPhase.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1577,7 +1577,7 @@
</span><span class="cx">             } else if (typeSet-&gt;doesTypeConformTo(TypeObject)) {
</span><span class="cx">                 StructureSet set;
</span><span class="cx">                 {
</span><del>-                    ConcurrentJITLocker locker(typeSet-&gt;m_lock);
</del><ins>+                    ConcurrentJSLocker locker(typeSet-&gt;m_lock);
</ins><span class="cx">                     set = typeSet-&gt;structureSet(locker);
</span><span class="cx">                 }
</span><span class="cx">                 if (!set.isEmpty()) {
</span><span class="lines">@@ -2659,7 +2659,7 @@
</span><span class="cx">             profiledBlock-&gt;getArrayProfile(node-&gt;origin.semantic.bytecodeIndex);
</span><span class="cx">         ArrayMode arrayMode = ArrayMode(Array::SelectUsingPredictions);
</span><span class="cx">         if (arrayProfile) {
</span><del>-            ConcurrentJITLocker locker(profiledBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(profiledBlock-&gt;m_lock);
</ins><span class="cx">             arrayProfile-&gt;computeUpdatedPrediction(locker, profiledBlock);
</span><span class="cx">             arrayMode = ArrayMode::fromObserved(locker, arrayProfile, Array::Read, false);
</span><span class="cx">             if (arrayMode.type() == Array::Unprofiled) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGGraphcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGGraph.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1323,7 +1323,7 @@
</span><span class="cx">     JSValue value;
</span><span class="cx">     WatchpointSet* set;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">         
</span><span class="cx">         SymbolTableEntry* entry = symbolTable-&gt;entryFor(locker, offset);
</span><span class="cx">         if (!entry)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGObjectAllocationSinkingPhasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -865,7 +865,7 @@
</span><span class="cx">             writes.add(ActivationScopePLoc, LazyNode(node-&gt;child1().node()));
</span><span class="cx">             {
</span><span class="cx">                 SymbolTable* symbolTable = node-&gt;castOperand&lt;SymbolTable*&gt;();
</span><del>-                ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                 LazyNode initialValue(m_graph.freeze(node-&gt;initializationValueForActivation()));
</span><span class="cx">                 for (auto iter = symbolTable-&gt;begin(locker), end = symbolTable-&gt;end(locker); iter != end; ++iter) {
</span><span class="cx">                     writes.add(
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoredfgDFGPredictionInjectionPhasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/dfg/DFGPredictionInjectionPhase.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/dfg/DFGPredictionInjectionPhase.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/dfg/DFGPredictionInjectionPhase.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">         
</span><span class="cx">         ASSERT(codeBlock()-&gt;numParameters() &gt;= 1);
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(profiledBlock()-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(profiledBlock()-&gt;m_lock);
</ins><span class="cx">             
</span><span class="cx">             for (size_t arg = 0; arg &lt; static_cast&lt;size_t&gt;(codeBlock()-&gt;numParameters()); ++arg) {
</span><span class="cx">                 ValueProfile* profile = profiledBlock()-&gt;valueProfileForArgument(arg);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLLowerDFGToB3cpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -8388,7 +8388,7 @@
</span><span class="cx"> 
</span><span class="cx">         if (validationEnabled()) {
</span><span class="cx">             // Validate to make sure every slot in the scope has one value.
</span><del>-            ConcurrentJITLocker locker(table-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(table-&gt;m_lock);
</ins><span class="cx">             for (auto iter = table-&gt;begin(locker), end = table-&gt;end(locker); iter != end; ++iter) {
</span><span class="cx">                 bool found = false;
</span><span class="cx">                 for (unsigned i = 0; i &lt; data.m_properties.size(); ++i) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreftlFTLOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/ftl/FTLOperations.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -214,7 +214,7 @@
</span><span class="cx"> 
</span><span class="cx">         if (validationEnabled()) {
</span><span class="cx">             // Validate to make sure every slot in the scope has one value.
</span><del>-            ConcurrentJITLocker locker(table-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(table-&gt;m_lock);
</ins><span class="cx">             for (auto iter = table-&gt;begin(locker), end = table-&gt;end(locker); iter != end; ++iter) {
</span><span class="cx">                 bool found = false;
</span><span class="cx">                 for (unsigned i = materialization-&gt;properties().size(); i--;) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreheapHeapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/heap/Heap.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/heap/Heap.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/heap/Heap.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -987,7 +987,7 @@
</span><span class="cx"> void Heap::addToRememberedSet(const JSCell* cell)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(cell);
</span><del>-    ASSERT(!Options::useConcurrentJIT() || !isCompilationThread());
</del><ins>+    ASSERT(!Options::useConcurrentJS() || !isCompilationThread());
</ins><span class="cx">     if (!Heap::isMarkedConcurrently(cell)) {
</span><span class="cx">         // During a full collection a store into an unmarked object that had surivived past
</span><span class="cx">         // collections will manifest as a store to an unmarked black object. If the object gets
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JIT.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JIT.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/JIT.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -525,7 +525,7 @@
</span><span class="cx">         before = monotonicallyIncreasingTimeMS();
</span><span class="cx">     
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_codeBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_codeBlock-&gt;m_lock);
</ins><span class="cx">         m_instructions = m_codeBlock-&gt;instructions().clone();
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITInlines.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITInlines.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/JITInlines.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1021,7 +1021,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline JITArrayMode JIT::chooseArrayMode(ArrayProfile* profile)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_codeBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_codeBlock-&gt;m_lock);
</ins><span class="cx">     profile-&gt;computeUpdatedPrediction(locker, m_codeBlock);
</span><span class="cx">     ArrayModes arrayModes = profile-&gt;observedArrayModes(locker);
</span><span class="cx">     if (arrayProfileSaw(arrayModes, DoubleShape))
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITOperationscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITOperations.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/JITOperations.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -610,7 +610,7 @@
</span><span class="cx">             JITArrayMode arrayMode = jitArrayModeForStructure(structure);
</span><span class="cx">             if (jitArrayModePermitsPut(arrayMode) &amp;&amp; arrayMode != byValInfo-&gt;arrayMode) {
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;arrayProfile-&gt;computeUpdatedPrediction(locker, codeBlock, structure);
</span><span class="cx"> 
</span><span class="cx">                 JIT::compilePutByVal(&amp;vm, exec-&gt;codeBlock(), byValInfo, returnAddress, arrayMode);
</span><span class="lines">@@ -638,7 +638,7 @@
</span><span class="cx">                 }
</span><span class="cx">             } else {
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;seen = true;
</span><span class="cx">                 byValInfo-&gt;cachedId = propertyName;
</span><span class="cx">                 if (subscript.isSymbol())
</span><span class="lines">@@ -694,7 +694,7 @@
</span><span class="cx">             JITArrayMode arrayMode = jitArrayModeForStructure(structure);
</span><span class="cx">             if (jitArrayModePermitsPut(arrayMode) &amp;&amp; arrayMode != byValInfo-&gt;arrayMode) {
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;arrayProfile-&gt;computeUpdatedPrediction(locker, codeBlock, structure);
</span><span class="cx"> 
</span><span class="cx">                 JIT::compileDirectPutByVal(&amp;vm, exec-&gt;codeBlock(), byValInfo, returnAddress, arrayMode);
</span><span class="lines">@@ -720,7 +720,7 @@
</span><span class="cx">                 }
</span><span class="cx">             } else {
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;seen = true;
</span><span class="cx">                 byValInfo-&gt;cachedId = propertyName;
</span><span class="cx">                 if (subscript.isSymbol())
</span><span class="lines">@@ -1743,7 +1743,7 @@
</span><span class="cx">                 // If we reached this case, we got an interesting array mode we did not expect when we compiled.
</span><span class="cx">                 // Let's update the profile to do better next time.
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;arrayProfile-&gt;computeUpdatedPrediction(locker, codeBlock, structure);
</span><span class="cx"> 
</span><span class="cx">                 JIT::compileGetByVal(&amp;vm, exec-&gt;codeBlock(), byValInfo, returnAddress, arrayMode);
</span><span class="lines">@@ -1771,7 +1771,7 @@
</span><span class="cx">                 }
</span><span class="cx">             } else {
</span><span class="cx">                 CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 byValInfo-&gt;seen = true;
</span><span class="cx">                 byValInfo-&gt;cachedId = propertyName;
</span><span class="cx">                 if (subscript.isSymbol())
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITPropertyAccesscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1324,7 +1324,7 @@
</span><span class="cx"> 
</span><span class="cx">     JITGetByIdGenerator gen = emitGetByValWithCachedId(byValInfo, currentInstruction, propertyName, fastDoneCase, slowDoneCase, slowCases);
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(m_codeBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_codeBlock-&gt;m_lock);
</ins><span class="cx">     LinkBuffer patchBuffer(*m_vm, *this, m_codeBlock);
</span><span class="cx">     patchBuffer.link(slowCases, CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(returnAddress.value())).labelAtOffset(byValInfo-&gt;returnAddressToSlowPath));
</span><span class="cx">     patchBuffer.link(fastDoneCase, byValInfo-&gt;badTypeJump.labelAtOffset(byValInfo-&gt;badTypeJumpToDone));
</span><span class="lines">@@ -1415,7 +1415,7 @@
</span><span class="cx"> 
</span><span class="cx">     JITPutByIdGenerator gen = emitPutByValWithCachedId(byValInfo, currentInstruction, putKind, propertyName, doneCases, slowCases);
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(m_codeBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_codeBlock-&gt;m_lock);
</ins><span class="cx">     LinkBuffer patchBuffer(*m_vm, *this, m_codeBlock);
</span><span class="cx">     patchBuffer.link(slowCases, CodeLocationLabel(MacroAssemblerCodePtr::createFromExecutableAddress(returnAddress.value())).labelAtOffset(byValInfo-&gt;returnAddressToSlowPath));
</span><span class="cx">     patchBuffer.link(doneCases, byValInfo-&gt;badTypeJump.labelAtOffset(byValInfo-&gt;badTypeJumpToDone));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitJITWorklistcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/JITWorklist.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/JITWorklist.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/JITWorklist.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -229,7 +229,7 @@
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    if (!Options::useConcurrentJIT()) {
</del><ins>+    if (!Options::useConcurrentJS()) {
</ins><span class="cx">         Plan::compileNow(codeBlock);
</span><span class="cx">         return;
</span><span class="cx">     }
</span><span class="lines">@@ -284,7 +284,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     if (isPlanned) {
</span><del>-        RELEASE_ASSERT(Options::useConcurrentJIT());
</del><ins>+        RELEASE_ASSERT(Options::useConcurrentJS());
</ins><span class="cx">         // This is expensive, but probably good enough.
</span><span class="cx">         completeAllForVM(*codeBlock-&gt;vm());
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorejitRepatchcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/jit/Repatch.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/jit/Repatch.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/jit/Repatch.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -319,7 +319,7 @@
</span><span class="cx"> void repatchGetByID(ExecState* exec, JSValue baseValue, const Identifier&amp; propertyName, const PropertySlot&amp; slot, StructureStubInfo&amp; stubInfo, GetByIDKind kind)
</span><span class="cx"> {
</span><span class="cx">     SuperSamplerScope superSamplerScope(false);
</span><del>-    GCSafeConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock, exec-&gt;vm().heap);
</del><ins>+    GCSafeConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock, exec-&gt;vm().heap);
</ins><span class="cx">     
</span><span class="cx">     if (tryCacheGetByID(exec, baseValue, propertyName, slot, stubInfo, kind) == GiveUpOnCache)
</span><span class="cx">         ftlThunkAwareRepatchCall(exec-&gt;codeBlock(), stubInfo.slowPathCallLocation(), appropriateGenericGetByIdFunction(kind));
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx"> void repatchPutByID(ExecState* exec, JSValue baseValue, Structure* structure, const Identifier&amp; propertyName, const PutPropertySlot&amp; slot, StructureStubInfo&amp; stubInfo, PutKind putKind)
</span><span class="cx"> {
</span><span class="cx">     SuperSamplerScope superSamplerScope(false);
</span><del>-    GCSafeConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock, exec-&gt;vm().heap);
</del><ins>+    GCSafeConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock, exec-&gt;vm().heap);
</ins><span class="cx">     
</span><span class="cx">     if (tryCachePutByID(exec, baseValue, structure, propertyName, slot, stubInfo, putKind) == GiveUpOnCache)
</span><span class="cx">         ftlThunkAwareRepatchCall(exec-&gt;codeBlock(), stubInfo.slowPathCallLocation(), appropriateGenericPutByIdFunction(slot, putKind));
</span></span></pre></div>
<a id="trunkSourceJavaScriptCorellintLLIntSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/llint/LLIntSlowPaths.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -627,7 +627,7 @@
</span><span class="cx">     }
</span><span class="cx">     ASSERT((offset == invalidOffset) == slot.isUnset());
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx"> 
</span><span class="cx">     if (slot.isUnset()) {
</span><span class="cx">         pc[0].u.opcode = LLInt::getOpcode(op_get_by_id_unset);
</span><span class="lines">@@ -675,7 +675,7 @@
</span><span class="cx">             if (structure-&gt;propertyAccessesAreCacheable()) {
</span><span class="cx">                 vm.heap.writeBarrier(codeBlock);
</span><span class="cx">                 
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx"> 
</span><span class="cx">                 pc[4].u.structureID = structure-&gt;id();
</span><span class="cx">                 pc[5].u.operand = slot.cachedOffset();
</span><span class="lines">@@ -748,7 +748,7 @@
</span><span class="cx">             vm.heap.writeBarrier(codeBlock);
</span><span class="cx">             
</span><span class="cx">             if (slot.type() == PutPropertySlot::NewProperty) {
</span><del>-                GCSafeConcurrentJITLocker locker(codeBlock-&gt;m_lock, vm.heap);
</del><ins>+                GCSafeConcurrentJSLocker locker(codeBlock-&gt;m_lock, vm.heap);
</ins><span class="cx">             
</span><span class="cx">                 if (!structure-&gt;isDictionary() &amp;&amp; structure-&gt;previousID()-&gt;outOfLineCapacity() == structure-&gt;outOfLineCapacity()) {
</span><span class="cx">                     ASSERT(structure-&gt;previousID()-&gt;transitionWatchpointSetHasBeenInvalidated());
</span><span class="lines">@@ -1335,7 +1335,7 @@
</span><span class="cx">     if (!LLINT_ALWAYS_ACCESS_SLOW &amp;&amp; callLinkInfo) {
</span><span class="cx">         CodeBlock* callerCodeBlock = exec-&gt;codeBlock();
</span><span class="cx"> 
</span><del>-        ConcurrentJITLocker locker(callerCodeBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(callerCodeBlock-&gt;m_lock);
</ins><span class="cx">         
</span><span class="cx">         if (callLinkInfo-&gt;isOnList())
</span><span class="cx">             callLinkInfo-&gt;remove();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreprofilerProfilerBytecodeSequencecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/profiler/ProfilerBytecodeSequence.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -40,7 +40,7 @@
</span><span class="cx">     StringPrintStream out;
</span><span class="cx">     
</span><span class="cx">     for (unsigned i = 0; i &lt; codeBlock-&gt;numberOfArgumentValueProfiles(); ++i) {
</span><del>-        ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">         CString description = codeBlock-&gt;valueProfileForArgument(i)-&gt;briefDescription(locker);
</span><span class="cx">         if (!description.length())
</span><span class="cx">             continue;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -826,7 +826,7 @@
</span><span class="cx">         if (resolvedScope-&gt;isGlobalObject()) {
</span><span class="cx">             JSGlobalObject* globalObject = jsCast&lt;JSGlobalObject*&gt;(resolvedScope);
</span><span class="cx">             if (globalObject-&gt;hasProperty(exec, ident)) {
</span><del>-                ConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</ins><span class="cx">                 if (resolveType == UnresolvedProperty)
</span><span class="cx">                     pc[4].u.operand = GlobalProperty;
</span><span class="cx">                 else
</span><span class="lines">@@ -836,7 +836,7 @@
</span><span class="cx">             }
</span><span class="cx">         } else if (resolvedScope-&gt;isGlobalLexicalEnvironment()) {
</span><span class="cx">             JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast&lt;JSGlobalLexicalEnvironment*&gt;(resolvedScope);
</span><del>-            ConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</ins><span class="cx">             if (resolveType == UnresolvedProperty)
</span><span class="cx">                 pc[4].u.operand = GlobalLexicalVar;
</span><span class="cx">             else
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeCommonSlowPathsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -106,7 +106,7 @@
</span><span class="cx">             ResolveType newResolveType = resolveType == UnresolvedProperty ? GlobalProperty : GlobalPropertyWithVarInjectionChecks;
</span><span class="cx">             resolveType = newResolveType;
</span><span class="cx">             getPutInfo = GetPutInfo(getPutInfo.resolveMode(), newResolveType, getPutInfo.initializationMode());
</span><del>-            ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">             pc[4].u.operand = getPutInfo.operand();
</span><span class="cx">         } else if (scope-&gt;isGlobalLexicalEnvironment()) {
</span><span class="cx">             JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast&lt;JSGlobalLexicalEnvironment*&gt;(scope);
</span><span class="lines">@@ -114,7 +114,7 @@
</span><span class="cx">             pc[4].u.operand = GetPutInfo(getPutInfo.resolveMode(), newResolveType, getPutInfo.initializationMode()).operand();
</span><span class="cx">             SymbolTableEntry entry = globalLexicalEnvironment-&gt;symbolTable()-&gt;get(ident.impl());
</span><span class="cx">             ASSERT(!entry.isNull());
</span><del>-            ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">             pc[5].u.watchpointSet = entry.watchpointSet();
</span><span class="cx">             pc[6].u.pointer = static_cast&lt;void*&gt;(globalLexicalEnvironment-&gt;variableAt(entry.scopeOffset()).slot());
</span><span class="cx">         }
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">         
</span><span class="cx">         scope-&gt;structure()-&gt;didCachePropertyReplacement(exec-&gt;vm(), slot.cachedOffset());
</span><span class="cx"> 
</span><del>-        ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">         pc[5].u.structure.set(exec-&gt;vm(), codeBlock, scope-&gt;structure());
</span><span class="cx">         pc[6].u.operand = slot.cachedOffset();
</span><span class="cx">     }
</span><span class="lines">@@ -150,7 +150,7 @@
</span><span class="cx">         if (scope-&gt;isGlobalObject()) {
</span><span class="cx">             ResolveType newResolveType = resolveType == UnresolvedProperty ? GlobalProperty : GlobalPropertyWithVarInjectionChecks;
</span><span class="cx">             resolveType = newResolveType; // Allow below caching mechanism to kick in.
</span><del>-            ConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</ins><span class="cx">             pc[4].u.operand = GetPutInfo(getPutInfo.resolveMode(), newResolveType, getPutInfo.initializationMode()).operand();
</span><span class="cx">         } else if (scope-&gt;isGlobalLexicalEnvironment()) {
</span><span class="cx">             JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast&lt;JSGlobalLexicalEnvironment*&gt;(scope);
</span><span class="lines">@@ -157,7 +157,7 @@
</span><span class="cx">             ResolveType newResolveType = resolveType == UnresolvedProperty ? GlobalLexicalVar : GlobalLexicalVarWithVarInjectionChecks;
</span><span class="cx">             SymbolTableEntry entry = globalLexicalEnvironment-&gt;symbolTable()-&gt;get(ident.impl());
</span><span class="cx">             ASSERT(!entry.isNull());
</span><del>-            ConcurrentJITLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(exec-&gt;codeBlock()-&gt;m_lock);
</ins><span class="cx">             pc[4].u.operand = GetPutInfo(getPutInfo.resolveMode(), newResolveType, getPutInfo.initializationMode()).operand();
</span><span class="cx">             pc[5].u.watchpointSet = entry.watchpointSet();
</span><span class="cx">             pc[6].u.pointer = static_cast&lt;void*&gt;(globalLexicalEnvironment-&gt;variableAt(entry.scopeOffset()).slot());
</span><span class="lines">@@ -170,7 +170,7 @@
</span><span class="cx">             CodeBlock* codeBlock = exec-&gt;codeBlock();
</span><span class="cx">             Structure* structure = scope-&gt;structure(vm);
</span><span class="cx">             {
</span><del>-                ConcurrentJITLocker locker(codeBlock-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(codeBlock-&gt;m_lock);
</ins><span class="cx">                 pc[5].u.structure.set(exec-&gt;vm(), codeBlock, structure);
</span><span class="cx">                 pc[6].u.operand = slot.cachedOffset();
</span><span class="cx">             }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeConcurrentJITLockh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/JavaScriptCore/runtime/ConcurrentJITLock.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConcurrentJITLock.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/ConcurrentJITLock.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1,134 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
- */
-
-#pragma once
-
-#include &quot;DeferGC.h&quot;
-#include &lt;wtf/Lock.h&gt;
-#include &lt;wtf/NoLock.h&gt;
-#include &lt;wtf/Optional.h&gt;
-
-namespace JSC {
-
-#if ENABLE(CONCURRENT_JIT)
-typedef Lock ConcurrentJITLock;
-typedef LockHolder ConcurrentJITLockerImpl;
-#else
-typedef NoLock ConcurrentJITLock;
-typedef NoLockLocker ConcurrentJITLockerImpl;
-#endif
-
-class ConcurrentJITLockerBase {
-    WTF_MAKE_NONCOPYABLE(ConcurrentJITLockerBase);
-public:
-    explicit ConcurrentJITLockerBase(ConcurrentJITLock&amp; lockable)
-        : m_locker(&amp;lockable)
-    {
-    }
-    explicit ConcurrentJITLockerBase(ConcurrentJITLock* lockable)
-        : m_locker(lockable)
-    {
-    }
-
-    explicit ConcurrentJITLockerBase(NoLockingNecessaryTag)
-        : m_locker(NoLockingNecessary)
-    {
-    }
-
-    ~ConcurrentJITLockerBase()
-    {
-    }
-    
-    void unlockEarly()
-    {
-        m_locker.unlockEarly();
-    }
-
-private:
-    ConcurrentJITLockerImpl m_locker;
-};
-
-class GCSafeConcurrentJITLocker : public ConcurrentJITLockerBase {
-public:
-    GCSafeConcurrentJITLocker(ConcurrentJITLock&amp; lockable, Heap&amp; heap)
-        : ConcurrentJITLockerBase(lockable)
-        , m_deferGC(heap)
-    {
-    }
-
-    GCSafeConcurrentJITLocker(ConcurrentJITLock* lockable, Heap&amp; heap)
-        : ConcurrentJITLockerBase(lockable)
-        , m_deferGC(heap)
-    {
-    }
-
-    ~GCSafeConcurrentJITLocker()
-    {
-        // We have to unlock early due to the destruction order of base
-        // vs. derived classes. If we didn't, then we would destroy the 
-        // DeferGC object before unlocking the lock which could cause a GC
-        // and resulting deadlock.
-        unlockEarly();
-    }
-
-private:
-    DeferGC m_deferGC;
-};
-
-class ConcurrentJITLocker : public ConcurrentJITLockerBase {
-public:
-    ConcurrentJITLocker(ConcurrentJITLock&amp; lockable)
-        : ConcurrentJITLockerBase(lockable)
-#if ENABLE(CONCURRENT_JIT) &amp;&amp; !defined(NDEBUG)
-        , m_disallowGC(InPlace)
-#endif
-    {
-    }
-
-    ConcurrentJITLocker(ConcurrentJITLock* lockable)
-        : ConcurrentJITLockerBase(lockable)
-#if ENABLE(CONCURRENT_JIT) &amp;&amp; !defined(NDEBUG)
-        , m_disallowGC(InPlace)
-#endif
-    {
-    }
-
-    ConcurrentJITLocker(NoLockingNecessaryTag)
-        : ConcurrentJITLockerBase(NoLockingNecessary)
-#if ENABLE(CONCURRENT_JIT) &amp;&amp; !defined(NDEBUG)
-        , m_disallowGC(Nullopt)
-#endif
-    {
-    }
-    
-    ConcurrentJITLocker(int) = delete;
-
-#if ENABLE(CONCURRENT_JIT) &amp;&amp; !defined(NDEBUG)
-private:
-    Optional&lt;DisallowGC&gt; m_disallowGC;
-#endif
-};
-
-} // namespace JSC
</del></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeConcurrentJSLockhfromrev208760trunkSourceJavaScriptCoreruntimeConcurrentJITLockh"></a>
<div class="copfile"><h4>Copied: trunk/Source/JavaScriptCore/runtime/ConcurrentJSLock.h (from rev 208760, trunk/Source/JavaScriptCore/runtime/ConcurrentJITLock.h) (0 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ConcurrentJSLock.h                                (rev 0)
+++ trunk/Source/JavaScriptCore/runtime/ConcurrentJSLock.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -0,0 +1,134 @@
</span><ins>+/*
+ * Copyright (C) 2013, 2016 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
+ */
+
+#pragma once
+
+#include &quot;DeferGC.h&quot;
+#include &lt;wtf/Lock.h&gt;
+#include &lt;wtf/NoLock.h&gt;
+#include &lt;wtf/Optional.h&gt;
+
+namespace JSC {
+
+#if ENABLE(CONCURRENT_JS)
+typedef Lock ConcurrentJSLock;
+typedef LockHolder ConcurrentJSLockerImpl;
+#else
+typedef NoLock ConcurrentJSLock;
+typedef NoLockLocker ConcurrentJSLockerImpl;
+#endif
+
+class ConcurrentJSLockerBase {
+    WTF_MAKE_NONCOPYABLE(ConcurrentJSLockerBase);
+public:
+    explicit ConcurrentJSLockerBase(ConcurrentJSLock&amp; lockable)
+        : m_locker(&amp;lockable)
+    {
+    }
+    explicit ConcurrentJSLockerBase(ConcurrentJSLock* lockable)
+        : m_locker(lockable)
+    {
+    }
+
+    explicit ConcurrentJSLockerBase(NoLockingNecessaryTag)
+        : m_locker(NoLockingNecessary)
+    {
+    }
+
+    ~ConcurrentJSLockerBase()
+    {
+    }
+    
+    void unlockEarly()
+    {
+        m_locker.unlockEarly();
+    }
+
+private:
+    ConcurrentJSLockerImpl m_locker;
+};
+
+class GCSafeConcurrentJSLocker : public ConcurrentJSLockerBase {
+public:
+    GCSafeConcurrentJSLocker(ConcurrentJSLock&amp; lockable, Heap&amp; heap)
+        : ConcurrentJSLockerBase(lockable)
+        , m_deferGC(heap)
+    {
+    }
+
+    GCSafeConcurrentJSLocker(ConcurrentJSLock* lockable, Heap&amp; heap)
+        : ConcurrentJSLockerBase(lockable)
+        , m_deferGC(heap)
+    {
+    }
+
+    ~GCSafeConcurrentJSLocker()
+    {
+        // We have to unlock early due to the destruction order of base
+        // vs. derived classes. If we didn't, then we would destroy the 
+        // DeferGC object before unlocking the lock which could cause a GC
+        // and resulting deadlock.
+        unlockEarly();
+    }
+
+private:
+    DeferGC m_deferGC;
+};
+
+class ConcurrentJSLocker : public ConcurrentJSLockerBase {
+public:
+    ConcurrentJSLocker(ConcurrentJSLock&amp; lockable)
+        : ConcurrentJSLockerBase(lockable)
+#if ENABLE(CONCURRENT_JS) &amp;&amp; !defined(NDEBUG)
+        , m_disallowGC(InPlace)
+#endif
+    {
+    }
+
+    ConcurrentJSLocker(ConcurrentJSLock* lockable)
+        : ConcurrentJSLockerBase(lockable)
+#if ENABLE(CONCURRENT_JS) &amp;&amp; !defined(NDEBUG)
+        , m_disallowGC(InPlace)
+#endif
+    {
+    }
+
+    ConcurrentJSLocker(NoLockingNecessaryTag)
+        : ConcurrentJSLockerBase(NoLockingNecessary)
+#if ENABLE(CONCURRENT_JS) &amp;&amp; !defined(NDEBUG)
+        , m_disallowGC(Nullopt)
+#endif
+    {
+    }
+    
+    ConcurrentJSLocker(int) = delete;
+
+#if ENABLE(CONCURRENT_JS) &amp;&amp; !defined(NDEBUG)
+private:
+    Optional&lt;DisallowGC&gt; m_disallowGC;
+#endif
+};
+
+} // namespace JSC
</ins></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeInferredTypecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/InferredType.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/InferredType.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/InferredType.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -366,7 +366,7 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InferredType::canWatch(const ConcurrentJITLocker&amp; locker, const Descriptor&amp; expected)
</del><ins>+bool InferredType::canWatch(const ConcurrentJSLocker&amp; locker, const Descriptor&amp; expected)
</ins><span class="cx"> {
</span><span class="cx">     if (expected.kind() == Top)
</span><span class="cx">         return false;
</span><span class="lines">@@ -376,11 +376,11 @@
</span><span class="cx"> 
</span><span class="cx"> bool InferredType::canWatch(const Descriptor&amp; expected)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return canWatch(locker, expected);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void InferredType::addWatchpoint(const ConcurrentJITLocker&amp; locker, Watchpoint* watchpoint)
</del><ins>+void InferredType::addWatchpoint(const ConcurrentJSLocker&amp; locker, Watchpoint* watchpoint)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(descriptor(locker).kind() != Top);
</span><span class="cx"> 
</span><span class="lines">@@ -389,7 +389,7 @@
</span><span class="cx"> 
</span><span class="cx"> void InferredType::addWatchpoint(Watchpoint* watchpoint)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     addWatchpoint(locker, watchpoint);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -404,7 +404,7 @@
</span><span class="cx">     Descriptor myType;
</span><span class="cx">     bool result;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         oldType = descriptor(locker);
</span><span class="cx">         myType = Descriptor::forValue(value);
</span><span class="cx"> 
</span><span class="lines">@@ -427,7 +427,7 @@
</span><span class="cx"> {
</span><span class="cx">     Descriptor oldType;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         oldType = descriptor(locker);
</span><span class="cx">         if (!set(locker, vm, Top))
</span><span class="cx">             return;
</span><span class="lines">@@ -437,11 +437,11 @@
</span><span class="cx">     m_watchpointSet.fireAll(vm, detail);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool InferredType::set(const ConcurrentJITLocker&amp; locker, VM&amp; vm, Descriptor newDescriptor)
</del><ins>+bool InferredType::set(const ConcurrentJSLocker&amp; locker, VM&amp; vm, Descriptor newDescriptor)
</ins><span class="cx"> {
</span><span class="cx">     // We will trigger write barriers while holding our lock. Currently, write barriers don't GC, but that
</span><span class="cx">     // could change. If it does, we don't want to deadlock. Note that we could have used
</span><del>-    // GCSafeConcurrentJITLocker in the caller, but the caller is on a fast path so maybe that wouldn't be
</del><ins>+    // GCSafeConcurrentJSLocker in the caller, but the caller is on a fast path so maybe that wouldn't be
</ins><span class="cx">     // a good idea.
</span><span class="cx">     DeferGCForAWhile deferGC(vm.heap);
</span><span class="cx">     
</span><span class="lines">@@ -506,7 +506,7 @@
</span><span class="cx">     Descriptor oldDescriptor;
</span><span class="cx">     Descriptor newDescriptor;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         oldDescriptor = descriptor(locker);
</span><span class="cx">         newDescriptor = oldDescriptor;
</span><span class="cx">         newDescriptor.removeStructure();
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeInferredTypeh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/InferredType.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/InferredType.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/InferredType.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;JSCell.h&quot;
</span><span class="cx"> #include &quot;PropertyName.h&quot;
</span><span class="cx"> #include &quot;PutByIdFlags.h&quot;
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">         Structure* m_structure;
</span><span class="cx">     };
</span><span class="cx"> 
</span><del>-    ConcurrentJITLock&amp; lock() const { return m_lock; }
</del><ins>+    ConcurrentJSLock&amp; lock() const { return m_lock; }
</ins><span class="cx"> 
</span><span class="cx">     Descriptor descriptorMainThread() const
</span><span class="cx">     {
</span><span class="lines">@@ -180,17 +180,17 @@
</span><span class="cx">         return Descriptor(m_kind, m_structure ? m_structure-&gt;structure() : nullptr);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Descriptor descriptor(const ConcurrentJITLocker&amp;) const
</del><ins>+    Descriptor descriptor(const ConcurrentJSLocker&amp;) const
</ins><span class="cx">     {
</span><span class="cx">         return descriptorMainThread();
</span><span class="cx">     }
</span><span class="cx">     Descriptor descriptor() const
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return descriptor(locker);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Kind kind(const ConcurrentJITLocker&amp; locker) const { return descriptor(locker).kind(); }
</del><ins>+    Kind kind(const ConcurrentJSLocker&amp; locker) const { return descriptor(locker).kind(); }
</ins><span class="cx"> 
</span><span class="cx">     bool isTop() const { return m_kind == Top; }
</span><span class="cx">     bool isRelevant() const { return m_kind != Top; }
</span><span class="lines">@@ -214,10 +214,10 @@
</span><span class="cx"> 
</span><span class="cx">     // Returns true if it currently makes sense to watch this InferredType for this descriptor. Note that
</span><span class="cx">     // this will always return false for Top.
</span><del>-    bool canWatch(const ConcurrentJITLocker&amp;, const Descriptor&amp;);
</del><ins>+    bool canWatch(const ConcurrentJSLocker&amp;, const Descriptor&amp;);
</ins><span class="cx">     bool canWatch(const Descriptor&amp;);
</span><span class="cx">     
</span><del>-    void addWatchpoint(const ConcurrentJITLocker&amp;, Watchpoint*);
</del><ins>+    void addWatchpoint(const ConcurrentJSLocker&amp;, Watchpoint*);
</ins><span class="cx">     void addWatchpoint(Watchpoint*);
</span><span class="cx"> 
</span><span class="cx">     void dump(PrintStream&amp;) const;
</span><span class="lines">@@ -231,11 +231,11 @@
</span><span class="cx"> 
</span><span class="cx">     // Helper for willStoreValueSlow() and makeTopSlow(). This returns true if we should fire the
</span><span class="cx">     // watchpoint set.
</span><del>-    bool set(const ConcurrentJITLocker&amp;, VM&amp;, Descriptor);
</del><ins>+    bool set(const ConcurrentJSLocker&amp;, VM&amp;, Descriptor);
</ins><span class="cx">     
</span><span class="cx">     void removeStructure();
</span><span class="cx"> 
</span><del>-    mutable ConcurrentJITLock m_lock;
</del><ins>+    mutable ConcurrentJSLock m_lock;
</ins><span class="cx">     
</span><span class="cx">     Kind m_kind { Bottom };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeInferredTypeTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/InferredTypeTable.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/InferredTypeTable.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/InferredTypeTable.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -54,7 +54,7 @@
</span><span class="cx"> {
</span><span class="cx">     InferredTypeTable* inferredTypeTable = jsCast&lt;InferredTypeTable*&gt;(cell);
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(inferredTypeTable-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(inferredTypeTable-&gt;m_lock);
</ins><span class="cx">     
</span><span class="cx">     for (auto&amp; entry : inferredTypeTable-&gt;m_table) {
</span><span class="cx">         if (!entry.value)
</span><span class="lines">@@ -66,7 +66,7 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-InferredType* InferredTypeTable::get(const ConcurrentJITLocker&amp;, UniquedStringImpl* uid)
</del><ins>+InferredType* InferredTypeTable::get(const ConcurrentJSLocker&amp;, UniquedStringImpl* uid)
</ins><span class="cx"> {
</span><span class="cx">     auto iter = m_table.find(uid);
</span><span class="cx">     if (iter == m_table.end() || !iter-&gt;value)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> 
</span><span class="cx"> InferredType* InferredTypeTable::get(UniquedStringImpl* uid)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     return get(locker, uid);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -111,7 +111,7 @@
</span><span class="cx"> 
</span><span class="cx">     TableType::AddResult result;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         result = m_table.add(propertyName.uid(), WriteBarrier&lt;InferredType&gt;());
</span><span class="cx">     }
</span><span class="cx">     if (result.isNewEntry) {
</span><span class="lines">@@ -143,7 +143,7 @@
</span><span class="cx"> 
</span><span class="cx">     TableType::AddResult result;
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         result = m_table.add(propertyName.uid(), WriteBarrier&lt;InferredType&gt;());
</span><span class="cx">     }
</span><span class="cx">     if (!result.iterator-&gt;value)
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeInferredTypeTableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/InferredTypeTable.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/InferredTypeTable.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/InferredTypeTable.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -55,13 +55,13 @@
</span><span class="cx"> 
</span><span class="cx">     DECLARE_INFO;
</span><span class="cx"> 
</span><del>-    ConcurrentJITLock&amp; lock() { return m_lock; }
</del><ins>+    ConcurrentJSLock&amp; lock() { return m_lock; }
</ins><span class="cx"> 
</span><span class="cx">     bool isEmpty() const { return m_table.isEmpty(); }
</span><span class="cx"> 
</span><span class="cx">     // Get the current inferred type. Returns nullptr for both Top and Bottom. Null means Bottom if the
</span><span class="cx">     // owning Structure doesn't know about the property.
</span><del>-    InferredType* get(const ConcurrentJITLocker&amp;, UniquedStringImpl*);
</del><ins>+    InferredType* get(const ConcurrentJSLocker&amp;, UniquedStringImpl*);
</ins><span class="cx">     InferredType* get(UniquedStringImpl*);
</span><span class="cx">     InferredType* get(PropertyName);
</span><span class="cx"> 
</span><span class="lines">@@ -103,7 +103,7 @@
</span><span class="cx"> 
</span><span class="cx">     // We only grab this lock when we're doing modifications on the main thread, or reads on the compiler
</span><span class="cx">     // thread. The compiler thread is not allowed to do modifications.
</span><del>-    ConcurrentJITLock m_lock;
</del><ins>+    ConcurrentJSLock m_lock;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSEnvironmentRecordcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSEnvironmentRecord.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     JSEnvironmentRecord* thisObject = jsCast&lt;JSEnvironmentRecord*&gt;(cell);
</span><span class="cx">     Base::heapSnapshot(cell, builder);
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</ins><span class="cx">     SymbolTable::Map::iterator end = thisObject-&gt;symbolTable()-&gt;end(locker);
</span><span class="cx">     for (SymbolTable::Map::iterator it = thisObject-&gt;symbolTable()-&gt;begin(locker); it != end; ++it) {
</span><span class="cx">         SymbolTableEntry::Fast entry = it-&gt;value;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -960,7 +960,7 @@
</span><span class="cx"> 
</span><span class="cx"> void JSGlobalObject::addGlobalVar(const Identifier&amp; ident)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(symbolTable()-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(symbolTable()-&gt;m_lock);
</ins><span class="cx">     SymbolTableEntry entry = symbolTable()-&gt;get(locker, ident.impl());
</span><span class="cx">     if (!entry.isNull())
</span><span class="cx">         return;
</span><span class="lines">@@ -1283,7 +1283,7 @@
</span><span class="cx">         WatchpointSet* watchpointSet = nullptr;
</span><span class="cx">         WriteBarrierBase&lt;Unknown&gt;* variable = nullptr;
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(symbolTable()-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(symbolTable()-&gt;m_lock);
</ins><span class="cx">             ScopeOffset offset = symbolTable()-&gt;takeNextScopeOffset(locker);
</span><span class="cx">             RELEASE_ASSERT(offset = startOffset + i);
</span><span class="cx">             SymbolTableEntry newEntry(VarOffset(offset), global.attributes);
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSLexicalEnvironmentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSLexicalEnvironment.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -44,7 +44,7 @@
</span><span class="cx">     JSLexicalEnvironment* thisObject = jsCast&lt;JSLexicalEnvironment*&gt;(object);
</span><span class="cx"> 
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</ins><span class="cx">         SymbolTable::Map::iterator end = thisObject-&gt;symbolTable()-&gt;end(locker);
</span><span class="cx">         for (SymbolTable::Map::iterator it = thisObject-&gt;symbolTable()-&gt;begin(locker); it != end; ++it) {
</span><span class="cx">             if (it-&gt;value.getAttributes() &amp; DontEnum &amp;&amp; !mode.includeDontEnumProperties())
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1554,7 +1554,7 @@
</span><span class="cx"> 
</span><span class="cx">         PropertyOffset offset;
</span><span class="cx">         if (structure-&gt;isUncacheableDictionary())
</span><del>-            offset = structure-&gt;removePropertyWithoutTransition(vm, propertyName, [] (const ConcurrentJITLocker&amp;, PropertyOffset) { });
</del><ins>+            offset = structure-&gt;removePropertyWithoutTransition(vm, propertyName, [] (const ConcurrentJSLocker&amp;, PropertyOffset) { });
</ins><span class="cx">         else
</span><span class="cx">             thisObject-&gt;setStructure(vm, Structure::removePropertyTransition(vm, structure, propertyName, offset));
</span><span class="cx"> 
</span><span class="lines">@@ -3189,7 +3189,7 @@
</span><span class="cx">         vm, Structure::toCacheableDictionaryTransition(vm, structure(vm), &amp;deferredWatchpointFire));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void JSObject::shiftButterflyAfterFlattening(const GCSafeConcurrentJITLocker&amp;, VM&amp; vm, Structure* structure, size_t outOfLineCapacityAfter)
</del><ins>+void JSObject::shiftButterflyAfterFlattening(const GCSafeConcurrentJSLocker&amp;, VM&amp; vm, Structure* structure, size_t outOfLineCapacityAfter)
</ins><span class="cx"> {
</span><span class="cx">     // This could interleave visitChildren because some old structure could have been a non
</span><span class="cx">     // dictionary structure. We have to be crazy careful. But, we are guaranteed to be holding
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObject.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObject.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSObject.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -758,7 +758,7 @@
</span><span class="cx">     {
</span><span class="cx">         structure(vm)-&gt;flattenDictionaryStructure(vm, this);
</span><span class="cx">     }
</span><del>-    void shiftButterflyAfterFlattening(const GCSafeConcurrentJITLocker&amp;, VM&amp;, Structure* structure, size_t outOfLineCapacityAfter);
</del><ins>+    void shiftButterflyAfterFlattening(const GCSafeConcurrentJSLocker&amp;, VM&amp;, Structure* structure, size_t outOfLineCapacityAfter);
</ins><span class="cx"> 
</span><span class="cx">     JSGlobalObject* globalObject() const
</span><span class="cx">     {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSObjectInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSObjectInlines.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -167,7 +167,7 @@
</span><span class="cx">     unsigned oldOutOfLineCapacity = structure-&gt;outOfLineCapacity();
</span><span class="cx">     structure-&gt;addPropertyWithoutTransition(
</span><span class="cx">         vm, propertyName, attributes,
</span><del>-        [&amp;] (const GCSafeConcurrentJITLocker&amp;, PropertyOffset offset) {
</del><ins>+        [&amp;] (const GCSafeConcurrentJSLocker&amp;, PropertyOffset offset) {
</ins><span class="cx">             if (structure-&gt;outOfLineCapacity() != oldOutOfLineCapacity) {
</span><span class="cx">                 butterfly = allocateMoreOutOfLineStorage(vm, oldOutOfLineCapacity, structure-&gt;outOfLineCapacity());
</span><span class="cx">                 WTF::storeStoreFence();
</span><span class="lines">@@ -266,7 +266,7 @@
</span><span class="cx">         unsigned oldOutOfLineCapacity = structure-&gt;outOfLineCapacity();
</span><span class="cx">         offset = structure-&gt;addPropertyWithoutTransition(
</span><span class="cx">             vm, propertyName, attributes,
</span><del>-            [&amp;] (const GCSafeConcurrentJITLocker&amp;, PropertyOffset offset) {
</del><ins>+            [&amp;] (const GCSafeConcurrentJSLocker&amp;, PropertyOffset offset) {
</ins><span class="cx">                 Butterfly* butterfly = this-&gt;butterfly();
</span><span class="cx">                 if (structure-&gt;outOfLineCapacity() != oldOutOfLineCapacity) {
</span><span class="cx">                     butterfly = allocateMoreOutOfLineStorage(vm, oldOutOfLineCapacity, structure-&gt;outOfLineCapacity());
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSScopecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSScope.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSScope.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSScope.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx"> 
</span><span class="cx">         SymbolTable* symbolTable = lexicalEnvironment-&gt;symbolTable();
</span><span class="cx">         {
</span><del>-            ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">             auto iter = symbolTable-&gt;find(locker, ident.impl());
</span><span class="cx">             if (iter != symbolTable-&gt;end(locker)) {
</span><span class="cx">                 SymbolTableEntry&amp; entry = iter-&gt;value;
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx">                 JSModuleRecord* importedRecord = resolution.moduleRecord;
</span><span class="cx">                 JSModuleEnvironment* importedEnvironment = importedRecord-&gt;moduleEnvironment();
</span><span class="cx">                 SymbolTable* symbolTable = importedEnvironment-&gt;symbolTable();
</span><del>-                ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+                ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">                 auto iter = symbolTable-&gt;find(locker, resolution.localName.impl());
</span><span class="cx">                 ASSERT(iter != symbolTable-&gt;end(locker));
</span><span class="cx">                 SymbolTableEntry&amp; entry = iter-&gt;value;
</span><span class="lines">@@ -101,7 +101,7 @@
</span><span class="cx">     if (scope-&gt;isGlobalLexicalEnvironment()) {
</span><span class="cx">         JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast&lt;JSGlobalLexicalEnvironment*&gt;(scope);
</span><span class="cx">         SymbolTable* symbolTable = globalLexicalEnvironment-&gt;symbolTable();
</span><del>-        ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">         auto iter = symbolTable-&gt;find(locker, ident.impl());
</span><span class="cx">         if (iter != symbolTable-&gt;end(locker)) {
</span><span class="cx">             SymbolTableEntry&amp; entry = iter-&gt;value;
</span><span class="lines">@@ -134,7 +134,7 @@
</span><span class="cx">         JSGlobalObject* globalObject = jsCast&lt;JSGlobalObject*&gt;(scope);
</span><span class="cx">         {
</span><span class="cx">             SymbolTable* symbolTable = globalObject-&gt;symbolTable();
</span><del>-            ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+            ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">             auto iter = symbolTable-&gt;find(locker, ident.impl());
</span><span class="cx">             if (iter != symbolTable-&gt;end(locker)) {
</span><span class="cx">                 SymbolTableEntry&amp; entry = iter-&gt;value;
</span><span class="lines">@@ -277,7 +277,7 @@
</span><span class="cx"> 
</span><span class="cx">         SymbolTable* symbolTable = jsCast&lt;JSSymbolTableObject*&gt;(scope)-&gt;symbolTable();
</span><span class="cx">         ASSERT(symbolTable-&gt;scopeType() == SymbolTable::ScopeType::LexicalScope || symbolTable-&gt;scopeType() == SymbolTable::ScopeType::CatchScope);
</span><del>-        ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">         for (auto end = symbolTable-&gt;end(locker), iter = symbolTable-&gt;begin(locker); iter != end; ++iter)
</span><span class="cx">             result.add(iter-&gt;key);
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> ScopeOffset JSSegmentedVariableObject::findVariableIndex(void* variableAddress)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     for (unsigned i = m_variables.size(); i--;) {
</span><span class="cx">         if (&amp;m_variables[i] != variableAddress)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> ScopeOffset JSSegmentedVariableObject::addVariables(unsigned numberOfVariablesToAdd, JSValue initialValue)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     size_t oldSize = m_variables.size();
</span><span class="cx">     m_variables.grow(oldSize + numberOfVariablesToAdd);
</span><span class="lines">@@ -75,7 +75,7 @@
</span><span class="cx">     JSSegmentedVariableObject* thisObject = jsCast&lt;JSSegmentedVariableObject*&gt;(cell);
</span><span class="cx">     Base::heapSnapshot(cell, builder);
</span><span class="cx"> 
</span><del>-    ConcurrentJITLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</ins><span class="cx">     SymbolTable::Map::iterator end = thisObject-&gt;symbolTable()-&gt;end(locker);
</span><span class="cx">     for (SymbolTable::Map::iterator it = thisObject-&gt;symbolTable()-&gt;begin(locker); it != end; ++it) {
</span><span class="cx">         SymbolTableEntry::Fast entry = it-&gt;value;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSegmentedVariableObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSSegmentedVariableObject.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="cx"> #include &quot;JSSymbolTableObject.h&quot;
</span><span class="cx"> #include &quot;SymbolTable.h&quot;
</span><span class="lines">@@ -97,7 +97,7 @@
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     SegmentedVector&lt;WriteBarrier&lt;Unknown&gt;, 16&gt; m_variables;
</span><del>-    ConcurrentJITLock m_lock;
</del><ins>+    ConcurrentJSLock m_lock;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSymbolTableObjectcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx"> {
</span><span class="cx">     JSSymbolTableObject* thisObject = jsCast&lt;JSSymbolTableObject*&gt;(object);
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(thisObject-&gt;symbolTable()-&gt;m_lock);
</ins><span class="cx">         SymbolTable::Map::iterator end = thisObject-&gt;symbolTable()-&gt;end(locker);
</span><span class="cx">         for (SymbolTable::Map::iterator it = thisObject-&gt;symbolTable()-&gt;begin(locker); it != end; ++it) {
</span><span class="cx">             if (!(it-&gt;value.getAttributes() &amp; DontEnum) || mode.includeDontEnumProperties()) {
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeJSSymbolTableObjecth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/JSSymbolTableObject.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -81,7 +81,7 @@
</span><span class="cx">     SymbolTableObjectType* object, PropertyName propertyName, PropertySlot&amp; slot)
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><del>-    ConcurrentJITLocker locker(symbolTable.m_lock);
</del><ins>+    ConcurrentJSLocker locker(symbolTable.m_lock);
</ins><span class="cx">     SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</span><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="lines">@@ -102,7 +102,7 @@
</span><span class="cx">     SymbolTableObjectType* object, PropertyName propertyName, PropertyDescriptor&amp; descriptor)
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><del>-    ConcurrentJITLocker locker(symbolTable.m_lock);
</del><ins>+    ConcurrentJSLocker locker(symbolTable.m_lock);
</ins><span class="cx">     SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</span><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="lines">@@ -124,7 +124,7 @@
</span><span class="cx">     bool&amp; slotIsWriteable)
</span><span class="cx"> {
</span><span class="cx">     SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><del>-    ConcurrentJITLocker locker(symbolTable.m_lock);
</del><ins>+    ConcurrentJSLocker locker(symbolTable.m_lock);
</ins><span class="cx">     SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</span><span class="cx">     if (iter == symbolTable.end(locker))
</span><span class="cx">         return false;
</span><span class="lines">@@ -174,7 +174,7 @@
</span><span class="cx">         SymbolTable&amp; symbolTable = *object-&gt;symbolTable();
</span><span class="cx">         // FIXME: This is very suspicious. We shouldn't need a GC-safe lock here.
</span><span class="cx">         // https://bugs.webkit.org/show_bug.cgi?id=134601
</span><del>-        GCSafeConcurrentJITLocker locker(symbolTable.m_lock, vm.heap);
</del><ins>+        GCSafeConcurrentJSLocker locker(symbolTable.m_lock, vm.heap);
</ins><span class="cx">         SymbolTable::Map::iterator iter = symbolTable.find(locker, propertyName.uid());
</span><span class="cx">         if (iter == symbolTable.end(locker))
</span><span class="cx">             return false;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeOptionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Options.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Options.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/Options.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -317,8 +317,8 @@
</span><span class="cx"> #if !ENABLE(YARR_JIT)
</span><span class="cx">     Options::useRegExpJIT() = false;
</span><span class="cx"> #endif
</span><del>-#if !ENABLE(CONCURRENT_JIT)
-    Options::useConcurrentJIT() = false;
</del><ins>+#if !ENABLE(CONCURRENT_JS)
+    Options::useConcurrentJS() = false;
</ins><span class="cx"> #endif
</span><span class="cx"> #if !ENABLE(DFG_JIT)
</span><span class="cx">     Options::useDFGJIT() = false;
</span><span class="lines">@@ -370,7 +370,7 @@
</span><span class="cx">         Options::thresholdForFTLOptimizeAfterWarmUp() = 20;
</span><span class="cx">         Options::thresholdForFTLOptimizeSoon() = 20;
</span><span class="cx">         Options::maximumEvalCacheableSourceLength() = 150000;
</span><del>-        Options::useConcurrentJIT() = false;
</del><ins>+        Options::useConcurrentJS() = false;
</ins><span class="cx">     }
</span><span class="cx">     if (Options::useMaximalFlushInsertionPhase()) {
</span><span class="cx">         Options::useOSREntryToDFG() = false;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeOptionsh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Options.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Options.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/Options.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx">     v(bool, useObjectAllocationSinking, true, Normal, nullptr) \
</span><span class="cx">     v(bool, logExecutableAllocation, false, Normal, nullptr) \
</span><span class="cx">     \
</span><del>-    v(bool, useConcurrentJIT, true, Normal, &quot;allows the DFG / FTL compilation in threads other than the executing JS thread&quot;) \
</del><ins>+    v(bool, useConcurrentJS, true, Normal, &quot;allows the DFG / FTL compilation in threads other than the executing JS thread&quot;) \
</ins><span class="cx">     v(unsigned, numberOfDFGCompilerThreads, computeNumberOfWorkerThreads(2, 2) - 1, Normal, nullptr) \
</span><span class="cx">     v(unsigned, numberOfFTLCompilerThreads, computeNumberOfWorkerThreads(8, 2) - 1, Normal, nullptr) \
</span><span class="cx">     v(int32, priorityDeltaOfDFGCompilerThreads, computePriorityDeltaOfWorkerThreads(-1, 0), Normal, nullptr) \
</span><span class="lines">@@ -431,7 +431,7 @@
</span><span class="cx">     v(enablePolymorphicCallInlining, usePolymorphicCallInlining, SameOption) \
</span><span class="cx">     v(enableMovHintRemoval, useMovHintRemoval, SameOption) \
</span><span class="cx">     v(enableObjectAllocationSinking, useObjectAllocationSinking, SameOption) \
</span><del>-    v(enableConcurrentJIT, useConcurrentJIT, SameOption) \
</del><ins>+    v(enableConcurrentJS, useConcurrentJS, SameOption) \
</ins><span class="cx">     v(enableProfiler, useProfiler, SameOption) \
</span><span class="cx">     v(enableArchitectureSpecificOptimizations, useArchitectureSpecificOptimizations, SameOption) \
</span><span class="cx">     v(enablePolyvariantCallInlining, usePolyvariantCallInlining, SameOption) \
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeProgramExecutablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/ProgramExecutable.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/ProgramExecutable.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/ProgramExecutable.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -153,7 +153,7 @@
</span><span class="cx">     {
</span><span class="cx">         JSGlobalLexicalEnvironment* globalLexicalEnvironment = jsCast&lt;JSGlobalLexicalEnvironment*&gt;(globalObject-&gt;globalScope());
</span><span class="cx">         SymbolTable* symbolTable = globalLexicalEnvironment-&gt;symbolTable();
</span><del>-        ConcurrentJITLocker locker(symbolTable-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(symbolTable-&gt;m_lock);
</ins><span class="cx">         for (auto&amp; entry : lexicalDeclarations) {
</span><span class="cx">             if (UNLIKELY(entry.value.isConst() &amp;&amp; !vm.globalConstRedeclarationShouldThrow() &amp;&amp; !isStrictMode())) {
</span><span class="cx">                 if (symbolTable-&gt;contains(locker, entry.key.get()))
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExpcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExp.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExp.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/RegExp.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -262,7 +262,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RegExp::compile(VM* vm, Yarr::YarrCharSize charSize)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     Yarr::YarrPattern pattern(m_patternString, m_flags, &amp;m_constructionError, vm-&gt;stackLimit());
</span><span class="cx">     if (m_constructionError) {
</span><span class="lines">@@ -304,7 +304,7 @@
</span><span class="cx"> bool RegExp::matchConcurrently(
</span><span class="cx">     VM&amp; vm, const String&amp; s, unsigned startOffset, int&amp; position, Vector&lt;int&gt;&amp; ovector)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx"> 
</span><span class="cx">     if (!hasCodeFor(s.is8Bit() ? Yarr::Char8 : Yarr::Char16))
</span><span class="cx">         return false;
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RegExp::compileMatchOnly(VM* vm, Yarr::YarrCharSize charSize)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     Yarr::YarrPattern pattern(m_patternString, m_flags, &amp;m_constructionError, vm-&gt;stackLimit());
</span><span class="cx">     if (m_constructionError) {
</span><span class="lines">@@ -356,7 +356,7 @@
</span><span class="cx"> 
</span><span class="cx"> bool RegExp::matchConcurrently(VM&amp; vm, const String&amp; s, unsigned startOffset, MatchResult&amp; result)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx"> 
</span><span class="cx">     if (!hasMatchOnlyCodeFor(s.is8Bit() ? Yarr::Char8 : Yarr::Char16))
</span><span class="cx">         return false;
</span><span class="lines">@@ -367,7 +367,7 @@
</span><span class="cx"> 
</span><span class="cx"> void RegExp::deleteCode()
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     if (!hasCode())
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeRegExph"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/RegExp.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/RegExp.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/RegExp.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -21,7 +21,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ExecutableAllocator.h&quot;
</span><span class="cx"> #include &quot;MatchResult.h&quot;
</span><span class="cx"> #include &quot;RegExpKey.h&quot;
</span><span class="lines">@@ -142,7 +142,7 @@
</span><span class="cx">     unsigned m_rtMatchCallCount;
</span><span class="cx">     unsigned m_rtMatchFoundCount;
</span><span class="cx"> #endif
</span><del>-    ConcurrentJITLock m_lock;
</del><ins>+    ConcurrentJSLock m_lock;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(YARR_JIT)
</span><span class="cx">     Yarr::YarrCodeBlock m_regExpJITCode;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructurecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Structure.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Structure.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/Structure.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -337,7 +337,7 @@
</span><span class="cx">     // Must hold the lock on this structure, since we will be modifying this structure's
</span><span class="cx">     // property map. We don't want getConcurrently() to see the property map in a half-baked
</span><span class="cx">     // state.
</span><del>-    GCSafeConcurrentJITLocker locker(m_lock, vm.heap);
</del><ins>+    GCSafeConcurrentJSLocker locker(m_lock, vm.heap);
</ins><span class="cx">     if (setPropertyTable)
</span><span class="cx">         this-&gt;setPropertyTable(vm, table);
</span><span class="cx"> 
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx"> 
</span><span class="cx"> Structure* Structure::addPropertyTransitionToExistingStructureConcurrently(Structure* structure, UniquedStringImpl* uid, unsigned attributes, PropertyOffset&amp; offset)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(structure-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(structure-&gt;m_lock);
</ins><span class="cx">     return addPropertyTransitionToExistingStructureImpl(structure, uid, attributes, offset);
</span><span class="cx"> }
</span><span class="cx"> 
</span><span class="lines">@@ -478,7 +478,7 @@
</span><span class="cx"> 
</span><span class="cx">     checkOffset(transition-&gt;m_offset, transition-&gt;inlineCapacity());
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(structure-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(structure-&gt;m_lock);
</ins><span class="cx">         structure-&gt;m_transitionTable.add(vm, transition);
</span><span class="cx">     }
</span><span class="cx">     transition-&gt;checkOffsetConsistency();
</span><span class="lines">@@ -597,7 +597,7 @@
</span><span class="cx">     if (result) {
</span><span class="cx">         if (isPinnedPropertyTable())
</span><span class="cx">             return result-&gt;copy(vm, result-&gt;size() + 1);
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         setPropertyTable(vm, nullptr);
</span><span class="cx">         return result;
</span><span class="cx">     }
</span><span class="lines">@@ -668,7 +668,7 @@
</span><span class="cx">     if (structure-&gt;isDictionary())
</span><span class="cx">         transition-&gt;pin(vm, transition-&gt;ensurePropertyTable(vm));
</span><span class="cx">     else {
</span><del>-        ConcurrentJITLocker locker(structure-&gt;m_lock);
</del><ins>+        ConcurrentJSLocker locker(structure-&gt;m_lock);
</ins><span class="cx">         structure-&gt;m_transitionTable.add(vm, transition);
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="lines">@@ -719,7 +719,7 @@
</span><span class="cx">     checkOffsetConsistency();
</span><span class="cx">     ASSERT(isDictionary());
</span><span class="cx">     
</span><del>-    GCSafeConcurrentJITLocker locker(m_lock, vm.heap);
</del><ins>+    GCSafeConcurrentJSLocker locker(m_lock, vm.heap);
</ins><span class="cx"> 
</span><span class="cx">     size_t beforeOutOfLineCapacity = this-&gt;outOfLineCapacity();
</span><span class="cx">     if (isUncacheableDictionary()) {
</span><span class="lines">@@ -803,7 +803,7 @@
</span><span class="cx">     
</span><span class="cx">     if (!hasRareData())
</span><span class="cx">         allocateRareData(vm);
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     StructureRareData* rareData = this-&gt;rareData();
</span><span class="cx">     if (!rareData-&gt;m_replacementWatchpointSets) {
</span><span class="cx">         rareData-&gt;m_replacementWatchpointSets =
</span><span class="lines">@@ -943,12 +943,12 @@
</span><span class="cx"> 
</span><span class="cx"> PropertyOffset Structure::add(VM&amp; vm, PropertyName propertyName, unsigned attributes)
</span><span class="cx"> {
</span><del>-    return add(vm, propertyName, attributes, [] (const GCSafeConcurrentJITLocker&amp;, PropertyOffset) { });
</del><ins>+    return add(vm, propertyName, attributes, [] (const GCSafeConcurrentJSLocker&amp;, PropertyOffset) { });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> PropertyOffset Structure::remove(PropertyName propertyName)
</span><span class="cx"> {
</span><del>-    return remove(propertyName, [] (const ConcurrentJITLocker&amp;, PropertyOffset) { });
</del><ins>+    return remove(propertyName, [] (const ConcurrentJSLocker&amp;, PropertyOffset) { });
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void Structure::getPropertyNamesFromStructure(VM&amp; vm, PropertyNameArray&amp; propertyNames, EnumerationMode mode)
</span><span class="lines">@@ -1023,7 +1023,7 @@
</span><span class="cx"> 
</span><span class="cx">     JSCell::visitChildren(thisObject, visitor);
</span><span class="cx">     
</span><del>-    ConcurrentJITLocker locker(thisObject-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(thisObject-&gt;m_lock);
</ins><span class="cx">     
</span><span class="cx">     visitor.append(&amp;thisObject-&gt;m_globalObject);
</span><span class="cx">     if (!thisObject-&gt;isObject())
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructureh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/Structure.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/Structure.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/Structure.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include &quot;ClassInfo.h&quot;
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;IndexingType.h&quot;
</span><span class="cx"> #include &quot;InferredTypeTable.h&quot;
</span><span class="cx"> #include &quot;JSCJSValue.h&quot;
</span><span class="lines">@@ -581,7 +581,7 @@
</span><span class="cx">     
</span><span class="cx">     static void dumpContextHeader(PrintStream&amp;);
</span><span class="cx">     
</span><del>-    ConcurrentJITLock&amp; lock() { return m_lock; }
</del><ins>+    ConcurrentJSLock&amp; lock() { return m_lock; }
</ins><span class="cx">     
</span><span class="cx">     DECLARE_EXPORT_INFO;
</span><span class="cx"> 
</span><span class="lines">@@ -760,7 +760,7 @@
</span><span class="cx"> 
</span><span class="cx">     uint8_t m_inlineCapacity;
</span><span class="cx">     
</span><del>-    ConcurrentJITLock m_lock;
</del><ins>+    ConcurrentJSLock m_lock;
</ins><span class="cx">     
</span><span class="cx">     uint32_t m_bitField;
</span><span class="cx"> };
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeStructureInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/StructureInlines.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/StructureInlines.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/StructureInlines.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -233,7 +233,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline WatchpointSet* Structure::propertyReplacementWatchpointSet(PropertyOffset offset)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     if (!hasRareData())
</span><span class="cx">         return nullptr;
</span><span class="cx">     WTF::loadLoadFence();
</span><span class="lines">@@ -290,7 +290,7 @@
</span><span class="cx"> {
</span><span class="cx">     PropertyTable* table = ensurePropertyTable(vm);
</span><span class="cx"> 
</span><del>-    GCSafeConcurrentJITLocker locker(m_lock, vm.heap);
</del><ins>+    GCSafeConcurrentJSLocker locker(m_lock, vm.heap);
</ins><span class="cx">     
</span><span class="cx">     setPropertyTable(vm, table);
</span><span class="cx">     
</span><span class="lines">@@ -315,7 +315,7 @@
</span><span class="cx"> template&lt;typename Func&gt;
</span><span class="cx"> inline PropertyOffset Structure::remove(PropertyName propertyName, const Func&amp; func)
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     
</span><span class="cx">     checkConsistency();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeSymbolTablecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/SymbolTable.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/SymbolTable.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/SymbolTable.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -108,11 +108,11 @@
</span><span class="cx">         visitor.append(&amp;thisSymbolTable-&gt;m_rareData-&gt;m_codeBlock);
</span><span class="cx">     
</span><span class="cx">     // Save some memory. This is O(n) to rebuild and we do so on the fly.
</span><del>-    ConcurrentJITLocker locker(thisSymbolTable-&gt;m_lock);
</del><ins>+    ConcurrentJSLocker locker(thisSymbolTable-&gt;m_lock);
</ins><span class="cx">     thisSymbolTable-&gt;m_localToEntry = nullptr;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-const SymbolTable::LocalToEntryVec&amp; SymbolTable::localToEntry(const ConcurrentJITLocker&amp;)
</del><ins>+const SymbolTable::LocalToEntryVec&amp; SymbolTable::localToEntry(const ConcurrentJSLocker&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (UNLIKELY(!m_localToEntry)) {
</span><span class="cx">         unsigned size = 0;
</span><span class="lines">@@ -133,7 +133,7 @@
</span><span class="cx">     return *m_localToEntry;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-SymbolTableEntry* SymbolTable::entryFor(const ConcurrentJITLocker&amp; locker, ScopeOffset offset)
</del><ins>+SymbolTableEntry* SymbolTable::entryFor(const ConcurrentJSLocker&amp; locker, ScopeOffset offset)
</ins><span class="cx"> {
</span><span class="cx">     auto&amp; toEntryVector = localToEntry(locker);
</span><span class="cx">     if (offset.offset() &gt;= toEntryVector.size())
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void SymbolTable::prepareForTypeProfiling(const ConcurrentJITLocker&amp;)
</del><ins>+void SymbolTable::prepareForTypeProfiling(const ConcurrentJSLocker&amp;)
</ins><span class="cx"> {
</span><span class="cx">     if (m_rareData)
</span><span class="cx">         return;
</span><span class="lines">@@ -220,7 +220,7 @@
</span><span class="cx">     m_rareData-&gt;m_codeBlock.set(*codeBlock-&gt;vm(), this, codeBlock);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-GlobalVariableID SymbolTable::uniqueIDForVariable(const ConcurrentJITLocker&amp;, UniquedStringImpl* key, VM&amp; vm)
</del><ins>+GlobalVariableID SymbolTable::uniqueIDForVariable(const ConcurrentJSLocker&amp;, UniquedStringImpl* key, VM&amp; vm)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(m_rareData);
</span><span class="cx"> 
</span><span class="lines">@@ -239,7 +239,7 @@
</span><span class="cx">     return id;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-GlobalVariableID SymbolTable::uniqueIDForOffset(const ConcurrentJITLocker&amp; locker, VarOffset offset, VM&amp; vm)
</del><ins>+GlobalVariableID SymbolTable::uniqueIDForOffset(const ConcurrentJSLocker&amp; locker, VarOffset offset, VM&amp; vm)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(m_rareData);
</span><span class="cx"> 
</span><span class="lines">@@ -251,7 +251,7 @@
</span><span class="cx">     return uniqueIDForVariable(locker, iter-&gt;value.get(), vm);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;TypeSet&gt; SymbolTable::globalTypeSetForOffset(const ConcurrentJITLocker&amp; locker, VarOffset offset, VM&amp; vm)
</del><ins>+RefPtr&lt;TypeSet&gt; SymbolTable::globalTypeSetForOffset(const ConcurrentJSLocker&amp; locker, VarOffset offset, VM&amp; vm)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(m_rareData);
</span><span class="cx"> 
</span><span class="lines">@@ -265,7 +265,7 @@
</span><span class="cx">     return globalTypeSetForVariable(locker, iter-&gt;value.get(), vm);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-RefPtr&lt;TypeSet&gt; SymbolTable::globalTypeSetForVariable(const ConcurrentJITLocker&amp; locker, UniquedStringImpl* key, VM&amp; vm)
</del><ins>+RefPtr&lt;TypeSet&gt; SymbolTable::globalTypeSetForVariable(const ConcurrentJSLocker&amp; locker, UniquedStringImpl* key, VM&amp; vm)
</ins><span class="cx"> {
</span><span class="cx">     RELEASE_ASSERT(m_rareData);
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeSymbolTableh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/SymbolTable.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/SymbolTable.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/SymbolTable.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -28,7 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ConstantMode.h&quot;
</span><span class="cx"> #include &quot;InferredValue.h&quot;
</span><span class="cx"> #include &quot;JSObject.h&quot;
</span><span class="lines">@@ -462,17 +462,17 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     // You must hold the lock until after you're done with the iterator.
</span><del>-    Map::iterator find(const ConcurrentJITLocker&amp;, UniquedStringImpl* key)
</del><ins>+    Map::iterator find(const ConcurrentJSLocker&amp;, UniquedStringImpl* key)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.find(key);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Map::iterator find(const GCSafeConcurrentJITLocker&amp;, UniquedStringImpl* key)
</del><ins>+    Map::iterator find(const GCSafeConcurrentJSLocker&amp;, UniquedStringImpl* key)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.find(key);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    SymbolTableEntry get(const ConcurrentJITLocker&amp;, UniquedStringImpl* key)
</del><ins>+    SymbolTableEntry get(const ConcurrentJSLocker&amp;, UniquedStringImpl* key)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.get(key);
</span><span class="cx">     }
</span><span class="lines">@@ -479,11 +479,11 @@
</span><span class="cx">     
</span><span class="cx">     SymbolTableEntry get(UniquedStringImpl* key)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return get(locker, key);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    SymbolTableEntry inlineGet(const ConcurrentJITLocker&amp;, UniquedStringImpl* key)
</del><ins>+    SymbolTableEntry inlineGet(const ConcurrentJSLocker&amp;, UniquedStringImpl* key)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.inlineGet(key);
</span><span class="cx">     }
</span><span class="lines">@@ -490,26 +490,26 @@
</span><span class="cx">     
</span><span class="cx">     SymbolTableEntry inlineGet(UniquedStringImpl* key)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return inlineGet(locker, key);
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Map::iterator begin(const ConcurrentJITLocker&amp;)
</del><ins>+    Map::iterator begin(const ConcurrentJSLocker&amp;)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.begin();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Map::iterator end(const ConcurrentJITLocker&amp;)
</del><ins>+    Map::iterator end(const ConcurrentJSLocker&amp;)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.end();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    Map::iterator end(const GCSafeConcurrentJITLocker&amp;)
</del><ins>+    Map::iterator end(const GCSafeConcurrentJSLocker&amp;)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.end();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    size_t size(const ConcurrentJITLocker&amp;) const
</del><ins>+    size_t size(const ConcurrentJSLocker&amp;) const
</ins><span class="cx">     {
</span><span class="cx">         return m_map.size();
</span><span class="cx">     }
</span><span class="lines">@@ -516,7 +516,7 @@
</span><span class="cx">     
</span><span class="cx">     size_t size() const
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return size(locker);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -555,7 +555,7 @@
</span><span class="cx">         return ScopeOffset(scopeSize());
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    ScopeOffset takeNextScopeOffset(const ConcurrentJITLocker&amp;)
</del><ins>+    ScopeOffset takeNextScopeOffset(const ConcurrentJSLocker&amp;)
</ins><span class="cx">     {
</span><span class="cx">         ScopeOffset result = nextScopeOffset();
</span><span class="cx">         m_maxScopeOffset = result;
</span><span class="lines">@@ -564,12 +564,12 @@
</span><span class="cx">     
</span><span class="cx">     ScopeOffset takeNextScopeOffset()
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return takeNextScopeOffset(locker);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     template&lt;typename Entry&gt;
</span><del>-    void add(const ConcurrentJITLocker&amp;, UniquedStringImpl* key, Entry&amp;&amp; entry)
</del><ins>+    void add(const ConcurrentJSLocker&amp;, UniquedStringImpl* key, Entry&amp;&amp; entry)
</ins><span class="cx">     {
</span><span class="cx">         RELEASE_ASSERT(!m_localToEntry);
</span><span class="cx">         didUseVarOffset(entry.varOffset());
</span><span class="lines">@@ -580,12 +580,12 @@
</span><span class="cx">     template&lt;typename Entry&gt;
</span><span class="cx">     void add(UniquedStringImpl* key, Entry&amp;&amp; entry)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         add(locker, key, std::forward&lt;Entry&gt;(entry));
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="cx">     template&lt;typename Entry&gt;
</span><del>-    void set(const ConcurrentJITLocker&amp;, UniquedStringImpl* key, Entry&amp;&amp; entry)
</del><ins>+    void set(const ConcurrentJSLocker&amp;, UniquedStringImpl* key, Entry&amp;&amp; entry)
</ins><span class="cx">     {
</span><span class="cx">         RELEASE_ASSERT(!m_localToEntry);
</span><span class="cx">         didUseVarOffset(entry.varOffset());
</span><span class="lines">@@ -595,11 +595,11 @@
</span><span class="cx">     template&lt;typename Entry&gt;
</span><span class="cx">     void set(UniquedStringImpl* key, Entry&amp;&amp; entry)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         set(locker, key, std::forward&lt;Entry&gt;(entry));
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    bool contains(const ConcurrentJITLocker&amp;, UniquedStringImpl* key)
</del><ins>+    bool contains(const ConcurrentJSLocker&amp;, UniquedStringImpl* key)
</ins><span class="cx">     {
</span><span class="cx">         return m_map.contains(key);
</span><span class="cx">     }
</span><span class="lines">@@ -606,7 +606,7 @@
</span><span class="cx">     
</span><span class="cx">     bool contains(UniquedStringImpl* key)
</span><span class="cx">     {
</span><del>-        ConcurrentJITLocker locker(m_lock);
</del><ins>+        ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">         return contains(locker, key);
</span><span class="cx">     }
</span><span class="cx">     
</span><span class="lines">@@ -651,13 +651,13 @@
</span><span class="cx">         return m_arguments.get();
</span><span class="cx">     }
</span><span class="cx">     
</span><del>-    const LocalToEntryVec&amp; localToEntry(const ConcurrentJITLocker&amp;);
-    SymbolTableEntry* entryFor(const ConcurrentJITLocker&amp;, ScopeOffset);
</del><ins>+    const LocalToEntryVec&amp; localToEntry(const ConcurrentJSLocker&amp;);
+    SymbolTableEntry* entryFor(const ConcurrentJSLocker&amp;, ScopeOffset);
</ins><span class="cx">     
</span><del>-    GlobalVariableID uniqueIDForVariable(const ConcurrentJITLocker&amp;, UniquedStringImpl* key, VM&amp;);
-    GlobalVariableID uniqueIDForOffset(const ConcurrentJITLocker&amp;, VarOffset, VM&amp;);
-    RefPtr&lt;TypeSet&gt; globalTypeSetForOffset(const ConcurrentJITLocker&amp;, VarOffset, VM&amp;);
-    RefPtr&lt;TypeSet&gt; globalTypeSetForVariable(const ConcurrentJITLocker&amp;, UniquedStringImpl* key, VM&amp;);
</del><ins>+    GlobalVariableID uniqueIDForVariable(const ConcurrentJSLocker&amp;, UniquedStringImpl* key, VM&amp;);
+    GlobalVariableID uniqueIDForOffset(const ConcurrentJSLocker&amp;, VarOffset, VM&amp;);
+    RefPtr&lt;TypeSet&gt; globalTypeSetForOffset(const ConcurrentJSLocker&amp;, VarOffset, VM&amp;);
+    RefPtr&lt;TypeSet&gt; globalTypeSetForVariable(const ConcurrentJSLocker&amp;, UniquedStringImpl* key, VM&amp;);
</ins><span class="cx"> 
</span><span class="cx">     bool usesNonStrictEval() const { return m_usesNonStrictEval; }
</span><span class="cx">     void setUsesNonStrictEval(bool usesNonStrictEval) { m_usesNonStrictEval = usesNonStrictEval; }
</span><span class="lines">@@ -677,7 +677,7 @@
</span><span class="cx"> 
</span><span class="cx">     SymbolTable* cloneScopePart(VM&amp;);
</span><span class="cx"> 
</span><del>-    void prepareForTypeProfiling(const ConcurrentJITLocker&amp;);
</del><ins>+    void prepareForTypeProfiling(const ConcurrentJSLocker&amp;);
</ins><span class="cx"> 
</span><span class="cx">     CodeBlock* rareDataCodeBlock();
</span><span class="cx">     void setRareDataCodeBlock(CodeBlock*);
</span><span class="lines">@@ -715,7 +715,7 @@
</span><span class="cx">     std::unique_ptr&lt;LocalToEntryVec&gt; m_localToEntry;
</span><span class="cx"> 
</span><span class="cx"> public:
</span><del>-    mutable ConcurrentJITLock m_lock;
</del><ins>+    mutable ConcurrentJSLock m_lock;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace JSC
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypeSetcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypeSet.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -49,7 +49,7 @@
</span><span class="cx">     if (structure &amp;&amp; newShape &amp;&amp; !runtimeTypeIsPrimitive(type)) {
</span><span class="cx">         if (!m_structureSet.contains(structure)) {
</span><span class="cx">             {
</span><del>-                ConcurrentJITLocker locker(m_lock);
</del><ins>+                ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">                 m_structureSet.add(structure);
</span><span class="cx">             }
</span><span class="cx">             // Make one more pass making sure that: 
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> 
</span><span class="cx"> void TypeSet::invalidateCache()
</span><span class="cx"> {
</span><del>-    ConcurrentJITLocker locker(m_lock);
</del><ins>+    ConcurrentJSLocker locker(m_lock);
</ins><span class="cx">     auto keepMarkedStructuresFilter = [] (Structure* structure) -&gt; bool { return Heap::isMarked(structure); };
</span><span class="cx">     m_structureSet.genericFilter(keepMarkedStructuresFilter);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeTypeSeth"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/TypeSet.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/TypeSet.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/TypeSet.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;RuntimeType.h&quot;
</span><span class="cx"> #include &quot;StructureSet.h&quot;
</span><span class="cx"> #include &lt;wtf/HashSet.h&gt;
</span><span class="lines">@@ -97,9 +97,9 @@
</span><span class="cx">     bool isEmpty() const { return m_seenTypes == TypeNothing; }
</span><span class="cx">     bool doesTypeConformTo(RuntimeTypeMask test) const;
</span><span class="cx">     RuntimeTypeMask seenTypes() const { return m_seenTypes; }
</span><del>-    StructureSet structureSet(const ConcurrentJITLocker&amp;) const { return m_structureSet; }
</del><ins>+    StructureSet structureSet(const ConcurrentJSLocker&amp;) const { return m_structureSet; }
</ins><span class="cx"> 
</span><del>-    ConcurrentJITLock m_lock;
</del><ins>+    ConcurrentJSLock m_lock;
</ins><span class="cx"> private:
</span><span class="cx">     bool m_isOverflown;
</span><span class="cx">     RuntimeTypeMask m_seenTypes;
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeVMh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/VM.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/VM.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/VM.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -29,7 +29,7 @@
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><span class="cx"> #include &quot;CallData.h&quot;
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;ControlFlowProfiler.h&quot;
</span><span class="cx"> #include &quot;DateInstanceCache.h&quot;
</span><span class="cx"> #include &quot;ExceptionEventLocation.h&quot;
</span><span class="lines">@@ -557,7 +557,7 @@
</span><span class="cx">     RefPtr&lt;TypedArrayController&gt; m_typedArrayController;
</span><span class="cx">     RegExpCache* m_regExpCache;
</span><span class="cx">     BumpPointerAllocator m_regExpAllocator;
</span><del>-    ConcurrentJITLock m_regExpAllocatorLock;
</del><ins>+    ConcurrentJSLock m_regExpAllocatorLock;
</ins><span class="cx"> 
</span><span class="cx">     std::unique_ptr&lt;HasOwnPropertyCache&gt; m_hasOwnPropertyCache;
</span><span class="cx">     ALWAYS_INLINE HasOwnPropertyCache* hasOwnPropertyCache() { return m_hasOwnPropertyCache.get(); }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreruntimeWriteBarrierInlinesh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/runtime/WriteBarrierInlines.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/runtime/WriteBarrierInlines.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/runtime/WriteBarrierInlines.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -34,7 +34,7 @@
</span><span class="cx"> inline void WriteBarrierBase&lt;T&gt;::set(VM&amp; vm, const JSCell* owner, T* value)
</span><span class="cx"> {
</span><span class="cx">     ASSERT(value);
</span><del>-    ASSERT(!Options::useConcurrentJIT() || !isCompilationThread());
</del><ins>+    ASSERT(!Options::useConcurrentJS() || !isCompilationThread());
</ins><span class="cx">     validateCell(value);
</span><span class="cx">     setEarlyValue(vm, owner, value);
</span><span class="cx"> }
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> inline void WriteBarrierBase&lt;Unknown&gt;::set(VM&amp; vm, const JSCell* owner, JSValue value)
</span><span class="cx"> {
</span><del>-    ASSERT(!Options::useConcurrentJIT() || !isCompilationThread());
</del><ins>+    ASSERT(!Options::useConcurrentJS() || !isCompilationThread());
</ins><span class="cx">     m_value = JSValue::encode(value);
</span><span class="cx">     vm.heap.writeBarrier(owner, value);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrInterpretercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/yarr/YarrInterpreter.cpp        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1588,7 +1588,7 @@
</span><span class="cx">         m_currentAlternativeIndex = 0;
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    std::unique_ptr&lt;BytecodePattern&gt; compile(BumpPointerAllocator* allocator, ConcurrentJITLock* lock)
</del><ins>+    std::unique_ptr&lt;BytecodePattern&gt; compile(BumpPointerAllocator* allocator, ConcurrentJSLock* lock)
</ins><span class="cx">     {
</span><span class="cx">         regexBegin(m_pattern.m_numSubpatterns, m_pattern.m_body-&gt;m_callFrameSize, m_pattern.m_body-&gt;m_alternatives[0]-&gt;onceThrough());
</span><span class="cx">         emitDisjunction(m_pattern.m_body);
</span><span class="lines">@@ -2042,7 +2042,7 @@
</span><span class="cx">     Vector&lt;std::unique_ptr&lt;ByteDisjunction&gt;&gt; m_allParenthesesInfo;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-std::unique_ptr&lt;BytecodePattern&gt; byteCompile(YarrPattern&amp; pattern, BumpPointerAllocator* allocator, ConcurrentJITLock* lock)
</del><ins>+std::unique_ptr&lt;BytecodePattern&gt; byteCompile(YarrPattern&amp; pattern, BumpPointerAllocator* allocator, ConcurrentJSLock* lock)
</ins><span class="cx"> {
</span><span class="cx">     return ByteCompiler(pattern).compile(allocator, lock);
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceJavaScriptCoreyarrYarrInterpreterh"></a>
<div class="modfile"><h4>Modified: trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/JavaScriptCore/yarr/YarrInterpreter.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #pragma once
</span><span class="cx"> 
</span><del>-#include &quot;ConcurrentJITLock.h&quot;
</del><ins>+#include &quot;ConcurrentJSLock.h&quot;
</ins><span class="cx"> #include &quot;YarrPattern.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WTF {
</span><span class="lines">@@ -337,7 +337,7 @@
</span><span class="cx"> struct BytecodePattern {
</span><span class="cx">     WTF_MAKE_FAST_ALLOCATED;
</span><span class="cx"> public:
</span><del>-    BytecodePattern(std::unique_ptr&lt;ByteDisjunction&gt; body, Vector&lt;std::unique_ptr&lt;ByteDisjunction&gt;&gt;&amp; parenthesesInfoToAdopt, YarrPattern&amp; pattern, BumpPointerAllocator* allocator, ConcurrentJITLock* lock)
</del><ins>+    BytecodePattern(std::unique_ptr&lt;ByteDisjunction&gt; body, Vector&lt;std::unique_ptr&lt;ByteDisjunction&gt;&gt;&amp; parenthesesInfoToAdopt, YarrPattern&amp; pattern, BumpPointerAllocator* allocator, ConcurrentJSLock* lock)
</ins><span class="cx">         : m_body(WTFMove(body))
</span><span class="cx">         , m_flags(pattern.m_flags)
</span><span class="cx">         , m_allocator(allocator)
</span><span class="lines">@@ -370,7 +370,7 @@
</span><span class="cx">     // Each BytecodePattern is associated with a RegExp, each RegExp is associated
</span><span class="cx">     // with a VM.  Cache a pointer to out VM's m_regExpAllocator.
</span><span class="cx">     BumpPointerAllocator* m_allocator;
</span><del>-    ConcurrentJITLock* m_lock;
</del><ins>+    ConcurrentJSLock* m_lock;
</ins><span class="cx"> 
</span><span class="cx">     CharacterClass* newlineCharacterClass;
</span><span class="cx">     CharacterClass* wordcharCharacterClass;
</span><span class="lines">@@ -380,7 +380,7 @@
</span><span class="cx">     Vector&lt;std::unique_ptr&lt;CharacterClass&gt;&gt; m_userCharacterClasses;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-JS_EXPORT_PRIVATE std::unique_ptr&lt;BytecodePattern&gt; byteCompile(YarrPattern&amp;, BumpPointerAllocator*, ConcurrentJITLock* = nullptr);
</del><ins>+JS_EXPORT_PRIVATE std::unique_ptr&lt;BytecodePattern&gt; byteCompile(YarrPattern&amp;, BumpPointerAllocator*, ConcurrentJSLock* = nullptr);
</ins><span class="cx"> JS_EXPORT_PRIVATE unsigned interpret(BytecodePattern*, const String&amp; input, unsigned start, unsigned* output);
</span><span class="cx"> unsigned interpret(BytecodePattern*, const LChar* input, unsigned length, unsigned start, unsigned* output);
</span><span class="cx"> unsigned interpret(BytecodePattern*, const UChar* input, unsigned length, unsigned start, unsigned* output);
</span></span></pre></div>
<a id="trunkSourceWTFChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/ChangeLog (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/ChangeLog        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/WTF/ChangeLog        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -1,5 +1,18 @@
</span><span class="cx"> 2016-11-15  Filip Pizlo  &lt;fpizlo@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Rename CONCURRENT_JIT/ConcurrentJIT to CONCURRENT_JS/ConcurrentJS
+        https://bugs.webkit.org/show_bug.cgi?id=164791
+
+        Reviewed by Geoffrey Garen.
+        
+        Both the concurrent GC and the concurrent JIT rely on concurrency support in fundamental
+        JSC runtime components like JSValue. So, the thing that guards it should be a &quot;feature&quot;
+        called CONCURRENT_JS not CONCURRENT_JIT.
+
+        * wtf/Platform.h:
+
+2016-11-15  Filip Pizlo  &lt;fpizlo@apple.com&gt;
+
</ins><span class="cx">         The concurrent GC should have a timeslicing controller
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=164783
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWTFwtfPlatformh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WTF/wtf/Platform.h (208760 => 208761)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WTF/wtf/Platform.h        2016-11-15 23:12:40 UTC (rev 208760)
+++ trunk/Source/WTF/wtf/Platform.h        2016-11-15 23:21:50 UTC (rev 208761)
</span><span class="lines">@@ -744,12 +744,12 @@
</span><span class="cx"> #endif
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-/* Concurrent JIT only works on 64-bit platforms because it requires that
</del><ins>+/* Concurrent JS only works on 64-bit platforms because it requires that
</ins><span class="cx">    values get stored to atomically. This is trivially true on 64-bit platforms,
</span><span class="cx">    but not true at all on 32-bit platforms where values are composed of two
</span><span class="cx">    separate sub-values. */
</span><span class="cx"> #if ENABLE(DFG_JIT) &amp;&amp; USE(JSVALUE64)
</span><del>-#define ENABLE_CONCURRENT_JIT 1
</del><ins>+#define ENABLE_CONCURRENT_JS 1
</ins><span class="cx"> #endif
</span><span class="cx"> 
</span><span class="cx"> /* This controls whether B3 is built. B3 is needed for FTL JIT and WebAssembly */
</span></span></pre>
</div>
</div>

</body>
</html>