Changeset 200973 in webkit for trunk/Source/JavaScriptCore/parser/ParserModes.h
- Timestamp:
- May 16, 2016, 3:31:13 PM (9 years ago)
- Author:
- Joseph Pecoraro
- Message:
-
Unreviewed rollout r200924. Caused js/regress/string-replace-generic.html to fail.
.:
- ManualTests/inspector/profiler-test-call.html: Added.
- ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html: Added.
Source/JavaScriptCore:
- API/JSProfilerPrivate.cpp: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
(JSStartProfiling):
(JSEndProfiling):
- API/JSProfilerPrivate.h: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- CMakeLists.txt:
- JavaScriptCore.xcodeproj/project.pbxproj:
- bytecode/BytecodeList.json:
- bytecode/BytecodeUseDef.h:
(JSC::computeUsesForBytecodeOffset):
(JSC::computeDefsForBytecodeOffset):
- bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dumpBytecode):
- bytecode/UnlinkedFunctionExecutable.cpp:
(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):
- bytecode/UnlinkedFunctionExecutable.h:
- bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitCallVarargsInTailPosition):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):
- bytecompiler/BytecodeGenerator.h:
(JSC::CallArguments::profileHookRegister):
(JSC::BytecodeGenerator::shouldEmitProfileHooks):
- bytecompiler/NodesCodegen.cpp:
(JSC::CallArguments::CallArguments):
(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
- dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):
- dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
- dfg/DFGCapabilities.cpp:
(JSC::DFG::capabilityLevel):
- dfg/DFGClobberize.h:
(JSC::DFG::clobberize):
- dfg/DFGDoesGC.cpp:
(JSC::DFG::doesGC):
- dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
- dfg/DFGNodeType.h:
- dfg/DFGPredictionPropagationPhase.cpp:
- dfg/DFGSafeToExecute.h:
(JSC::DFG::safeToExecute):
- dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
- inspector/InjectedScriptBase.cpp:
(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):
- inspector/protocol/Timeline.json:
- interpreter/Interpreter.cpp:
(JSC::UnwindFunctor::operator()):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
- jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
- jit/JIT.h:
- jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_profile_will_call):
(JSC::JIT::emit_op_profile_did_call):
- jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_profile_will_call):
(JSC::JIT::emit_op_profile_did_call):
- jit/JITOperations.cpp:
- jit/JITOperations.h:
- jsc.cpp:
- llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
- llint/LLIntSlowPaths.h:
- llint/LowLevelInterpreter.asm:
- parser/ParserModes.h:
- profiler/CallIdentifier.h: Added.
(JSC::CallIdentifier::CallIdentifier):
(JSC::CallIdentifier::functionName):
(JSC::CallIdentifier::url):
(JSC::CallIdentifier::lineNumber):
(JSC::CallIdentifier::columnNumber):
(JSC::CallIdentifier::operator==):
(JSC::CallIdentifier::operator!=):
(JSC::CallIdentifier::Hash::hash):
(JSC::CallIdentifier::Hash::equal):
(JSC::CallIdentifier::hash):
(JSC::CallIdentifier::operator const char*):
(JSC::CallIdentifier::c_str):
(WTF::HashTraits<JSC::CallIdentifier>::constructDeletedValue):
(WTF::HashTraits<JSC::CallIdentifier>::isDeletedValue):
- profiler/LegacyProfiler.cpp: Added.
(JSC::LegacyProfiler::profiler):
(JSC::LegacyProfiler::startProfiling):
(JSC::LegacyProfiler::stopProfiling):
(JSC::callFunctionForProfilesWithGroup):
(JSC::LegacyProfiler::suspendProfiling):
(JSC::LegacyProfiler::unsuspendProfiling):
(JSC::LegacyProfiler::willExecute):
(JSC::LegacyProfiler::didExecute):
(JSC::LegacyProfiler::exceptionUnwind):
(JSC::LegacyProfiler::createCallIdentifier):
(JSC::createCallIdentifierFromFunctionImp):
- profiler/LegacyProfiler.h: Added.
(JSC::LegacyProfiler::currentProfiles):
- profiler/Profile.cpp: Added.
(JSC::Profile::create):
(JSC::Profile::Profile):
(JSC::Profile::~Profile):
(JSC::Profile::debugPrint):
(JSC::functionNameCountPairComparator):
(JSC::Profile::debugPrintSampleStyle):
- profiler/Profile.h: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- profiler/ProfileGenerator.cpp: Added.
(JSC::ProfileGenerator::create):
(JSC::ProfileGenerator::ProfileGenerator):
(JSC::AddParentForConsoleStartFunctor::AddParentForConsoleStartFunctor):
(JSC::AddParentForConsoleStartFunctor::foundParent):
(JSC::AddParentForConsoleStartFunctor::operator()):
(JSC::ProfileGenerator::addParentForConsoleStart):
(JSC::ProfileGenerator::title):
(JSC::ProfileGenerator::beginCallEntry):
(JSC::ProfileGenerator::endCallEntry):
(JSC::ProfileGenerator::willExecute):
(JSC::ProfileGenerator::didExecute):
(JSC::ProfileGenerator::exceptionUnwind):
(JSC::ProfileGenerator::stopProfiling):
(JSC::ProfileGenerator::removeProfileStart):
(JSC::ProfileGenerator::removeProfileEnd):
- profiler/ProfileGenerator.h: Added.
(JSC::ProfileGenerator::profile):
(JSC::ProfileGenerator::origin):
(JSC::ProfileGenerator::profileGroup):
(JSC::ProfileGenerator::setIsSuspended):
- profiler/ProfileNode.cpp: Added.
(JSC::ProfileNode::ProfileNode):
(JSC::ProfileNode::addChild):
(JSC::ProfileNode::removeChild):
(JSC::ProfileNode::spliceNode):
(JSC::ProfileNode::traverseNextNodePostOrder):
(JSC::ProfileNode::debugPrint):
(JSC::ProfileNode::debugPrintSampleStyle):
(JSC::ProfileNode::debugPrintRecursively):
(JSC::ProfileNode::debugPrintSampleStyleRecursively):
- profiler/ProfileNode.h: Added.
(JSC::ProfileNode::create):
(JSC::ProfileNode::Call::Call):
(JSC::ProfileNode::Call::startTime):
(JSC::ProfileNode::Call::setStartTime):
(JSC::ProfileNode::Call::elapsedTime):
(JSC::ProfileNode::Call::setElapsedTime):
(JSC::ProfileNode::operator==):
(JSC::ProfileNode::callerCallFrame):
(JSC::ProfileNode::callIdentifier):
(JSC::ProfileNode::id):
(JSC::ProfileNode::functionName):
(JSC::ProfileNode::url):
(JSC::ProfileNode::lineNumber):
(JSC::ProfileNode::columnNumber):
(JSC::ProfileNode::parent):
(JSC::ProfileNode::setParent):
(JSC::ProfileNode::calls):
(JSC::ProfileNode::lastCall):
(JSC::ProfileNode::appendCall):
(JSC::ProfileNode::children):
(JSC::ProfileNode::firstChild):
(JSC::ProfileNode::lastChild):
(JSC::ProfileNode::nextSibling):
(JSC::ProfileNode::setNextSibling):
(JSC::ProfileNode::forEachNodePostorder):
(JSC::CalculateProfileSubtreeDataFunctor::operator()):
(JSC::CalculateProfileSubtreeDataFunctor::returnValue):
- profiler/ProfilerJettisonReason.cpp:
(WTF::printInternal):
- profiler/ProfilerJettisonReason.h:
- runtime/CodeCache.cpp:
(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):
- runtime/CodeCache.h:
- runtime/Executable.cpp:
(JSC::ScriptExecutable::newCodeBlockFor):
- runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::hasLegacyProfiler):
(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
- runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::supportsLegacyProfiling):
- runtime/Options.h:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::SetEnabledProfilerFunctor::operator()):
(JSC::VM::setEnabledProfiler):
- runtime/VM.h:
(JSC::VM::enabledProfiler):
(JSC::VM::enabledProfilerAddress):
Source/WebCore:
Tests: fast/profiler/*
- CMakeLists.txt:
- DerivedSources.cpp:
- DerivedSources.make:
- ForwardingHeaders/profiler/LegacyProfiler.h: Added.
- ForwardingHeaders/profiler/Profile.h: Added.
- ForwardingHeaders/profiler/ProfileNode.h: Added.
- WebCore.xcodeproj/project.pbxproj:
- bindings/js/JSCustomXPathNSResolver.cpp:
- bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::supportsLegacyProfiling):
(WebCore::JSDOMWindowBase::supportsRichSourceInfo):
- bindings/js/JSDOMWindowBase.h:
- bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::supportsLegacyProfiling):
- bindings/js/JSWorkerGlobalScopeBase.h:
- bindings/js/ScriptCachedFrameData.cpp:
- bindings/js/ScriptController.cpp:
(WebCore::ScriptController::clearWindowShell):
- bindings/js/ScriptProfile.h: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- bindings/js/ScriptProfileNode.h: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- bindings/scripts/CodeGeneratorJS.pm:
(AddClassForwardIfNeeded):
- bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
- bindings/scripts/test/TestObj.idl:
- css/CSSParser.cpp:
- dom/Document.cpp:
- inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::stopProfiling):
- inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::legacyProfilerEnabled):
(WebCore::InspectorController::setLegacyProfilerEnabled):
- inspector/InspectorController.h:
- inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::stopProfilingImpl):
- inspector/InspectorInstrumentation.h:
- inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):
- inspector/InspectorTimelineAgent.h:
- inspector/PageDebuggerAgent.cpp:
- inspector/PageRuntimeAgent.cpp:
- inspector/ScriptProfile.idl: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- inspector/ScriptProfileNode.idl: Copied from Source/JavaScriptCore/profiler/ProfilerJettisonReason.h.
- inspector/TimelineRecordFactory.cpp:
(WebCore::buildAggregateCallInfoInspectorObject):
(WebCore::buildInspectorObject):
(WebCore::buildProfileInspectorObject):
(WebCore::TimelineRecordFactory::appendProfile):
- inspector/TimelineRecordFactory.h:
- page/DOMWindow.cpp:
- page/Page.cpp:
- page/PageConsoleClient.cpp:
(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::clearProfiles):
- page/PageConsoleClient.h:
- testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::consoleProfiles):
(WebCore::Internals::setLegacyJavaScriptProfilingEnabled):
- testing/Internals.h:
- testing/Internals.idl:
- testing/js/WebCoreTestSupport.cpp:
- xml/XSLStyleSheetLibxslt.cpp:
- xml/XSLTProcessorLibxslt.cpp:
Source/WebKit/win:
- Interfaces/IWebInspector.idl:
- WebCoreStatistics.cpp:
- WebInspector.cpp:
(WebInspector::isJavaScriptProfilingEnabled):
(WebInspector::setJavaScriptProfilingEnabled):
- WebInspector.h:
- WebView.cpp:
LayoutTests:
- fast/profiler/anonymous-event-handler-expected.txt: Added.
- fast/profiler/anonymous-event-handler.html: Added.
- fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Added.
- fast/profiler/anonymous-function-called-from-different-contexts.html: Added.
- fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Added.
- fast/profiler/anonymous-function-calls-built-in-functions.html: Added.
- fast/profiler/anonymous-function-calls-eval-expected.txt: Added.
- fast/profiler/anonymous-function-calls-eval.html: Added.
- fast/profiler/anonymous-functions-with-display-names-expected.txt: Added.
- fast/profiler/anonymous-functions-with-display-names.html: Added.
- fast/profiler/apply-expected.txt: Added.
- fast/profiler/apply.html: Added.
- fast/profiler/built-in-function-calls-anonymous-expected.txt: Added.
- fast/profiler/built-in-function-calls-anonymous.html: Added.
- fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Added.
- fast/profiler/built-in-function-calls-user-defined-function.html: Added.
- fast/profiler/call-expected.txt: Added.
- fast/profiler/call-register-leak-expected.txt: Added.
- fast/profiler/call-register-leak.html: Added.
- fast/profiler/call.html: Added.
- fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Added.
- fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Added.
- fast/profiler/compare-multiple-profiles-expected.txt: Added.
- fast/profiler/compare-multiple-profiles.html: Added.
- fast/profiler/constructor-expected.txt: Added.
- fast/profiler/constructor.html: Added.
- fast/profiler/dead-time-expected.txt: Added.
- fast/profiler/dead-time.html: Added.
- fast/profiler/document-dot-write-expected.txt: Added.
- fast/profiler/document-dot-write.html: Added.
- fast/profiler/event-handler-expected.txt: Added.
- fast/profiler/event-handler.html: Added.
- fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Added.
- fast/profiler/execution-context-and-eval-on-same-line.html: Added.
- fast/profiler/inline-event-handler-expected.txt: Added.
- fast/profiler/inline-event-handler.html: Added.
- fast/profiler/many-calls-in-the-same-scope-expected.txt: Added.
- fast/profiler/many-calls-in-the-same-scope.html: Added.
- fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Added.
- fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Added.
- fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Added.
- fast/profiler/multiple-and-different-scoped-function-calls.html: Added.
- fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Added.
- fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Added.
- fast/profiler/multiple-frames-expected.txt: Added.
- fast/profiler/multiple-frames.html: Added.
- fast/profiler/named-functions-with-display-names-expected.txt: Added.
- fast/profiler/named-functions-with-display-names.html: Added.
- fast/profiler/nested-anonymous-functon-expected.txt: Added.
- fast/profiler/nested-anonymous-functon.html: Added.
- fast/profiler/nested-start-and-stop-profiler-expected.txt: Added.
- fast/profiler/nested-start-and-stop-profiler.html: Added.
- fast/profiler/no-execution-context-expected.txt: Added.
- fast/profiler/no-execution-context.html: Added.
- fast/profiler/one-execution-context-expected.txt: Added.
- fast/profiler/one-execution-context.html: Added.
- fast/profiler/profile-calls-in-included-file-expected.txt: Added.
- fast/profiler/profile-calls-in-included-file.html: Added.
- fast/profiler/profile-with-no-title-expected.txt: Added.
- fast/profiler/profile-with-no-title.html: Added.
- fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Added.
- fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Added.
- fast/profiler/profiling-from-a-nested-location-expected.txt: Added.
- fast/profiler/profiling-from-a-nested-location.html: Added.
- fast/profiler/resources/other-frame.html: Added.
- fast/profiler/resources/other-window.html: Added.
- fast/profiler/resources/profiler-test-JS-resources.js: Added.
(endTest):
(insertGivenText):
(insertNewText):
(arrayOperatorFunction):
(anonymousFunction):
(anotherAnonymousFunction):
(intermediaryFunction):
(isEqualToFive):
(startProfile):
(printHeavyProfilesDataWithoutTime):
(printProfilesDataWithoutTime):
(printProfileNodeWithoutTime):
- fast/profiler/simple-event-call-expected.txt: Added.
- fast/profiler/simple-event-call.html: Added.
- fast/profiler/simple-no-level-change-expected.txt: Added.
- fast/profiler/simple-no-level-change.html: Added.
- fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Added.
- fast/profiler/start-and-stop-profiler-multiple-times.html: Added.
- fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Added.
- fast/profiler/start-and-stop-profiling-in-the-same-function.html: Added.
- fast/profiler/start-but-dont-stop-profiling-expected.txt: Added.
- fast/profiler/start-but-dont-stop-profiling.html: Added.
- fast/profiler/stop-profiling-after-setTimeout-expected.txt: Added.
- fast/profiler/stop-profiling-after-setTimeout.html: Added.
- fast/profiler/stop-then-function-call-expected.txt: Added.
- fast/profiler/stop-then-function-call.html: Added.
- fast/profiler/throw-exception-from-eval-expected.txt: Added.
- fast/profiler/throw-exception-from-eval.html-disabled: Added.
- fast/profiler/two-execution-contexts-expected.txt: Added.
- fast/profiler/two-execution-contexts.html: Added.
- fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Added.
- fast/profiler/user-defined-function-calls-built-in-functions.html: Added.
- fast/profiler/window-dot-eval-expected.txt: Added.
- fast/profiler/window-dot-eval.html: Added.
- platform/efl/TestExpectations:
- platform/gtk/TestExpectations:
- platform/ios-simulator/TestExpectations:
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/parser/ParserModes.h
r200924 r200973 40 40 enum class ThisTDZMode { AlwaysCheck, CheckIfNeeded }; 41 41 42 enum ProfilerMode { ProfilerOff, ProfilerOn }; 42 43 enum DebuggerMode { DebuggerOff, DebuggerOn }; 43 44