<https://webkit.org/b/129611>
Every ScriptExecutionContext has a VM, so this can never return null.
Made WorkerScriptController::vm() return a reference as well, since
that was needed for this change.
Reviewed by Geoffrey Garen.
* bindings/js/WorkerScriptController.h:
(WebCore::WorkerScriptController::vm):
* bindings/js/WorkerScriptDebugServer.cpp:
(WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
* css/ElementRuleCollector.cpp:
(WebCore::ElementRuleCollector::ruleMatches):
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::vm):
* dom/ScriptExecutionContext.h:
* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::execute):
* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::createImageBuffer):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::dropProtection):
* testing/Internals.cpp:
(WebCore::Internals::parserMetaData):
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165710
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2014-03-16 Andreas Kling <akling@apple.com>
+
+ ScriptExecutionContext::vm() should return a reference.
+ <https://webkit.org/b/129611>
+
+ Every ScriptExecutionContext has a VM, so this can never return null.
+ Made WorkerScriptController::vm() return a reference as well, since
+ that was needed for this change.
+
+ Reviewed by Geoffrey Garen.
+
+ * bindings/js/WorkerScriptController.h:
+ (WebCore::WorkerScriptController::vm):
+ * bindings/js/WorkerScriptDebugServer.cpp:
+ (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
+ * css/ElementRuleCollector.cpp:
+ (WebCore::ElementRuleCollector::ruleMatches):
+ * dom/ScriptExecutionContext.cpp:
+ (WebCore::ScriptExecutionContext::vm):
+ * dom/ScriptExecutionContext.h:
+ * dom/SelectorQuery.cpp:
+ (WebCore::SelectorDataList::execute):
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::createImageBuffer):
+ * xml/XMLHttpRequest.cpp:
+ (WebCore::XMLHttpRequest::dropProtection):
+ * testing/Internals.cpp:
+ (WebCore::Internals::parserMetaData):
+
2014-03-16 Zan Dobersek <zdobersek@igalia.com>
Remove OwnPtr.h, PassOwnPtr.h header inclusions in Source/WebCore/html/parser/ code
void disableEval(const String& errorMessage);
- JSC::VM* vm() { return m_vm.get(); }
+ JSC::VM& vm() { return *m_vm; }
void attachDebugger(JSC::Debugger*);
void detachDebugger(JSC::Debugger*);
void WorkerScriptDebugServer::recompileAllJSFunctions()
{
- JSC::VM* vm = m_workerGlobalScope->script()->vm();
+ JSC::VM& vm = m_workerGlobalScope->script()->vm();
JSC::JSLockHolder lock(vm);
- JSC::Debugger::recompileAllJSFunctions(vm);
+ JSC::Debugger::recompileAllJSFunctions(&vm);
}
void WorkerScriptDebugServer::runEventLoopWhilePaused()
#if ENABLE(CSS_SELECTOR_JIT)
void* compiledSelectorChecker = ruleData.compiledSelectorCodeRef().code().executableAddress();
if (!compiledSelectorChecker && ruleData.compilationStatus() == SelectorCompilationStatus::NotCompiled) {
- JSC::VM* vm = m_element.document().scriptExecutionContext()->vm();
+ JSC::VM& vm = m_element.document().scriptExecutionContext()->vm();
SelectorCompilationStatus compilationStatus;
JSC::MacroAssemblerCodeRef compiledSelectorCodeRef;
- compilationStatus = SelectorCompiler::compileSelector(ruleData.selector(), vm, SelectorCompiler::SelectorContext::RuleCollector, compiledSelectorCodeRef);
+ compilationStatus = SelectorCompiler::compileSelector(ruleData.selector(), &vm, SelectorCompiler::SelectorContext::RuleCollector, compiledSelectorCodeRef);
ruleData.setCompiledSelector(compilationStatus, compiledSelectorCodeRef);
compiledSelectorChecker = ruleData.compiledSelectorCodeRef().code().executableAddress();
{
}
-JSC::VM* ScriptExecutionContext::vm()
+JSC::VM& ScriptExecutionContext::vm()
{
if (isDocument())
- return &JSDOMWindow::commonVM();
+ return JSDOMWindow::commonVM();
- if (isWorkerGlobalScope())
- return toWorkerGlobalScope(this)->script()->vm();
-
- ASSERT_NOT_REACHED();
- return 0;
+ return toWorkerGlobalScope(*this).script()->vm();
}
#if ENABLE(SQL_DATABASE)
void removeTimeout(int timeoutId) { m_timeouts.remove(timeoutId); }
DOMTimer* findTimeout(int timeoutId) { return m_timeouts.get(timeoutId); }
- JSC::VM* vm();
+ JSC::VM& vm();
// Interval is in seconds.
void adjustMinimumTimerInterval(double oldMinimumTimerInterval);
const SelectorData& selectorData = m_selectors.first();
ASSERT(m_matchType == RightMostWithIdMatch || selectorData.compilationStatus == SelectorCompilationStatus::NotCompiled);
- JSC::VM* vm = searchRootNode->document().scriptExecutionContext()->vm();
- selectorData.compilationStatus = SelectorCompiler::compileSelector(selectorData.selector, vm, SelectorCompiler::SelectorContext::QuerySelector, selectorData.compiledSelectorCodeRef);
+ JSC::VM& vm = searchRootNode->document().scriptExecutionContext()->vm();
+ selectorData.compilationStatus = SelectorCompiler::compileSelector(selectorData.selector, &vm, SelectorCompiler::SelectorContext::QuerySelector, selectorData.compiledSelectorCodeRef);
RELEASE_ASSERT(selectorData.compilationStatus != SelectorCompilationStatus::SelectorCheckerWithCheckingContext);
if (selectorData.compilationStatus == SelectorCompilationStatus::SimpleSelectorChecker) {
JSC::JSLockHolder lock(scriptExecutionContext()->vm());
size_t numBytes = 4 * m_imageBuffer->internalSize().width() * m_imageBuffer->internalSize().height();
- scriptExecutionContext()->vm()->heap.reportExtraMemoryCost(numBytes);
+ scriptExecutionContext()->vm().heap.reportExtraMemoryCost(numBytes);
#if USE(IOSURFACE_CANVAS_BACKING_STORE) || ENABLE(ACCELERATED_2D_CANVAS)
if (m_context && m_context->is2d())
String Internals::parserMetaData(Deprecated::ScriptValue value)
{
- JSC::VM* vm = contextDocument()->vm();
- JSC::ExecState* exec = vm->topCallFrame;
+ JSC::VM& vm = contextDocument()->vm();
+ JSC::ExecState* exec = vm.topCallFrame;
JSC::JSValue code = value.jsValue();
ScriptExecutable* executable;
// out. But it is protected from GC while loading, so this
// can't be recouped until the load is done, so only
// report the extra cost at that point.
- JSC::VM* vm = scriptExecutionContext()->vm();
+ JSC::VM& vm = scriptExecutionContext()->vm();
JSC::JSLockHolder lock(vm);
- vm->heap.reportExtraMemoryCost(m_responseBuilder.length() * 2);
+ vm.heap.reportExtraMemoryCost(m_responseBuilder.length() * 2);
unsetPendingActivity(this);
}
symbolWithPointer(?storeUpdatedQuotaForOrigin@ApplicationCacheStorage@WebCore@@QAE_NPBVSecurityOrigin@2@_J@Z, ?storeUpdatedQuotaForOrigin@ApplicationCacheStorage@WebCore@@QEAA_NPEBVSecurityOrigin@2@_J@Z)
symbolWithPointer(?cacheStorage@WebCore@@YAAAVApplicationCacheStorage@1@XZ, ?cacheStorage@WebCore@@YAAEAVApplicationCacheStorage@1@XZ)
symbolWithPointer(?setDefaultOriginQuota@ApplicationCacheStorage@WebCore@@QAEX_J@Z, ?setDefaultOriginQuota@ApplicationCacheStorage@WebCore@@QEAAX_J@Z)
- symbolWithPointer(?vm@ScriptExecutionContext@WebCore@@QAEPAVVM@JSC@@XZ, ?vm@ScriptExecutionContext@WebCore@@QEAAPEAVVM@JSC@@XZ)
+ symbolWithPointer(?vm@ScriptExecutionContext@WebCore@@QAEAAVVM@JSC@@XZ, ?vm@ScriptExecutionContext@WebCore@@QEAAAEAVVM@JSC@@XZ)
symbolWithPointer(?completeURL@Document@WebCore@@UBE?AVURL@2@ABVString@WTF@@@Z, ?completeURL@Document@WebCore@@UEBA?AVURL@2@AEBVString@WTF@@@Z)
symbolWithPointer(??1DOMWindow@WebCore@@UAE@XZ, ??1DOMWindow@WebCore@@UEAA@XZ)
symbolWithPointer(?visibleContentRect@ScrollableArea@WebCore@@QBE?AVIntRect@2@W4VisibleContentRectBehavior@12@@Z, ?visibleContentRect@ScrollableArea@WebCore@@QEBA?AVIntRect@2@W4VisibleContentRectBehavior@12@@Z)