Ignore:
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):

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
Note: See TracChangeset for help on using the changeset viewer.