1. 12 Jan, 2014 1 commit
    • carlosgc@webkit.org's avatar
      Unreviewed. Fix make distcheck. · 8d65431e
      carlosgc@webkit.org authored
      Source/JavaScriptCore:
      
      * GNUmakefile.am: Add inline-and-minify-stylesheets-and-scripts.py
      to EXTRA_DIST and fix InjectedScriptSource.h generation rule.
      * GNUmakefile.list.am: Move InjectedScriptSource.h to
      built_nosources to make sure it's not disted.
      
      Source/WebCore:
      
      * GNUmakefile.list.am: Add missing files.
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Add enum types template files to EXTRA_DIST.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Add WebKit2InspectorGResourceBundle.xml to
      EXTRA_DIST.
      * GNUmakefile.list.am: Removed deleted files and add missing ones.
      * NetworkProcess/unix/NetworkProcessMainUnix.cpp: Move
      ProxyResolverSoup.h to EFL platform ifdef, because GTK port doesn't
      build the proxy resolver.
      
      Tools:
      
      * gtk/GNUmakefile.am: Add generate-inspector-gresource-manifest.py
      to EXTRA_DIST.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161816 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8d65431e
  2. 10 Jan, 2014 1 commit
    • joepeck@webkit.org's avatar
      Web Inspector: Push InspectorAgent down into JSC, give JSC an InspectorController · 8897eaaf
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126763
      
      Reviewed by Timothy Hatcher.
      
      Source/JavaScriptCore:
      
      Introduce JSGlobalObjectInspectorController. This is the InspectorController
      for a JSContext. It is created by the JSGlobalObject Remote Inspector Debuggable
      when a remote frontend connects, and is destroyed when the remote frontend
      disconnects of the JSGlobalObject is destroyed.
      
      * inspector/JSGlobalObjectInspectorController.h: Added.
      * inspector/JSGlobalObjectInspectorController.cpp: Added.
      (Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
      (Inspector::JSGlobalObjectInspectorController::~JSGlobalObjectInspectorController):
      (Inspector::JSGlobalObjectInspectorController::connectFrontend):
      (Inspector::JSGlobalObjectInspectorController::disconnectFrontend):
      (Inspector::JSGlobalObjectInspectorController::dispatchMessageFromFrontend):
      (Inspector::JSGlobalObjectInspectorController::functionCallHandler):
      (Inspector::JSGlobalObjectInspectorController::evaluateHandler):
      Create/destory agents, create/destroy dispatches, implement InspectorEnvironment.
      
      * runtime/JSGlobalObjectDebuggable.h:
      * runtime/JSGlobalObjectDebuggable.cpp:
      (JSC::JSGlobalObjectDebuggable::~JSGlobalObjectDebuggable):
      (JSC::JSGlobalObjectDebuggable::connect):
      (JSC::JSGlobalObjectDebuggable::disconnect):
      (JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
      Forward actions to the InspectorController object.
      
      * inspector/agents/InspectorAgent.h: Renamed from Source/WebCore/inspector/InspectorAgent.h.
      * inspector/agents/InspectorAgent.cpp: Renamed from Source/WebCore/inspector/InspectorAgent.cpp.
      (Inspector::InspectorAgent::InspectorAgent):
      (Inspector::InspectorAgent::~InspectorAgent):
      (Inspector::InspectorAgent::didCreateFrontendAndBackend):
      (Inspector::InspectorAgent::inspect):
      (Inspector::InspectorAgent::evaluateForTestInFrontend):
      Implement InspectorAgent in JavaScriptCore in namespace Inspector.
      
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * CMakeLists.txt:
      * ChangeLog:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.vcxproj/copy-files.cmd:
      Add files and new inspector/agents subdirectory.
      
      Source/WebCore:
      
      No new tests, no observable change in functionality.
      
      * CMakeLists.txt:
      * ForwardingHeaders/inspector/InspectorAgent.h: Added.
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * inspector/InspectorAllInOne.cpp:
      InspectorAgent moved to JavaScriptCore.
      
      * inspector/PageConsoleAgent.cpp:
      (WebCore::PageConsoleAgent::PageConsoleAgent):
      (WebCore::PageConsoleAgent::~PageConsoleAgent):
      * inspector/PageConsoleAgent.h:
      (WebCore::PageConsoleAgent::create):
      * inspector/InspectorApplicationCacheAgent.cpp:
      * inspector/InspectorApplicationCacheAgent.h:
      InspectorAgent was not used by these files, remove it.
      
      * inspector/CommandLineAPIHost.cpp:
      * inspector/CommandLineAPIHost.h:
      (WebCore::CommandLineAPIHost::init):
      * inspector/InspectorInstrumentation.cpp:
      * inspector/InstrumentingAgents.h:
      (WebCore::InstrumentingAgents::inspectorAgent):
      (WebCore::InstrumentingAgents::setInspectorAgent):
      Switch to Inspector::InspectorAgent where applicable.
      
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::InspectorController):
      * inspector/InspectorController.h:
      Manually add InspectorAgent to the InstrumentingAgents. It is one
      of the agents that is always available in InstrumentingAgents.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161733 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8897eaaf
  3. 09 Jan, 2014 1 commit
    • joepeck@webkit.org's avatar
      Web Inspector: Move InjectedScript classes into JavaScriptCore · 69a4eafa
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126598
      
      Source/JavaScriptCore:
      
      Reviewed by Timothy Hatcher.
      
      Part 1: Extract InspectorInstrumentationCookie class from InspectorInstrumentation.
      Part 2: Move InjectedScriptSource and generation into JavaScriptCore.
      Part 3: Update CodeGeneratorInspector to avoid inlining virtual destructors.
      Part 4: Move all inspector scripts into JavaScriptCore and update generators.
      Part 5: Move InjectedScript classes into JavaScriptCore
      Part 6: Put it all together. Make WebCore use the JavaScriptCore InjectedScript files.
      
      There are pieces of logic that WebCore wants to hook into in the InjectedScript
      execution (e.g. for CommandLineAPIModule and InspectorInstrumentation). Create
      hooks for those in a base class called InspectorEnvironment. For now, the
      InspectorControllers (Page, JSGlobalObject, Worker) will be the InspectorEnvironments
      and provide answers to its hooks.
      
      * inspector/InspectorEnvironment.h: Added.
      New hooks needed by WebCore in various places. Mostly stubbed in JavaScriptCore.
      
      * inspector/InjectedScript.cpp: Renamed from Source/WebCore/inspector/InjectedScript.cpp.
      * inspector/InjectedScript.h: Added.
      * inspector/InjectedScriptBase.cpp: Renamed from Source/WebCore/inspector/InjectedScriptBase.cpp.
      * inspector/InjectedScriptBase.h: Renamed from Source/WebCore/inspector/InjectedScriptBase.h.
      * inspector/InjectedScriptModule.cpp: Renamed from Source/WebCore/inspector/InjectedScriptModule.cpp.
      * inspector/InjectedScriptModule.h: Renamed from Source/WebCore/inspector/InjectedScriptModule.h.
      Cleanup the style of these files (nullptr, formatting, whitespace, etc).
      Use the InspectorEnvironments call/evaluate function for ScriptFunctionCalls and checking access
      
      * inspector/InjectedScriptManager.cpp: Renamed from Source/WebCore/inspector/InjectedScriptManager.cpp.
      * inspector/InjectedScriptManager.h: Renamed from Source/WebCore/inspector/InjectedScriptManager.h.
      Take an InspectorEnvironment with multiple hooks, instead of a single hook function.
      
      * inspector/InjectedScriptHost.cpp: Added.
      * inspector/InjectedScriptHost.h: Added.
      * inspector/JSInjectedScriptHost.cpp: Renamed from Source/WebCore/bindings/js/JSInjectedScriptHostCustom.cpp.
      * inspector/JSInjectedScriptHost.h: Added.
      * inspector/JSInjectedScriptHostPrototype.cpp: Added.
      * inspector/JSInjectedScriptHostPrototype.h: Added.
      Implementation of InjectedScriptHost which is passed into the script (InjectedScriptSource.js)
      that we inject into the page. This is mostly copied from the original autogenerated code,
      then simplified and cleaned up. InjectedScriptHost can be subclasses to provide specialized
      implementations of isHTMLAllCollection and type for Web/DOM types unknown to a pure JS context.
      
      For OS X be sure to export the scripts as if they are private headers.
      
      * GNUmakefile.am:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * inspector/scripts/cssmin.py: Renamed from Source/WebCore/inspector/Scripts/cssmin.py.
      * inspector/scripts/inline-and-minify-stylesheets-and-scripts.py: Renamed from Source/WebCore/inspector/Scripts/inline-and-minify-stylesheets-and-scripts.py.
      * inspector/scripts/jsmin.py: Renamed from Source/WebCore/inspector/Scripts/jsmin.py.
      * inspector/scripts/xxd.pl: Renamed from Source/WebCore/inspector/xxd.pl.
      
      This avoids build errors about duplicate exported virtual inlined methods
      are included from multiple places. Just put empty destructors in the
      implementation file instead of inlined.
      
      * inspector/scripts/CodeGeneratorInspector.py:
      (Generator):
      (Generator.go):
      * inspector/scripts/CodeGeneratorInspectorStrings.py:
      
      Move InjectedScriptSource.js and derived sources generation.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * inspector/InjectedScriptSource.js: Renamed from Source/WebCore/inspector/InjectedScriptSource.js.
      
      Source/WebCore:
      
      Reviewed by Timothy Hatcher.
      
      * CMakeLists.txt:
      * DerivedSources.cpp:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * UseJSC.cmake:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      Remove old InjectedScript files.
      
      * ForwardingHeaders/inspector/InjectedScript.h: Added.
      * ForwardingHeaders/inspector/InjectedScriptBase.h: Added.
      * ForwardingHeaders/inspector/InjectedScriptHost.h: Added.
      * ForwardingHeaders/inspector/InjectedScriptManager.h: Added.
      * ForwardingHeaders/inspector/InjectedScriptModule.h: Added.
      * ForwardingHeaders/inspector/InspectorEnvironment.h: Added.
      Expose headers to WebCore.
      
      * inspector/InspectorController.h:
      * inspector/InspectorController.cpp:
      (WebCore::InspectorController::InspectorController):
      (WebCore::InspectorController::developerExtrasEnabled):
      (WebCore::InspectorController::canAccessInspectedScriptState):
      (WebCore::InspectorController::functionCallHandler):
      (WebCore::InspectorController::evaluateHandler):
      (WebCore::InspectorController::willCallInjectedScriptFunction):
      (WebCore::InspectorController::didCallInjectedScriptFunction):
      * inspector/WorkerInspectorController.h:
      * inspector/WorkerInspectorController.cpp:
      (WebCore::WorkerInspectorController::WorkerInspectorController):
      (WebCore::WorkerInspectorController::functionCallHandler):
      (WebCore::WorkerInspectorController::evaluateHandler):
      (WebCore::WorkerInspectorController::willCallInjectedScriptFunction):
      (WebCore::WorkerInspectorController::didCallInjectedScriptFunction):
      Make both InspectorControllers in WebCore be InspectorEnvironments.
      
      * bindings/js/JSMainThreadExecState.h:
      * bindings/js/JSMainThreadExecState.cpp:
      (WebCore::evaluateHandlerFromAnyThread):
      Make JSC::evaluate wrapper like the existing JSC::call wrapper.
      These will be the ScriptFunctionCall implementations when debugging
      a WebCore::Page or worker, instead of the pure JSC versions.
      
      * inspector/PageInjectedScriptHost.h: Copied from Source/WebCore/inspector/CommandLineAPIModule.h.
      * inspector/PageInjectedScriptHost.cpp: Copied from Source/WebCore/inspector/PageInjectedScriptManager.cpp.
      (WebCore::PageInjectedScriptHost::type):
      (WebCore::PageInjectedScriptHost::isHTMLAllCollection):
      WebCore InjectedScriptHost implementation for DOM type handling.
      
      * inspector/PageInjectedScriptManager.h:
      * inspector/PageInjectedScriptManager.cpp:
      (WebCore::PageInjectedScriptManager::PageInjectedScriptManager):
      (WebCore::PageInjectedScriptManager::discardInjectedScriptsFor):
      WebCore InjectedScriptManager implementation for CommandLineAPI and
      specialized DOMWindow injected script management.
      
      * bindings/js/JSBindingsAllInOne.cpp:
      * inspector/CommandLineAPIHost.cpp:
      * inspector/CommandLineAPIHost.h:
      * inspector/CommandLineAPIModule.cpp:
      (WebCore::CommandLineAPIModule::host):
      * inspector/CommandLineAPIModule.h:
      * inspector/ConsoleMessage.cpp:
      (WebCore::ConsoleMessage::addToFrontend):
      * inspector/ConsoleMessage.h:
      * inspector/InjectedScriptCanvasModule.cpp:
      (WebCore::InjectedScriptCanvasModule::InjectedScriptCanvasModule):
      * inspector/InjectedScriptCanvasModule.h:
      * inspector/InspectorAllInOne.cpp:
      * inspector/InspectorCanvasAgent.cpp:
      * inspector/InspectorCanvasAgent.h:
      (WebCore::InspectorCanvasAgent::create):
      * inspector/InspectorConsoleAgent.cpp:
      (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorDOMAgent.cpp:
      * inspector/InspectorDOMAgent.h:
      (WebCore::InspectorDOMAgent::create):
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorDebuggerAgent.h:
      (WebCore::InspectorDebuggerAgent::injectedScriptManager):
      * inspector/InspectorHeapProfilerAgent.cpp:
      (WebCore::InspectorHeapProfilerAgent::create):
      (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorIndexedDBAgent.cpp:
      * inspector/InspectorIndexedDBAgent.h:
      (WebCore::InspectorIndexedDBAgent::create):
      * inspector/InspectorPageAgent.cpp:
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::PageProfilerAgent::PageProfilerAgent):
      (WebCore::InspectorProfilerAgent::create):
      (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
      (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorRuntimeAgent.cpp:
      * inspector/InspectorRuntimeAgent.h:
      (WebCore::InspectorRuntimeAgent::injectedScriptManager):
      * inspector/PageConsoleAgent.cpp:
      (WebCore::PageConsoleAgent::PageConsoleAgent):
      * inspector/PageConsoleAgent.h:
      (WebCore::PageConsoleAgent::create):
      * inspector/PageDebuggerAgent.cpp:
      * inspector/PageDebuggerAgent.h:
      * inspector/PageRuntimeAgent.cpp:
      * inspector/PageRuntimeAgent.h:
      (WebCore::PageRuntimeAgent::create):
      * inspector/WorkerConsoleAgent.cpp:
      (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
      * inspector/WorkerConsoleAgent.h:
      (WebCore::WorkerConsoleAgent::create):
      * inspector/WorkerDebuggerAgent.cpp:
      * inspector/WorkerDebuggerAgent.h:
      * inspector/WorkerRuntimeAgent.cpp:
      * inspector/WorkerRuntimeAgent.h:
      (WebCore::WorkerRuntimeAgent::create):
      Switch to using the Inspector namespace and JSC InjectedScript files.
      
      * bindings/js/JSInjectedScriptManager.cpp: Removed.
      * inspector/InjectedScript.h: Removed.
      * inspector/InjectedScriptHost.cpp: Removed.
      * inspector/InjectedScriptHost.h: Removed.
      * inspector/InjectedScriptHost.idl: Removed.
      
      With the updated location switch to using the appropriate INSPECTOR_SCRIPTS_DIR
      variable which defines where the scripts are.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      
      Currently InjectedScriptBase uses InspectorInstrumentation directly
      to track calling into JavaScript for timeline purposes. We will remove
      the direct call from InjectedScriptBase and extracting the Cookie class
      will make that easier.
      
      * CMakeLists.txt:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * inspector/InspectorAllInOne.cpp:
      * inspector/InspectorInstrumentation.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorInstrumentationCookie.cpp: Added.
      (WebCore::InspectorInstrumentationCookie::InspectorInstrumentationCookie):
      (WebCore::InspectorInstrumentationCookie::operator=):
      (WebCore::InspectorInstrumentationCookie::~InspectorInstrumentationCookie):
      * inspector/InspectorInstrumentationCookie.h: Added.
      (WebCore::InspectorInstrumentationCookie::isValid):
      (WebCore::InspectorInstrumentationCookie::instrumentingAgents):
      (WebCore::InspectorInstrumentationCookie::hasMatchingTimelineAgentId):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161563 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      69a4eafa
  4. 08 Jan, 2014 1 commit
    • zandobersek@gmail.com's avatar
      [Automake] Scripts for generated build targets do not necessarily produce their output · 36d77e02
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=126378
      
      Reviewed by Carlos Garcia Campos.
      
      Source/JavaScriptCore: 
      
      * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
      assure the output is generated every time the script is invoked, most commonly due to unchanged
      input. This assures the build targets are up-to-date and can't be older that their dependencies,
      which would result in constant regeneration at every build.
      
      Source/WebCore: 
      
      * GNUmakefile.am: Touch the build targets that are generated through helper scripts that don't
      assure the output is generated every time the script is invoked, most commonly due to unchanged
      * bindings/gobject/GNUmakefile.am: Simply move the gdom-gen-symbols file into the output file
      instead of copying it if the contents differ and removing it. This again ensures that the output
      file is always newer than its dependencies, even if the input hasn't changed.
      
      Source/WebKit2: 
      
      * GNUmakefile.am: Don't pass the -n option to the ln command that links the build's include
      directories to actual source directories. This doesn't replace the original symbolic link,
      which can lead to the actual link being older than its dependencies and subsequent constant
      relinking at every build.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161497 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      36d77e02
  5. 03 Jan, 2014 1 commit
    • carlosgc@webkit.org's avatar
      REGRESSION(r160304): [GTK] Disable libtool fast install · 94a63ad6
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=126381
      
      Reviewed by Martin Robinson.
      
      .:
      
      After r160304 we are building some of our binaries that are
      installed with the -no-fast-install ld flag. This makes that the
      binaries are installed with the source code path hardcoded in
      binary RPATH. Disabling fast install globally, the libtool script
      always relinks the binaries right before being installed.
      
      * Source/autotools/SetupLibtool.m4: Add AC_DISABLE_FAST_INSTALL.
      
      Source/JavaScriptCore:
      
      Remove -no-fast-install ld flag since fast install is now disabled
      globally.
      
      * GNUmakefile.am:
      
      Source/WebKit/gtk:
      
      * tests/GNUmakefile.am:
      
      Source/WebKit2:
      
      Remove -no-fast-install ld flag since fast install is now disabled
      globally.
      
      * GNUmakefile.am:
      * UIProcess/API/gtk/tests/GNUmakefile.am:
      
      Tools:
      
      Remove -no-fast-install ld flag since fast install is now disabled
      globally.
      
      * GNUmakefile.am:
      * GtkLauncher/GNUmakefile.am:
      * MiniBrowser/gtk/GNUmakefile.am:
      * TestWebKitAPI/GNUmakefile.am:
      * WebKitTestRunner/GNUmakefile.am:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@161255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      94a63ad6
  6. 23 Dec, 2013 1 commit
  7. 18 Dec, 2013 1 commit
  8. 13 Dec, 2013 3 commits
    • joepeck@webkit.org's avatar
      Web Inspector: Move Inspector and Debugger protocol domains into JavaScriptCore · 4591f9bc
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125707
      
      Reviewed by Timothy Hatcher.
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * inspector/protocol/Debugger.json: Renamed from Source/WebCore/inspector/protocol/Debugger.json.
      * inspector/protocol/GenericTypes.json: Added.
      * inspector/protocol/InspectorDomain.json: Renamed from Source/WebCore/inspector/protocol/InspectorDomain.json.
      Add new files to inspector generation.
      
      * inspector/scripts/CodeGeneratorInspector.py:
      (Generator.go):
      Only build TypeBuilder output if the domain only has types. Avoid
      backend/frontend dispatchers and backend commands.
      
      (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
      (format_setter_value_expression):
      (Generator.process_command):
      (Generator.generate_send_method):
      * inspector/scripts/CodeGeneratorInspectorStrings.py:
      Export and name the get{JS,Web}EnumConstant function.
      
      Source/WebCore:
      
        - Switch TypeBuilder::Page::SearchMatch to TypeBuilder::GenericTypes::SearchMatch
          which comes from InspectorJSTypeBuilders.
        - Remove domains that moved to JavaScriptCore.
      
      No new tests, this only moves code around. There are no functional changes.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      Add new files.
      
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
      (WebCore::ContentSearchUtils::searchInTextByLines):
      * inspector/ContentSearchUtils.h:
      * inspector/InspectorAgent.cpp:
      * inspector/InspectorAgent.h:
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::searchInResource):
      * inspector/InspectorPageAgent.h:
      * inspector/protocol/Page.json:
      Update includes and type builder type names.
      
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::breakpointActionTypeForString):
      (WebCore::InspectorDebuggerAgent::searchInContent):
      * inspector/InspectorTimelineAgent.cpp:
      (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
      Use the new getEnum function names.
      
      Source/WebInspectorUI:
      
      * UserInterface/InspectorJSBackendCommands.js:
      * UserInterface/InspectorWebBackendCommands.js:
      Regenerate now that domains have moved around.
      
      LayoutTests:
      
      * http/tests/inspector-protocol/resources/InspectorTest.js:
      (InspectorTest.checkForError):
      Since having a protocol error is likely wrong, make the output
      for it as detailed as possible.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160588 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4591f9bc
    • joepeck@webkit.org's avatar
      [GTK] Remove Warnings in building about duplicate INSPECTOR variables · 8a19b3c8
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125710
      
      Reviewed by Tim Horton.
      
      * GNUmakefile.am:
      
      Source/JavaScriptCore:
      
      * GNUmakefile.am:
      
      Source/WebCore:
      
      * GNUmakefile.am:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160568 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8a19b3c8
    • joepeck@webkit.org's avatar
      Web Inspector: Add Inspector Code Generation to JavaScriptCore for Runtime Domain · 8be4912d
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125595
      
      Reviewed by Timothy Hatcher.
      
      * GNUmakefile.am:
      
      Source/JavaScriptCore:
      
        - Move CodeGeneration scripts from WebCore into JavaScriptCore/inspector/scripts
        - For ports that build WebKit frameworks separately, export the scripts as PrivateHeaders
        - Update CodeGeneratorInspector.py in a few ways:
          - output dynamic filenames, so JavaScriptCore generates InspectorJSFoo.* and WebCore generates InspectorWebFoo.*
          - take in more then one protocol JSON file. The first contains domains to generate, the others are dependencies
            that are generated elsewhere that we can depend on for Types.
        - Add DerivedSources build step to generate the Inspector Interfaces
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.vcxproj/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      Add scripts and code generation.
      
      * inspector/protocol/Runtime.json: Renamed from Source/WebCore/inspector/protocol/Runtime.json.
      Move protocol file into JavaScriptCore so its types will be generated in JavaScriptCore.
      
      * inspector/scripts/CodeGeneratorInspector.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspector.py.
      Updates to the script as listed above.
      
      * inspector/scripts/CodeGeneratorInspectorStrings.py: Renamed from Source/WebCore/inspector/CodeGeneratorInspectorStrings.py.
      * inspector/scripts/generate-combined-inspector-json.py: Renamed from Source/WebCore/inspector/Scripts/generate-combined-inspector-json.py.
      Moved from WebCore into JavaScriptCore for code generation.
      
      Source/WebCore:
      
        - CodeGeneration changed to output Frontend and Backend dispatchers
          in namespace Inspector. So update all the agent's appropriately.
        - Update Derived Sources code generation to use the Scripts that had
          moved to JavaScriptCore. Some ports just use JSC/inspector/scripts
          directly, but others have to use the Scripts exported by JSC
          in JavaScriptCore's PrivateHeaders.
        - Add ForwardingHeaders for the files generated in JavaScriptCore.
        - Update the names of Inspector DerivedSources files, since they
          were renamed to InspectorWeb*.
      
      No new tests, this only moves code around. There are no functional changes.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * ForwardingHeaders/inspector/InspectorJSBackendDispatchers.h: Added.
      * ForwardingHeaders/inspector/InspectorJSFrontendDispatchers.h: Added.
      * ForwardingHeaders/inspector/InspectorJSTypeBuilders.h: Added.
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.vcxproj/build-generated-files.sh:
      * WebCore.xcodeproj/project.pbxproj:
      Remove files, rename files, update code generation.
      
      * make-generated-sources.sh:
      Update this standalone developer script to fill in the new InspectorScripts variable.
      
      * inspector/ConsoleMessage.h:
      * inspector/InjectedScriptHost.cpp:
      * inspector/InspectorAgent.cpp:
      * inspector/InspectorAgent.h:
      * inspector/InspectorApplicationCacheAgent.cpp:
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorCSSAgent.h:
      * inspector/InspectorCanvasAgent.cpp:
      * inspector/InspectorCanvasAgent.h:
      * inspector/InspectorConsoleAgent.cpp:
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorController.cpp:
      * inspector/InspectorDOMAgent.cpp:
      * inspector/InspectorDOMAgent.h:
      * inspector/InspectorDOMDebuggerAgent.cpp:
      * inspector/InspectorDOMDebuggerAgent.h:
      * inspector/InspectorDOMStorageAgent.cpp:
      * inspector/InspectorDOMStorageAgent.h:
      * inspector/InspectorDatabaseAgent.cpp:
      * inspector/InspectorDatabaseAgent.h:
      * inspector/InspectorDatabaseResource.cpp:
      * inspector/InspectorDatabaseResource.h:
      * inspector/InspectorDebuggerAgent.cpp:
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorFrontendClientLocal.cpp:
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorIndexedDBAgent.cpp:
      * inspector/InspectorIndexedDBAgent.h:
      * inspector/InspectorInputAgent.h:
      * inspector/InspectorLayerTreeAgent.cpp:
      * inspector/InspectorLayerTreeAgent.h:
      * inspector/InspectorMemoryAgent.cpp:
      * inspector/InspectorMemoryAgent.h:
      * inspector/InspectorPageAgent.cpp:
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.cpp:
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.cpp:
      * inspector/InspectorResourceAgent.h:
      * inspector/InspectorRuntimeAgent.h:
      * inspector/InspectorTimelineAgent.cpp:
      * inspector/InspectorTimelineAgent.h:
      * inspector/InspectorWorkerAgent.cpp:
      * inspector/InspectorWorkerAgent.h:
      * inspector/PageRuntimeAgent.h:
      * inspector/ScriptCallFrame.cpp:
      * inspector/WorkerInspectorController.cpp:
      * inspector/WorkerRuntimeAgent.h:
      Updates header names and class namespace changes.
      
      Source/WebInspectorUI:
      
      * Scripts/copy-user-interface-resources.sh:
      Copy all the different backend commands files.
      
      * Scripts/update-InspectorBackendCommands.rb:
      Update with respect to new script location and new file names.
      
      * WebInspectorUI.xcodeproj/project.pbxproj:
      Remove Inputs and Outputs of build phase, which were wrong.
      Now this build phase always runs, and not by accident.
      
      * UserInterface/InspectorJSBackendCommands.js: Added.
      * UserInterface/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/InspectorBackendCommands.js.
      * UserInterface/Legacy/6.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/6.0/InspectorBackendCommands.js.
      * UserInterface/Legacy/7.0/InspectorWebBackendCommands.js: Renamed from Source/WebInspectorUI/UserInterface/Legacy/7.0/InspectorBackendCommands.js.
      * UserInterface/LoadInspectorBackendCommands.js:
      * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
      * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
      
      LayoutTests:
      
      * http/tests/inspector-protocol/resources/InspectorTest.js:
      (InspectorTest.importInspectorScripts):
      Update for the new backend commands files.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160557 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      8be4912d
  9. 11 Dec, 2013 1 commit
    • joepeck@webkit.org's avatar
      Web Inspector: Push More Inspector Required Classes Down into JavaScriptCore · a3198444
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=125324
      
      Reviewed by Timothy Hatcher.
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      * JavaScriptCore.vcxproj/JavaScriptCoreCommon.props:
      * JavaScriptCore.vcxproj/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * bindings/ScriptFunctionCall.cpp: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.cpp.
      * bindings/ScriptFunctionCall.h: Renamed from Source/WebCore/bindings/js/ScriptFunctionCall.h.
      * bindings/ScriptObject.cpp: Copied from Source/WebCore/inspector/WorkerConsoleAgent.cpp.
      * bindings/ScriptObject.h: Renamed from Source/WebCore/inspector/InspectorBaseAgent.h.
      * bindings/ScriptValue.cpp: Renamed from Source/WebCore/bindings/js/ScriptValue.cpp.
      * bindings/ScriptValue.h: Renamed from Source/WebCore/bindings/js/ScriptValue.h.
      * inspector/InspectorAgentBase.h: Copied from Source/WebCore/inspector/InspectorAgentRegistry.h.
      * inspector/InspectorAgentRegistry.cpp: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.cpp.
      * inspector/InspectorBackendDispatcher.h: Renamed from Source/WebCore/inspector/InspectorBackendDispatcher.h.
      (Inspector::InspectorSupplementalBackendDispatcher::InspectorSupplementalBackendDispatcher):
      (Inspector::InspectorSupplementalBackendDispatcher::~InspectorSupplementalBackendDispatcher):
      * inspector/InspectorValues.cpp: Renamed from Source/WebCore/inspector/InspectorValues.cpp.
      * inspector/InspectorValues.h: Renamed from Source/WebCore/inspector/InspectorValues.h.
      
      Source/WebCore:
      
      Part 1: Push down core inspector classes.
      
        - Move InspectAgentBase, InspectorAgentRegistry, InspectorBackendDispatcher, InspectorValues
          down to JavaScriptCore and into the Inspector namespace.
        - Add forwarding headers for JavaScriptCore/inspector files.
        - Use the Inspector namespace where appropriate.
        - Rename InspectorBaseAgent to InspectorAgentBase for clarity.
      
      Part 2: Push Script wrapper classes down into JavaScriptCore/bindings.
      
        - Move ScriptObject and ScriptValue into JavaScriptCore but namespace Deprecated
        - Add forwarding headers
        - Use Deprecated::ScriptObject and Deprecated::ScriptValue everywhere.
      
      Part 3: Push Down ScriptFunctionCall
      
        - Move ScriptFunctionCall to JavaScriptCore/bindings into namespace Deprecated.
        - Give constructor a function to all for a different JSC::call, because
          WebCore ScriptFunctionCall's use JSMainThreadExecState when isMainThread.
        - Prefer Deprecated::ScriptFunctionCall everywhere it is used in WebCore.
      
      Part 4: Extract InspectorTypeBuilder helper functions
      
        - There is a chunk of InspectorTypeBuilder that never changes. Extract it into
          its own file, InspectorTypeBuilder.h in JSC/inspector, Inspector namespace.
        - This moves TypeBuilder from namespace WebCore to namespace Inspector
        - Rename the WebCore generated InspectorTypeBuilder to InspectorWebTypeBuilders,
          eventually the CodeGenerator script will do this for more then TypeBuilders
          and there will be "JS" TypeBuilders and "Web" TypeBuilders files.
      
      No new tests. No change in functionality, just moving things around.
      
      * CMakeLists.txt:
      * ForwardingHeaders/bindings/ScriptFunctionCall.h: Added.
      * ForwardingHeaders/bindings/ScriptObject.h: Added.
      * ForwardingHeaders/bindings/ScriptValue.h: Added.
      * ForwardingHeaders/inspector/InspectorAgentBase.h: Added.
      * ForwardingHeaders/inspector/InspectorAgentRegistry.h: Added.
      * ForwardingHeaders/inspector/InspectorBackendDispatcher.h: Added.
      * ForwardingHeaders/inspector/InspectorTypeBuilder.h: Added.
      * ForwardingHeaders/inspector/InspectorValues.h: Added.
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * Modules/indexeddb/IDBAny.cpp:
      (WebCore::IDBAny::scriptValue):
      (WebCore::IDBAny::IDBAny):
      * Modules/indexeddb/IDBAny.h:
      * Modules/indexeddb/IDBCursor.cpp:
      (WebCore::IDBCursor::key):
      (WebCore::IDBCursor::primaryKey):
      (WebCore::IDBCursor::value):
      (WebCore::IDBCursor::update):
      (WebCore::IDBCursor::continueFunction):
      (WebCore::IDBCursor::setValueReady):
      * Modules/indexeddb/IDBCursor.h:
      * Modules/indexeddb/IDBFactory.cpp:
      (WebCore::IDBFactory::cmp):
      * Modules/indexeddb/IDBFactory.h:
      * Modules/indexeddb/IDBIndex.cpp:
      (WebCore::IDBIndex::openCursor):
      (WebCore::IDBIndex::count):
      (WebCore::IDBIndex::openKeyCursor):
      (WebCore::IDBIndex::get):
      (WebCore::IDBIndex::getKey):
      * Modules/indexeddb/IDBIndex.h:
      (WebCore::IDBIndex::openCursor):
      (WebCore::IDBIndex::openKeyCursor):
      * Modules/indexeddb/IDBKeyRange.cpp:
      (WebCore::IDBKeyRange::lowerValue):
      (WebCore::IDBKeyRange::upperValue):
      (WebCore::IDBKeyRange::only):
      (WebCore::IDBKeyRange::lowerBound):
      (WebCore::IDBKeyRange::upperBound):
      (WebCore::IDBKeyRange::bound):
      * Modules/indexeddb/IDBKeyRange.h:
      (WebCore::IDBKeyRange::lowerBound):
      (WebCore::IDBKeyRange::upperBound):
      (WebCore::IDBKeyRange::bound):
      * Modules/indexeddb/IDBObjectStore.cpp:
      (WebCore::IDBObjectStore::get):
      (WebCore::generateIndexKeysForValue):
      (WebCore::IDBObjectStore::add):
      (WebCore::IDBObjectStore::put):
      (WebCore::IDBObjectStore::deleteFunction):
      (WebCore::IDBObjectStore::openCursor):
      (WebCore::IDBObjectStore::count):
      * Modules/indexeddb/IDBObjectStore.h:
      * Modules/indexeddb/IDBRequest.cpp:
      (WebCore::IDBRequest::setResultCursor):
      (WebCore::IDBRequest::onSuccess):
      (WebCore::IDBRequest::onSuccessInternal):
      * Modules/indexeddb/IDBRequest.h:
      * Modules/mediastream/CapabilityRange.cpp:
      (WebCore::scriptValue):
      (WebCore::CapabilityRange::min):
      (WebCore::CapabilityRange::max):
      * Modules/mediastream/CapabilityRange.h:
      * Modules/mediastream/MediaTrackConstraint.h:
      * Modules/mediastream/RTCIceCandidate.cpp:
      * Modules/plugins/QuickTimePluginReplacement.cpp:
      * Modules/plugins/QuickTimePluginReplacement.h:
      * UseJSC.cmake:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      * bindings/js/Dictionary.h:
      (WebCore::Dictionary::getEventListener):
      * bindings/js/IDBBindingUtilities.cpp:
      (WebCore::createIDBKeyFromScriptValueAndKeyPath):
      (WebCore::injectIDBKeyIntoScriptValue):
      (WebCore::canInjectIDBKeyIntoScriptValue):
      (WebCore::deserializeIDBValue):
      (WebCore::deserializeIDBValueBuffer):
      (WebCore::idbKeyToScriptValue):
      (WebCore::scriptValueToIDBKey):
      * bindings/js/IDBBindingUtilities.h:
      * bindings/js/JSBindingsAllInOne.cpp:
      * bindings/js/JSDictionary.cpp:
      (WebCore::JSDictionary::convertValue):
      * bindings/js/JSDictionary.h:
      * bindings/js/JSHTMLCanvasElementCustom.cpp:
      (WebCore::JSHTMLCanvasElement::getContext):
      * bindings/js/JSInjectedScriptHostCustom.cpp:
      (WebCore::InjectedScriptHost::scriptValueAsNode):
      (WebCore::InjectedScriptHost::nodeAsScriptValue):
      (WebCore::JSInjectedScriptHost::inspectedObject):
      (WebCore::JSInjectedScriptHost::inspect):
      * bindings/js/JSInjectedScriptManager.cpp:
      (WebCore::InjectedScriptManager::createInjectedScript):
      * bindings/js/JSMainThreadExecState.cpp:
      (WebCore::functionCallHandlerFromAnyThread):
      * bindings/js/JSMainThreadExecState.h:
      (WebCore::JSMainThreadExecState::currentState):
      * bindings/js/JSMessageEventCustom.cpp:
      (WebCore::JSMessageEvent::data):
      (WebCore::handleInitMessageEvent):
      * bindings/js/ScheduledAction.cpp:
      * bindings/js/ScriptCallStackFactory.cpp:
      (WebCore::createScriptArguments):
      * bindings/js/ScriptController.cpp:
      (WebCore::ScriptController::evaluateInWorld):
      (WebCore::ScriptController::evaluate):
      (WebCore::ScriptController::executeScriptInWorld):
      (WebCore::ScriptController::executeScript):
      (WebCore::ScriptController::executeIfJavaScriptURL):
      * bindings/js/ScriptController.h:
      * bindings/js/ScriptDebugServer.cpp:
      (WebCore::ScriptDebugServer::setScriptSource):
      (WebCore::ScriptDebugServer::updateCallStack):
      (WebCore::ScriptDebugServer::dispatchDidPause):
      (WebCore::ScriptDebugServer::runScript):
      * bindings/js/ScriptDebugServer.h:
      * bindings/js/ScriptGlobalObject.cpp: Renamed from Source/WebCore/bindings/js/ScriptObject.cpp.
      (WebCore::handleException):
      (WebCore::ScriptGlobalObject::set):
      (WebCore::ScriptGlobalObject::get):
      (WebCore::ScriptGlobalObject::remove):
      * bindings/js/ScriptGlobalObject.h: Copied from Source/WebCore/inspector/ScriptCallStack.h.
      (WebCore::ScriptGlobalObject::ScriptGlobalObject):
      * bindings/js/ScriptObject.h: Removed.
      * bindings/js/ScriptProfile.cpp:
      (WebCore::buildInspectorObjectFor):
      (WebCore::ScriptProfile::buildInspectorObjectForHead):
      (WebCore::ScriptProfile::buildInspectorObjectForBottomUpHead):
      * bindings/js/ScriptProfile.h:
      * bindings/js/ScriptProfiler.cpp:
      (WebCore::ScriptProfiler::objectByHeapObjectId):
      (WebCore::ScriptProfiler::getHeapObjectId):
      * bindings/js/ScriptProfiler.h:
      * bindings/js/ScriptState.h:
      * bindings/js/SerializedScriptValue.cpp:
      (WebCore::SerializedScriptValue::deserializeForInspector):
      (WebCore::SerializedScriptValue::serialize):
      (WebCore::SerializedScriptValue::deserialize):
      * bindings/js/SerializedScriptValue.h:
      * bindings/js/WorkerScriptController.cpp:
      (WebCore::WorkerScriptController::evaluate):
      (WebCore::WorkerScriptController::setException):
      * bindings/js/WorkerScriptController.h:
      * bindings/scripts/CodeGeneratorJS.pm:
      * bindings/scripts/test/JS/JSTestObj.cpp:
      (WebCore::setJSTestObjAnyAttribute):
      * dom/CustomEvent.cpp:
      (WebCore::CustomEvent::initCustomEvent):
      * dom/CustomEvent.h:
      (WebCore::CustomEvent::detail):
      * dom/MessageEvent.cpp:
      (WebCore::MessageEvent::MessageEvent):
      (WebCore::MessageEvent::initMessageEvent):
      * dom/MessageEvent.h:
      (WebCore::MessageEvent::create):
      (WebCore::MessageEvent::dataAsScriptValue):
      * dom/PopStateEvent.h:
      (WebCore::PopStateEvent::state):
      * dom/ScriptElement.cpp:
      * html/HTMLMediaElement.cpp:
      * html/parser/XSSAuditor.cpp:
      * html/parser/XSSAuditorDelegate.cpp:
      * inspector/CodeGeneratorInspector.py:
      (RawTypes.BaseType.get_raw_validator_call_text):
      (RawTypes.Object.get_array_item_raw_c_type_text):
      (RawTypes.Any.get_array_item_raw_c_type_text):
      (RawTypes.Array.get_array_item_raw_c_type_text):
      (CommandReturnPassModel.OptOutput.get_return_var_type):
      (CommandReturnPassModel.OptOutput.get_output_parameter_type):
      (TypeModel.ExactlyInt.get_input_param_type_text):
      (TypeModel.ExactlyInt.get_opt_output_type_):
      (TypeModel.init_class):
      (TypeBindings.create_named_type_declaration.Helper):
      (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
      (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
      (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
      (Inspector):
      (ArrayBinding.get_array_item_c_type_text):
      (Generator.go):
      (Generator.process_command):
      * inspector/CodeGeneratorInspectorStrings.py:
      (void):
      (InspectorFrontend_h):
      (InspectorBackendDispatchers_h):
      * inspector/ConsoleMessage.cpp:
      (WebCore::messageSourceValue):
      (WebCore::messageTypeValue):
      (WebCore::messageLevelValue):
      (WebCore::ConsoleMessage::addToFrontend):
      * inspector/ConsoleMessage.h:
      * inspector/ContentSearchUtils.cpp:
      (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
      (WebCore::ContentSearchUtils::searchInTextByLines):
      * inspector/ContentSearchUtils.h:
      * inspector/InjectedScript.cpp:
      (WebCore::InjectedScript::InjectedScript):
      (WebCore::InjectedScript::evaluate):
      (WebCore::InjectedScript::callFunctionOn):
      (WebCore::InjectedScript::evaluateOnCallFrame):
      (WebCore::InjectedScript::getFunctionDetails):
      (WebCore::InjectedScript::getProperties):
      (WebCore::InjectedScript::getInternalProperties):
      (WebCore::InjectedScript::nodeForObjectId):
      (WebCore::InjectedScript::releaseObject):
      (WebCore::InjectedScript::wrapCallFrames):
      (WebCore::InjectedScript::wrapObject):
      (WebCore::InjectedScript::wrapTable):
      (WebCore::InjectedScript::wrapNode):
      (WebCore::InjectedScript::findObjectById):
      (WebCore::InjectedScript::inspectNode):
      (WebCore::InjectedScript::releaseObjectGroup):
      (WebCore::InjectedScript::nodeAsScriptValue):
      * inspector/InjectedScript.h:
      * inspector/InjectedScriptBase.cpp:
      (WebCore::InjectedScriptBase::InjectedScriptBase):
      (WebCore::InjectedScriptBase::initialize):
      (WebCore::InjectedScriptBase::injectedScriptObject):
      (WebCore::InjectedScriptBase::callFunctionWithEvalEnabled):
      (WebCore::InjectedScriptBase::makeCall):
      (WebCore::InjectedScriptBase::makeEvalCall):
      * inspector/InjectedScriptBase.h:
      * inspector/InjectedScriptCanvasModule.cpp:
      (WebCore::InjectedScriptCanvasModule::wrapCanvas2DContext):
      (WebCore::InjectedScriptCanvasModule::wrapWebGLContext):
      (WebCore::InjectedScriptCanvasModule::callWrapContextFunction):
      (WebCore::InjectedScriptCanvasModule::markFrameEnd):
      (WebCore::InjectedScriptCanvasModule::callStartCapturingFunction):
      (WebCore::InjectedScriptCanvasModule::callVoidFunctionWithTraceLogIdArgument):
      (WebCore::InjectedScriptCanvasModule::traceLog):
      (WebCore::InjectedScriptCanvasModule::replayTraceLog):
      (WebCore::InjectedScriptCanvasModule::resourceInfo):
      (WebCore::InjectedScriptCanvasModule::resourceState):
      * inspector/InjectedScriptCanvasModule.h:
      * inspector/InjectedScriptHost.cpp:
      (WebCore::InjectedScriptHost::inspectImpl):
      (WebCore::InjectedScriptHost::InspectableObject::get):
      * inspector/InjectedScriptHost.h:
      * inspector/InjectedScriptManager.cpp:
      (WebCore::InjectedScriptManager::injectedScriptFor):
      * inspector/InjectedScriptManager.h:
      * inspector/InjectedScriptModule.cpp:
      (WebCore::InjectedScriptModule::ensureInjected):
      * inspector/InspectorAgent.cpp:
      (WebCore::InspectorAgent::InspectorAgent):
      (WebCore::InspectorAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorAgent::inspect):
      * inspector/InspectorAgent.h:
      * inspector/InspectorAllInOne.cpp:
      * inspector/InspectorApplicationCacheAgent.cpp:
      (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
      (WebCore::InspectorApplicationCacheAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
      (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
      (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
      (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
      (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
      * inspector/InspectorApplicationCacheAgent.h:
      * inspector/InspectorCSSAgent.cpp:
      (WebCore::SelectorProfile::toInspectorObject):
      (WebCore::InspectorCSSAgent::InspectorCSSAgent):
      (WebCore::InspectorCSSAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
      (WebCore::InspectorCSSAgent::getInlineStylesForNode):
      (WebCore::InspectorCSSAgent::getComputedStyleForNode):
      (WebCore::InspectorCSSAgent::getAllStyleSheets):
      (WebCore::InspectorCSSAgent::getStyleSheet):
      (WebCore::InspectorCSSAgent::setStyleText):
      (WebCore::InspectorCSSAgent::setPropertyText):
      (WebCore::InspectorCSSAgent::toggleProperty):
      (WebCore::InspectorCSSAgent::setRuleSelector):
      (WebCore::InspectorCSSAgent::addRule):
      (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
      (WebCore::InspectorCSSAgent::getNamedFlowCollection):
      (WebCore::InspectorCSSAgent::stopSelectorProfiler):
      (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
      (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
      (WebCore::InspectorCSSAgent::collectStyleSheets):
      (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
      (WebCore::InspectorCSSAgent::detectOrigin):
      (WebCore::InspectorCSSAgent::buildObjectForRule):
      (WebCore::InspectorCSSAgent::buildArrayForRuleList):
      (WebCore::InspectorCSSAgent::buildArrayForMatchedRuleList):
      (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
      (WebCore::InspectorCSSAgent::buildArrayForRegions):
      (WebCore::InspectorCSSAgent::buildObjectForNamedFlow):
      * inspector/InspectorCSSAgent.h:
      * inspector/InspectorCanvasAgent.cpp:
      (WebCore::InspectorCanvasAgent::InspectorCanvasAgent):
      (WebCore::InspectorCanvasAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorCanvasAgent::wrapCanvas2DRenderingContextForInstrumentation):
      (WebCore::InspectorCanvasAgent::wrapWebGLRenderingContextForInstrumentation):
      (WebCore::InspectorCanvasAgent::notifyRenderingContextWasWrapped):
      (WebCore::InspectorCanvasAgent::injectedScriptCanvasModule):
      * inspector/InspectorCanvasAgent.h:
      * inspector/InspectorCanvasInstrumentation.h:
      (WebCore::InspectorInstrumentation::wrapCanvas2DRenderingContextForInstrumentation):
      (WebCore::InspectorInstrumentation::wrapWebGLRenderingContextForInstrumentation):
      * inspector/InspectorClient.cpp:
      * inspector/InspectorClient.h:
      * inspector/InspectorConsoleAgent.cpp:
      (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
      (WebCore::InspectorConsoleAgent::didCreateFrontendAndBackend):
      (WebCore::InspectableHeapObject::get):
      * inspector/InspectorConsoleAgent.h:
      * inspector/InspectorController.cpp:
      * inspector/InspectorController.h:
      * inspector/InspectorDOMAgent.cpp:
      (WebCore::InspectorDOMAgent::InspectorDOMAgent):
      (WebCore::InspectorDOMAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorDOMAgent::getDocument):
      (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
      (WebCore::InspectorDOMAgent::querySelectorAll):
      (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
      (WebCore::InspectorDOMAgent::getEventListenersForNode):
      (WebCore::InspectorDOMAgent::getSearchResults):
      (WebCore::InspectorDOMAgent::resolveNode):
      (WebCore::InspectorDOMAgent::getAttributes):
      (WebCore::InspectorDOMAgent::buildObjectForNode):
      (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
      (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
      (WebCore::InspectorDOMAgent::buildObjectForEventListener):
      (WebCore::InspectorDOMAgent::didCommitLoad):
      (WebCore::InspectorDOMAgent::didInsertDOMNode):
      (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
      * inspector/InspectorDOMAgent.h:
      * inspector/InspectorDOMDebuggerAgent.cpp:
      (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
      (WebCore::InspectorDOMDebuggerAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
      * inspector/InspectorDOMDebuggerAgent.h:
      * inspector/InspectorDOMStorageAgent.cpp:
      (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
      (WebCore::InspectorDOMStorageAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
      (WebCore::InspectorDOMStorageAgent::storageId):
      (WebCore::InspectorDOMStorageAgent::didDispatchDOMStorageEvent):
      * inspector/InspectorDOMStorageAgent.h:
      * inspector/InspectorDatabaseAgent.cpp:
      (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
      (WebCore::InspectorDatabaseAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
      * inspector/InspectorDatabaseAgent.h:
      * inspector/InspectorDatabaseResource.cpp:
      (WebCore::InspectorDatabaseResource::bind):
      * inspector/InspectorDebuggerAgent.cpp:
      (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
      (WebCore::InspectorDebuggerAgent::didCreateFrontendAndBackend):
      (WebCore::breakpointActionTypeForString):
      (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
      (WebCore::InspectorDebuggerAgent::setBreakpoint):
      (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
      (WebCore::scriptToInspectorObject):
      (WebCore::InspectorDebuggerAgent::searchInContent):
      (WebCore::InspectorDebuggerAgent::setScriptSource):
      (WebCore::InspectorDebuggerAgent::getFunctionDetails):
      (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
      (WebCore::InspectorDebuggerAgent::compileScript):
      (WebCore::InspectorDebuggerAgent::runScript):
      (WebCore::InspectorDebuggerAgent::currentCallFrames):
      (WebCore::InspectorDebuggerAgent::didParseSource):
      (WebCore::InspectorDebuggerAgent::didPause):
      (WebCore::InspectorDebuggerAgent::didContinue):
      (WebCore::InspectorDebuggerAgent::clear):
      * inspector/InspectorDebuggerAgent.h:
      * inspector/InspectorForwarding.h:
      * inspector/InspectorFrontendClientLocal.cpp:
      (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
      * inspector/InspectorFrontendHost.cpp:
      (WebCore::FrontendMenuProvider::create):
      (WebCore::FrontendMenuProvider::disconnect):
      (WebCore::FrontendMenuProvider::FrontendMenuProvider):
      (WebCore::FrontendMenuProvider::contextMenuItemSelected):
      (WebCore::FrontendMenuProvider::contextMenuCleared):
      (WebCore::InspectorFrontendHost::showContextMenu):
      * inspector/InspectorHeapProfilerAgent.cpp:
      (WebCore::InspectorHeapProfilerAgent::InspectorHeapProfilerAgent):
      (WebCore::InspectorHeapProfilerAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorHeapProfilerAgent::createSnapshotHeader):
      (WebCore::InspectorHeapProfilerAgent::getProfileHeaders):
      (WebCore::InspectorHeapProfilerAgent::getObjectByHeapObjectId):
      (WebCore::InspectorHeapProfilerAgent::getHeapObjectId):
      * inspector/InspectorHeapProfilerAgent.h:
      * inspector/InspectorIndexedDBAgent.cpp:
      (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
      (WebCore::InspectorIndexedDBAgent::didCreateFrontendAndBackend):
      * inspector/InspectorIndexedDBAgent.h:
      * inspector/InspectorInputAgent.cpp:
      (WebCore::InspectorInputAgent::InspectorInputAgent):
      (WebCore::InspectorInputAgent::didCreateFrontendAndBackend):
      * inspector/InspectorInputAgent.h:
      * inspector/InspectorInstrumentation.cpp:
      * inspector/InspectorInstrumentation.h:
      * inspector/InspectorLayerTreeAgent.cpp:
      (WebCore::InspectorLayerTreeAgent::InspectorLayerTreeAgent):
      (WebCore::InspectorLayerTreeAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorLayerTreeAgent::layersForNode):
      (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy):
      (WebCore::InspectorLayerTreeAgent::gatherLayersUsingRenderLayerHierarchy):
      (WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
      (WebCore::InspectorLayerTreeAgent::buildObjectForIntRect):
      (WebCore::InspectorLayerTreeAgent::reasonsForCompositingLayer):
      * inspector/InspectorLayerTreeAgent.h:
      * inspector/InspectorMemoryAgent.cpp:
      (WebCore::InspectorMemoryAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
      * inspector/InspectorMemoryAgent.h:
      * inspector/InspectorOverlay.cpp:
      * inspector/InspectorOverlay.h:
      * inspector/InspectorPageAgent.cpp:
      (WebCore::InspectorPageAgent::resourceTypeJson):
      (WebCore::InspectorPageAgent::cachedResourceTypeJson):
      (WebCore::InspectorPageAgent::InspectorPageAgent):
      (WebCore::InspectorPageAgent::didCreateFrontendAndBackend):
      (WebCore::buildObjectForCookie):
      (WebCore::buildArrayForCookies):
      (WebCore::InspectorPageAgent::getCookies):
      (WebCore::InspectorPageAgent::getResourceTree):
      (WebCore::InspectorPageAgent::searchInResource):
      (WebCore::buildObjectForSearchResult):
      (WebCore::InspectorPageAgent::searchInResources):
      (WebCore::InspectorPageAgent::buildObjectForFrame):
      (WebCore::InspectorPageAgent::buildObjectForFrameTree):
      * inspector/InspectorPageAgent.h:
      * inspector/InspectorProfilerAgent.cpp:
      (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
      (WebCore::InspectorProfilerAgent::createProfileHeader):
      (WebCore::InspectorProfilerAgent::createSnapshotHeader):
      (WebCore::InspectorProfilerAgent::getProfileHeaders):
      (WebCore::InspectorProfilerAgent::getCPUProfile):
      (WebCore::InspectorProfilerAgent::didCreateFrontendAndBackend):
      (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
      (WebCore::InspectorProfilerAgent::getHeapObjectId):
      * inspector/InspectorProfilerAgent.h:
      * inspector/InspectorResourceAgent.cpp:
      (WebCore::InspectorResourceAgent::didCreateFrontendAndBackend):
      (WebCore::buildObjectForTiming):
      (WebCore::buildObjectForResourceRequest):
      (WebCore::buildObjectForResourceResponse):
      (WebCore::buildObjectForCachedResource):
      (WebCore::InspectorResourceAgent::willSendRequest):
      (WebCore::InspectorResourceAgent::didReceiveResponse):
      (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
      (WebCore::InspectorResourceAgent::buildInitiatorObject):
      (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
      (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
      (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
      (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
      (WebCore::InspectorResourceAgent::InspectorResourceAgent):
      * inspector/InspectorResourceAgent.h:
      * inspector/InspectorRuntimeAgent.cpp:
      (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
      (WebCore::buildErrorRangeObject):
      (WebCore::InspectorRuntimeAgent::parse):
      (WebCore::InspectorRuntimeAgent::evaluate):
      (WebCore::InspectorRuntimeAgent::callFunctionOn):
      (WebCore::InspectorRuntimeAgent::getProperties):
      * inspector/InspectorRuntimeAgent.h:
      * inspector/InspectorStyleSheet.cpp:
      (WebCore::buildSourceRangeObject):
      (WebCore::buildMediaObject):
      (WebCore::fillMediaListChain):
      (WebCore::InspectorStyle::buildObjectForStyle):
      (WebCore::InspectorStyle::buildArrayForComputedStyle):
      (WebCore::InspectorStyle::styleWithProperties):
      (WebCore::InspectorStyleSheet::create):
      (WebCore::InspectorStyleSheet::InspectorStyleSheet):
      (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
      (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
      (WebCore::selectorsFromSource):
      (WebCore::InspectorStyleSheet::buildObjectForSelectorList):
      (WebCore::InspectorStyleSheet::buildObjectForRule):
      (WebCore::InspectorStyleSheet::buildObjectForStyle):
      (WebCore::InspectorStyleSheet::resourceStyleSheetText):
      (WebCore::InspectorStyleSheet::buildArrayForRuleList):
      (WebCore::InspectorStyleSheetForInlineStyle::create):
      (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
      * inspector/InspectorStyleSheet.h:
      (WebCore::InspectorCSSId::InspectorCSSId):
      (WebCore::InspectorStyleSheet::canBind):
      * inspector/InspectorStyleTextEditor.cpp:
      * inspector/InspectorTimelineAgent.cpp:
      (WebCore::InspectorTimelineAgent::didCreateFrontendAndBackend):
      (WebCore::toProtocol):
      (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
      (WebCore::InspectorTimelineAgent::setDOMCounters):
      (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
      (WebCore::InspectorTimelineAgent::sendEvent):
      * inspector/InspectorTimelineAgent.h:
      (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
      * inspector/InspectorWebAgentBase.h: Renamed from Source/WebCore/inspector/InspectorAgentRegistry.h.
      (WebCore::InspectorAgentBase::InspectorAgentBase):
      * inspector/InspectorWorkerAgent.cpp:
      (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
      (WebCore::InspectorWorkerAgent::didCreateFrontendAndBackend):
      * inspector/InspectorWorkerAgent.h:
      * inspector/InstrumentingAgents.cpp:
      * inspector/NetworkResourcesData.cpp:
      * inspector/PageConsoleAgent.cpp:
      (WebCore::InspectableNode::get):
      * inspector/PageDebuggerAgent.cpp:
      * inspector/PageDebuggerAgent.h:
      * inspector/PageRuntimeAgent.cpp:
      (WebCore::PageRuntimeAgent::didCreateFrontendAndBackend):
      * inspector/PageRuntimeAgent.h:
      * inspector/ScriptArguments.cpp:
      (WebCore::ScriptArguments::create):
      (WebCore::ScriptArguments::ScriptArguments):
      (WebCore::ScriptArguments::argumentAt):
      (WebCore::ScriptArguments::getFirstArgumentAsString):
      * inspector/ScriptArguments.h:
      * inspector/ScriptCallFrame.cpp:
      (WebCore::ScriptCallFrame::buildInspectorObject):
      * inspector/ScriptCallFrame.h:
      * inspector/ScriptCallStack.cpp:
      (WebCore::ScriptCallStack::buildInspectorArray):
      * inspector/ScriptCallStack.h:
      * inspector/ScriptDebugListener.h:
      * inspector/TimelineRecordFactory.cpp:
      * inspector/TimelineRecordFactory.h:
      (WebCore::TimelineRecordFactory::createWebSocketCreateData):
      (WebCore::TimelineRecordFactory::createGenericWebSocketData):
      * inspector/WorkerConsoleAgent.cpp:
      * inspector/WorkerDebuggerAgent.cpp:
      * inspector/WorkerInspectorController.cpp:
      * inspector/WorkerInspectorController.h:
      * inspector/WorkerRuntimeAgent.cpp:
      (WebCore::WorkerRuntimeAgent::didCreateFrontendAndBackend):
      * inspector/WorkerRuntimeAgent.h:
      * page/Console.cpp:
      * page/ContentSecurityPolicy.cpp:
      * page/Frame.cpp:
      * page/PageConsole.cpp:
      * plugins/PluginView.cpp:
      (WebCore::PluginView::performRequest):
      * testing/Internals.cpp:
      (WebCore::Internals::parserMetaData):
      * testing/Internals.h:
      * workers/SharedWorkerGlobalScope.cpp:
      (WebCore::createConnectEvent):
      * workers/WorkerGlobalScope.cpp:
      (WebCore::WorkerGlobalScope::importScripts):
      * workers/WorkerThread.cpp:
      * xml/XMLTreeViewer.cpp:
      * xml/parser/XMLDocumentParser.cpp:
      * xml/parser/XMLDocumentParserLibxml2.cpp:
      
      Source/WebKit:
      
      * WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
      
      Source/WebKit/blackberry:
      
      * Api/WebPage.cpp:
      
      Source/WebKit/efl:
      
      * WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
      * ewk/ewk_frame.cpp:
      
      Source/WebKit/gtk:
      
      * webkit/webkitwebview.cpp:
      
      Source/WebKit/mac:
      
      * Plugins/Hosted/NetscapePluginInstanceProxy.mm:
      * WebCoreSupport/WebInspectorClient.mm:
      * WebView/WebFrame.mm:
      * WebView/WebView.mm:
      
      Source/WebKit/win:
      
      * WebFrame.cpp:
      * WebView.cpp:
      
      Source/WebKit2:
      
      * WebProcess/Plugins/PluginView.cpp:
      (WebKit::PluginView::performJavaScriptURLRequest):
      * WebProcess/WebPage/WebInspector.cpp:
      * WebProcess/WebPage/WebInspector.h:
      * WebProcess/WebPage/WebPage.cpp:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160457 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a3198444
  10. 04 Dec, 2013 1 commit
    • joepeck@webkit.org's avatar
      Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore · d2ecf37f
      joepeck@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=124613
      
      Reviewed by Timothy Hatcher.
      
      Source/JavaScriptCore:
      
      Move the ENABLE(REMOTE_INSPECTOR) remote debugger connection management
      into JavaScriptCore (originally from WebKit/mac). Include enhancements:
      
        * allow for different types of remote debuggable targets,
          eventually at least a JSContext, WebView, WKView.
        * allow debuggables to be registered and debugged on any thread. Unlike
          WebViews, JSContexts may be run entirely off of the main thread.
        * move the remote connection (XPC connection) itself off of the main thread,
          it doesn't need to be on the main thread.
      
      Make JSContext @class and JavaScriptCore::JSContextRef
      "JavaScript" Remote Debuggables.
      
      * inspector/remote/RemoteInspectorDebuggable.h: Added.
      * inspector/remote/RemoteInspectorDebuggable.cpp: Added.
      (Inspector::RemoteInspectorDebuggable::RemoteInspectorDebuggable):
      (Inspector::RemoteInspectorDebuggable::~RemoteInspectorDebuggable):
      (Inspector::RemoteInspectorDebuggable::init):
      (Inspector::RemoteInspectorDebuggable::update):
      (Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
      (Inspector::RemoteInspectorDebuggable::info):
      RemoteInspectorDebuggable defines a debuggable target. As long as
      something creates a debuggable and is set to allow remote inspection
      it will be listed in remote debuggers. For the different types of
      debuggables (JavaScript and Web) there is different basic information
      that may be listed.
      
      * inspector/InspectorFrontendChannel.h: Added.
      (Inspector::InspectorFrontendChannel::~InspectorFrontendChannel):
      The only thing a debuggable needs for remote debugging is an
      InspectorFrontendChannel a way to send messages to a remote frontend.
      This class provides that method, and is vended to the
      RemoteInspectorDebuggable when a remote connection is setup.
      
      * inspector/remote/RemoteInspector.h: Added.
      * inspector/remote/RemoteInspector.mm: Added.
      Singleton, created at least when the first Debuggable is created.
      This class manages the list of debuggables, any connection to a
      remote debugger proxy (XPC service "com.apple.webinspector").
      
      (Inspector::dispatchAsyncOnQueueSafeForAnyDebuggable):
      (Inspector::RemoteInspector::shared):
      (Inspector::RemoteInspector::RemoteInspector):
      (Inspector::RemoteInspector::nextAvailableIdentifier):
      (Inspector::RemoteInspector::registerDebuggable):
      (Inspector::RemoteInspector::unregisterDebuggable):
      (Inspector::RemoteInspector::updateDebuggable):
      Debuggable management. When debuggables are added, removed, or updated
      we stash a copy of the debuggable information and push an update to
      debuggers. Stashing a copy of the information in the RemoteInspector
      is a thread safe way to avoid walking over all debuggables to gather
      the information when it is needed.
      
      (Inspector::RemoteInspector::start):
      (Inspector::RemoteInspector::stop):
      Runtime API to enable / disable the feature.
      
      (Inspector::RemoteInspector::listingForDebuggable):
      (Inspector::RemoteInspector::pushListingNow):
      (Inspector::RemoteInspector::pushListingSoon):
      Pushing a listing to remote debuggers.
      
      (Inspector::RemoteInspector::sendMessageToRemoteFrontend):
      (Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
      (Inspector::RemoteInspector::xpcConnectionReceivedMessage):
      (Inspector::RemoteInspector::xpcConnectionFailed):
      (Inspector::RemoteInspector::xpcConnectionUnhandledMessage):
      XPC setup, send, and receive handling.
      
      (Inspector::RemoteInspector::updateHasActiveDebugSession):
      Applications being debugged may want to know when a debug
      session is active. This provides that notification.
      
      (Inspector::RemoteInspector::receivedSetupMessage):
      (Inspector::RemoteInspector::receivedDataMessage):
      (Inspector::RemoteInspector::receivedDidCloseMessage):
      (Inspector::RemoteInspector::receivedGetListingMessage):
      (Inspector::RemoteInspector::receivedIndicateMessage):
      (Inspector::RemoteInspector::receivedConnectionDiedMessage):
      Dispatching incoming remote debugging protocol messages.
      These are wrapping above the inspector protocol messages.
      
      * inspector/remote/RemoteInspectorConstants.h: Added.
      Protocol messages and dictionary keys inside the messages.
      
      (Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
      * inspector/remote/RemoteInspectorDebuggableConnection.h: Added.
      * inspector/remote/RemoteInspectorDebuggableConnection.mm: Added.
      This is a connection between the RemoteInspector singleton and a RemoteInspectorDebuggable.
      
      (Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
      (Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
      Allow for dispatching messages on JavaScript debuggables on a dispatch_queue
      instead of the main queue.
      
      (Inspector::RemoteInspectorDebuggableConnection::destination):
      (Inspector::RemoteInspectorDebuggableConnection::connectionIdentifier):
      Needed in the remote debugging protocol to identify the remote debugger.
      
      (Inspector::RemoteInspectorDebuggableConnection::dispatchSyncOnDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::setup):
      (Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
      (Inspector::RemoteInspectorDebuggableConnection::close):
      (Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
      (Inspector::RemoteInspectorDebuggableConnection::sendMessageToFrontend):
      The connection is a thin channel between the two sides that can be closed
      from either side, so there is some logic around multi-threaded access.
      
      * inspector/remote/RemoteInspectorXPCConnection.h: Added.
      (Inspector::RemoteInspectorXPCConnection::Client::~Client):
      * inspector/remote/RemoteInspectorXPCConnection.mm: Added.
      (Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
      (Inspector::RemoteInspectorXPCConnection::~RemoteInspectorXPCConnection):
      (Inspector::RemoteInspectorXPCConnection::close):
      (Inspector::RemoteInspectorXPCConnection::deserializeMessage):
      (Inspector::RemoteInspectorXPCConnection::handleEvent):
      (Inspector::RemoteInspectorXPCConnection::sendMessage):
      This is a connection between the RemoteInspector singleton and an XPC service
      named "com.apple.webinspector". This handles serialization of the dictionary
      messages to and from the service. The receiving is done on a non-main queue.
      
      * API/JSContext.h:
      * API/JSContext.mm:
      (-[JSContext name]):
      (-[JSContext setName:]):
      ObjC API to enable/disable JSContext remote inspection and give a name.
      
      * API/JSContextRef.h:
      * API/JSContextRef.cpp:
      (JSGlobalContextGetName):
      (JSGlobalContextSetName):
      C API to give a JSContext a name.
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::setName):
      * runtime/JSGlobalObject.h:
      (JSC::JSGlobalObject::name):
      Shared handling of the APIs above.
      
      * runtime/JSGlobalObjectDebuggable.cpp: Added.
      (JSC::JSGlobalObjectDebuggable::JSGlobalObjectDebuggable):
      (JSC::JSGlobalObjectDebuggable::name):
      (JSC::JSGlobalObjectDebuggable::connect):
      (JSC::JSGlobalObjectDebuggable::disconnect):
      (JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):
      * runtime/JSGlobalObjectDebuggable.h: Added.
      Stub for the actual remote debugging implementation. We will push
      down the appropriate WebCore/inspector peices suitable for debugging
      just a JavaScript context.
      
      * CMakeLists.txt:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
      * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
      Update build files.
      
      Source/WebCore:
      
      Make a WebCore::Page a "Web" Remote Debuggable.
      
      * bindings/js/JSDOMGlobalObject.cpp:
      Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.
      
      * page/Page.cpp:
      (WebCore::Page::Page):
      (WebCore::Page::remoteInspectionAllowed):
      (WebCore::Page::setRemoteInspectionAllowed):
      (WebCore::Page::remoteInspectorInformationDidChange):
      * page/Page.h:
      * page/PageDebuggable.h:
      * page/PageDebuggable.cpp: Added.
      (WebCore::PageDebuggable::PageDebuggable):
      (WebCore::PageDebuggable::name):
      (WebCore::PageDebuggable::url):
      (WebCore::PageDebuggable::hasLocalDebugger):
      (WebCore::PageDebuggable::connect):
      (WebCore::PageDebuggable::disconnect):
      (WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
      (WebCore::PageDebuggable::setIndicating):
      Make a page a "Web" debuggable.
      
      * GNUmakefile.list.am:
      * WebCore.exp.in:
      * WebCore.vcxproj/WebCore.vcxproj:
      * WebCore.vcxproj/WebCore.vcxproj.filters:
      * WebCore.xcodeproj/project.pbxproj:
      Misc.
      
      * inspector/InspectorClient.h:
      (WebCore::InspectorClient::indicate):
      (WebCore::InspectorClient::hideIndicate):
      Forward indicate methods to WebKit clients.
      
      * loader/FrameLoader.cpp:
      (WebCore::FrameLoader::didChangeTitle):
      (WebCore::FrameLoader::dispatchDidCommitLoad):
      Push updates when remote debuggable information like the Page's
      URL or title change.
      
      * ForwardingHeaders/inspector/InspectorFrontendChannel.h:
      * inspector/InspectorForwarding.h:
      Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
      to avoid needlessly updating code all over the place.
      
      * inspector/CodeGeneratorInspectorStrings.py:
      * inspector/InspectorWorkerAgent.cpp:
      * inspector/WorkerInspectorController.cpp:
      * testing/Internals.cpp:
      Update include names.
      
      * page/ContextMenuController.cpp:
      (WebCore::ContextMenuController::populate):
      Make the "Inspect Element" context menu work correctly when there is a
      remote inspector instead of a local inspector.
      
      Source/WebKit:
      
      * WebKit.xcodeproj/project.pbxproj:
      
      Source/WebKit/blackberry:
      
      * WebCoreSupport/InspectorClientBlackBerry.h:
      
      Source/WebKit/cf:
      
      * WebCoreSupport/WebInspectorClientCF.cpp:
      (WebInspectorClient::sendMessageToFrontend):
      
      Source/WebKit/efl:
      
      * WebCoreSupport/InspectorClientEfl.h:
      
      Source/WebKit/gtk:
      
      * WebCoreSupport/InspectorClientGtk.h:
      
      Source/WebKit/ios:
      
      * WebCoreSupport/WebInspectorClientIOS.mm:
      (WebInspectorClient::WebInspectorClient):
      (WebInspectorClient::inspectorDestroyed):
      
      Source/WebKit/mac:
      
      Remove the old ENABLE(REMOTE_INSPECTOR) connection management implementation.
      
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorClient::indicate):
      (WebInspectorClient::hideIndicate):
      Hook up WebView indication through this new path.
      
      * WebCoreSupport/WebFrameLoaderClient.mm:
      (WebFrameLoaderClient::dispatchDidReceiveTitle):
      * WebCoreSupport/WebInspectorClient.h:
      * WebCoreSupport/WebInspectorClient.mm:
      (WebInspectorClient::WebInspectorClient):
      (WebInspectorClient::inspectorDestroyed):
      * WebInspector/remote/WebInspectorClientRegistry.h: Removed.
      * WebInspector/remote/WebInspectorClientRegistry.mm: Removed.
      * WebInspector/remote/WebInspectorRelayDefinitions.h: Removed.
      * WebInspector/remote/WebInspectorRemoteChannel.h: Removed.
      * WebInspector/remote/WebInspectorRemoteChannel.mm: Removed.
      * WebInspector/remote/WebInspectorServer.h: Removed.
      * WebInspector/remote/WebInspectorServer.mm: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnection.h: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnection.mm: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Removed.
      * WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Removed.
      * WebInspector/remote/WebInspectorXPCWrapper.h: Removed.
      * WebInspector/remote/WebInspectorXPCWrapper.m: Removed.
      * WebKit.exp:
      * WebView/WebView.mm:
      (-[WebView _commonInitializationWithFrameName:groupName:]):
      (+[WebView _enableRemoteInspector]):
      (+[WebView _disableRemoteInspector]):
      (+[WebView _disableAutoStartRemoteInspector]):
      (+[WebView _isRemoteInspectorEnabled]):
      (+[WebView _hasRemoteInspectorSession]):
      (-[WebView allowsRemoteInspection]):
      (-[WebView setAllowsRemoteInspection:]):
      (-[WebView setIndicatingForRemoteInspector:]):
      (-[WebView setHostApplicationBundleId:name:]):
      (-[WebView _didCommitLoadForFrame:]):
      * WebView/WebViewData.h:
      * WebView/WebViewData.mm:
      (-[WebViewPrivate init]):
      (-[WebViewPrivate dealloc]):
      * WebView/WebViewInternal.h:
      * WebView/WebViewPrivate.h:
      Remove old REMOTE_INSPECTOR.
      
      Source/WebKit/win:
      
      * WebCoreSupport/WebInspectorClient.h:
      
      Source/WebKit/wince:
      
      * WebCoreSupport/InspectorClientWinCE.h:
      
      Source/WebKit2:
      
      * WebProcess/WebPage/WebPage.cpp:
      (WebKit::WebPage::WebPage):
      * WebProcess/com.apple.WebProcess.sb.in:
      Allow the WebProcess to access the "com.apple.webinspector" named
      XPC service to expose its WebCore::Page's to remote debuggers.
      
      Source/WTF:
      
      * wtf/ios/WebCoreThread.cpp:
      * wtf/ios/WebCoreThread.h:
      Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through
      WTF so that JavaScriptCore can use it. Another such method already existed.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@160099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      d2ecf37f
  11. 28 Aug, 2013 1 commit
    • zandobersek@gmail.com's avatar
      [GTK] Add support for building JSC with FTL JIT enabled · aa396195
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=120270
      
      Reviewed by Filip Pizlo.
      
      .: 
      
      * Source/autotools/FindDependencies.m4: Disable FTL JIT if the JIT itself is disabled or if the C++ compiler
      being used is not Clang. Check for llvm-config and use it to properly test for the LLVM >= 3.4 dependency.
      * Source/autotools/PrintBuildConfiguration.m4: Print out the status of the FTL JIT support.
      * Source/autotools/ReadCommandLineArguments.m4: Add a configuration flag for enabling the feature, defaulting
      to 'no' used as the default value for now. This should switch to 'auto' at some point in future.
      * Source/autotools/SetupAutoconfHeader.m4: Define ENABLE_FTL_JIT to a specific value if possible.
      Also define HAVE_LLVM to 1 if the LLVM dependency was satisfied.
      
      Source/JavaScriptCore: 
      
      * GNUmakefile.am: Add LLVM_LIBS to the list of linker flags and LLVM_CFLAGS to the list of
      compiler flags for the JSC library.
      * GNUmakefile.list.am: Add the missing build targets.
      * ftl/FTLAbbreviations.h: Include the <cstring> header and use std::strlen. This avoids compilation
      failures when using the Clang compiler with the libstdc++ standard library.
      (JSC::FTL::mdKindID):
      (JSC::FTL::mdString):
      
      Source/WTF: 
      
      * wtf/Platform.h: Define ENABLE_FTL_JIT to the value of 1 for the GTK port if building for the x86-64
      architecture with LLVM present and the define not being previously defined. This is applicable when
      configuring the Automake build with '--enable-ftl-jit=auto'.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@154747 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      aa396195
  12. 05 Aug, 2013 1 commit
    • zandobersek@gmail.com's avatar
      [Automake] Define ENABLE_JIT through the Autoconf header · a56af6cd
      zandobersek@gmail.com authored
      https://bugs.webkit.org/show_bug.cgi?id=119445
      
      Reviewed by Martin Robinson.
      
      .: 
      
      Instead of defining the ENABLE_JIT value through JSC_CPPFLAGS, the feature define is
      set to be either enabled or disabled through the Autoconf header, based on the value
      passed through the configuration flag. The 'auto' value is used as default, meaning
      that the feature is enabled or disabled in the Platform.h header based on the platform
      configuration (OS, architecture etc.).
      
      * Source/autotools/FindDependencies.m4: Remove the JSC_CPPFLAGS definition.
      * Source/autotools/ReadCommandLineArguments.m4: Change the default value to 'auto' instead
      of 'autodetect', as used by other configuration options that take a similar approach to enabling
      a specific feature.
      * Source/autotools/SetupAutoconfHeader.m4: Set a strict value for the ENABLE_JIT define through
      the Autoconf header if the feature was specifically enabled or disabled.
      
      Source/JavaScriptCore: 
      
      * GNUmakefile.am: Remove JSC_CPPFLAGS from the cpp flags for the JSC library.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@153703 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      a56af6cd
  13. 25 Jul, 2013 2 commits
  14. 19 Apr, 2013 1 commit
    • mrobinson@webkit.org's avatar
      [GTK] JSCore.gir.in has a few problems · 374ddf7a
      mrobinson@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=114710
      
      Reviewed by Philippe Normand.
      
      .:
      
      * GNUmakefile.am: Move common GIR initialization here from WebKit1.
      * configure.ac: Updated to reflect new JSC gir file location.
      
      Source/JavaScriptCore:
      
      * GNUmakefile.am: Add the gobject introspection steps for JavaScriptCore here,
      because they are shared between WebKit1 and WebKit2.
      * JavaScriptCore.gir.in: Added. Moved from the WebKit1 directory. Now written
      as foreign interfaces and referencing the javascriptcoregtk library.
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Updated to reflect new name and location of JavaScriptCore-x.0.gir.
      * JSCore.gir.in: Removed.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the
      same autotools data task as the WebKit1 and JavaScriptCore gir installations.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@148755 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      374ddf7a
  15. 19 Jun, 2012 1 commit
    • fpizlo@apple.com's avatar
      It should be possible to look at disassembly · 01c2a197
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=89319
      
      Source/JavaScriptCore: 
      
      Reviewed by Sam Weinig.
              
      This imports the udis86 disassembler library. The library is placed
      behind an abstraction in disassembler/Disassembler.h, so that we can
      in the future use other disassemblers (for other platforms) whenever
      appropriate. As a first step, the disassembler is being invoked for
      DFG verbose dumps.
              
      If we ever want to merge a new version of udis86 in the future, I've
      made notes about changes I made to the library in
      disassembler/udis86/differences.txt.
      
      * CMakeLists.txt:
      * DerivedSources.make:
      * GNUmakefile.list.am:
      * JavaScriptCore.pri:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::compile):
      (JSC::DFG::JITCompiler::compileFunction):
      * disassembler: Added.
      * disassembler/Disassembler.h: Added.
      (JSC):
      (JSC::tryToDisassemble):
      * disassembler/UDis86Disassembler.cpp: Added.
      (JSC):
      (JSC::tryToDisassemble):
      * disassembler/udis86: Added.
      * disassembler/udis86/differences.txt: Added.
      * disassembler/udis86/itab.py: Added.
      (UdItabGenerator):
      (UdItabGenerator.__init__):
      (UdItabGenerator.toGroupId):
      (UdItabGenerator.genLookupTable):
      (UdItabGenerator.genLookupTableList):
      (UdItabGenerator.genInsnTable):
      (genItabH):
      (genItabH.UD_ITAB_H):
      (genItabC):
      (genItab):
      (main):
      * disassembler/udis86/optable.xml: Added.
      * disassembler/udis86/ud_opcode.py: Added.
      (UdOpcodeTables):
      (UdOpcodeTables.sizeOfTable):
      (UdOpcodeTables.nameOfTable):
      (UdOpcodeTables.updateTable):
      (UdOpcodeTables.Insn):
      (UdOpcodeTables.Insn.__init__):
      (UdOpcodeTables.Insn.__init__.opcode):
      (UdOpcodeTables.parse):
      (UdOpcodeTables.addInsnDef):
      (UdOpcodeTables.print_table):
      (UdOpcodeTables.print_tree):
      * disassembler/udis86/ud_optable.py: Added.
      (UdOptableXmlParser):
      (UdOptableXmlParser.parseDef):
      (UdOptableXmlParser.parse):
      (printFn):
      (parse):
      (main):
      * disassembler/udis86/udis86.c: Added.
      (ud_init):
      (ud_disassemble):
      (ud_set_mode):
      (ud_set_vendor):
      (ud_set_pc):
      (ud):
      (ud_insn_asm):
      (ud_insn_off):
      (ud_insn_hex):
      (ud_insn_ptr):
      (ud_insn_len):
      * disassembler/udis86/udis86.h: Added.
      * disassembler/udis86/udis86_decode.c: Added.
      (eff_adr_mode):
      (ud_lookup_mnemonic):
      (decode_prefixes):
      (modrm):
      (resolve_operand_size):
      (resolve_mnemonic):
      (decode_a):
      (decode_gpr):
      (resolve_gpr64):
      (resolve_gpr32):
      (resolve_reg):
      (decode_imm):
      (decode_modrm_reg):
      (decode_modrm_rm):
      (decode_o):
      (decode_operand):
      (decode_operands):
      (clear_insn):
      (resolve_mode):
      (gen_hex):
      (decode_insn):
      (decode_3dnow):
      (decode_ssepfx):
      (decode_ext):
      (decode_opcode):
      (ud_decode):
      * disassembler/udis86/udis86_decode.h: Added.
      (ud_itab_entry_operand):
      (ud_itab_entry):
      (ud_lookup_table_list_entry):
      (sse_pfx_idx):
      (mode_idx):
      (modrm_mod_idx):
      (vendor_idx):
      (is_group_ptr):
      (group_idx):
      * disassembler/udis86/udis86_extern.h: Added.
      * disassembler/udis86/udis86_input.c: Added.
      (inp_buff_hook):
      (inp_file_hook):
      (ud):
      (ud_set_user_opaque_data):
      (ud_get_user_opaque_data):
      (ud_set_input_buffer):
      (ud_set_input_file):
      (ud_input_skip):
      (ud_input_end):
      (ud_inp_next):
      (ud_inp_back):
      (ud_inp_peek):
      (ud_inp_move):
      (ud_inp_uint8):
      (ud_inp_uint16):
      (ud_inp_uint32):
      (ud_inp_uint64):
      * disassembler/udis86/udis86_input.h: Added.
      * disassembler/udis86/udis86_itab_holder.c: Added.
      * disassembler/udis86/udis86_syn-att.c: Added.
      (opr_cast):
      (gen_operand):
      (ud_translate_att):
      * disassembler/udis86/udis86_syn-intel.c: Added.
      (opr_cast):
      (gen_operand):
      (ud_translate_intel):
      * disassembler/udis86/udis86_syn.c: Added.
      * disassembler/udis86/udis86_syn.h: Added.
      (mkasm):
      * disassembler/udis86/udis86_types.h: Added.
      (ud_operand):
      (ud):
      * jit/JITCode.h:
      (JITCode):
      (JSC::JITCode::tryToDisassemble):
      
      Source/WebCore: 
      
      Reviewed by Sam Weinig.
              
      Just fixing EFL's build system now that JSC has a new directory.
      
      * CMakeLists.txt:
      
      Source/WTF: 
      
      Reviewed by Sam Weinig.
              
      Made changes to Assertions.h to make it friendly to C code again.
              
      Added ENABLE(DISASSEMBLER) and USE(UDIS86) logic to Platform.h.
      
      * wtf/Assertions.h:
      * wtf/Platform.h:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120745 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      01c2a197
  16. 06 Jun, 2012 1 commit
    • wingo@igalia.com's avatar
      [GTK] Enable the LLInt · 4990fe8b
      wingo@igalia.com authored
      https://bugs.webkit.org/show_bug.cgi?id=88315
      
      Reviewed by Filip Pizlo.
      
      .:
      
      * configure.ac: Require Ruby, to build the low-level interpreter.
      
      Source/JavaScriptCore:
      
      * GNUmakefile.am: Add rules to generate LLIntDesiredOffsets.h and
      LLIntAssembly.h.
      * GNUmakefile.list.am: Add offlineasm and llint files to the
      dist.  Add LLInt source files to the build.
      * llint/LowLevelInterpreter.asm (crash): Generate a store of
      0xbbadbeef to a register, not to a constant.  Otherwise, gas was
      failing to assemble result.
      * offlineasm/asm.rb (labelReference): Generate a
      SYMBOL_STRING_RELOCATION instead of a SYMBOL_STRING, so that we go
      through the PLT on ELF systems.
      
      Source/WTF:
      
      * wtf/InlineASM.h: Add an implementation of LOCAL_LABEL_STRING for
      OS(LINUX).
      * wtf/Platform.h: Add OS(LINUX) to the set of operating systems
      for ENABLE_LLINT.  Add a specific check for PLATFORM(MAC) or
      PLATFORM(IOS), and add to that a check for PLATFORM(GTK).
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@119593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      4990fe8b
  17. 09 May, 2012 1 commit
  18. 22 Mar, 2012 1 commit
    • eric@webkit.org's avatar
      Actually move WTF files to their new home · 7c215cc6
      eric@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=81844
      
      Source/JavaScriptCore:
      
      Unreviewed.  The details of the port-specific changes
      have been seen by contributors from those ports, but
      the whole 5MB change isn't very reviewable as-is.
      
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JSCTypedArrayStubs.h:
      * JavaScriptCore.gypi:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * jsc.cpp:
      
      Source/WTF:
      
      Unreviewed.  The 5MB file move is not very reviewable,
      but various port representatives have OK'd changes to the
      individual build systems.
      
      * Configurations/WTF.xcconfig:
      * GNUmakefile.list.am:
      * Stub.cpp: Removed.
      * Stub.h: Removed.
      * WTF.gypi:
      * WTF.pri:
      * WTF.pro:
      * WTF.vcproj/WTF.vcproj:
      * WTF.vcproj/copy-files.cmd:
      * WTF.xcodeproj/project.pbxproj:
      * config.h:
      * wtf/ASCIICType.h: Renamed from Source/JavaScriptCore/wtf/ASCIICType.h.
      (WTF):
      (WTF::isASCII):
      (WTF::isASCIIAlpha):
      (WTF::isASCIIDigit):
      (WTF::isASCIIAlphanumeric):
      (WTF::isASCIIHexDigit):
      (WTF::isASCIILower):
      (WTF::isASCIIOctalDigit):
      (WTF::isASCIIPrintable):
      (WTF::isASCIISpace):
      (WTF::isASCIIUpper):
      (WTF::toASCIILower):
      (WTF::toASCIILowerUnchecked):
      (WTF::toASCIIUpper):
      (WTF::toASCIIHexValue):
      (WTF::lowerNibbleToASCIIHexDigit):
      (WTF::upperNibbleToASCIIHexDigit):
      (WTF::isASCIIAlphaCaselessEqual):
      * wtf/AVLTree.h: Renamed from Source/JavaScriptCore/wtf/AVLTree.h.
      (WTF):
      (AVLTreeDefaultBSet):
      (WTF::AVLTreeDefaultBSet::operator[]):
      (WTF::AVLTreeDefaultBSet::set):
      (WTF::AVLTreeDefaultBSet::reset):
      (AVLTree):
      (WTF::AVLTree::abstractor):
      (WTF::AVLTree::purge):
      (WTF::AVLTree::is_empty):
      (WTF::AVLTree::AVLTree):
      (Iterator):
      (WTF::AVLTree::Iterator::Iterator):
      (WTF::AVLTree::Iterator::start_iter):
      (WTF::AVLTree::Iterator::start_iter_least):
      (WTF::AVLTree::Iterator::start_iter_greatest):
      (WTF::AVLTree::Iterator::operator*):
      (WTF::AVLTree::Iterator::operator++):
      (WTF::AVLTree::Iterator::operator--):
      (WTF::AVLTree::Iterator::cmp_k_n):
      (WTF::AVLTree::Iterator::cmp_n_n):
      (WTF::AVLTree::Iterator::get_lt):
      (WTF::AVLTree::Iterator::get_gt):
      (WTF::AVLTree::Iterator::null):
      (WTF::AVLTree::build):
      (abs_plus_root):
      (WTF::AVLTree::get_lt):
      (WTF::AVLTree::set_lt):
      (WTF::AVLTree::get_gt):
      (WTF::AVLTree::set_gt):
      (WTF::AVLTree::get_bf):
      (WTF::AVLTree::set_bf):
      (WTF::AVLTree::cmp_k_n):
      (WTF::AVLTree::cmp_n_n):
      (WTF::AVLTree::null):
      (WTF::AVLTree::balance):
      (WTF::::insert):
      (WTF::::search):
      (WTF::::search_least):
      (WTF::::search_greatest):
      (WTF::::remove):
      (WTF::::subst):
      * wtf/Alignment.h: Renamed from Source/JavaScriptCore/wtf/Alignment.h.
      (WTF):
      (WTF::swap):
      * wtf/AlwaysInline.h: Renamed from Source/JavaScriptCore/wtf/AlwaysInline.h.
      * wtf/ArrayBuffer.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.cpp.
      (WTF):
      (WTF::ArrayBuffer::transfer):
      (WTF::ArrayBuffer::addView):
      (WTF::ArrayBuffer::removeView):
      * wtf/ArrayBuffer.h: Renamed from Source/JavaScriptCore/wtf/ArrayBuffer.h.
      (WTF):
      (ArrayBufferContents):
      (WTF::ArrayBufferContents::ArrayBufferContents):
      (WTF::ArrayBufferContents::data):
      (WTF::ArrayBufferContents::sizeInBytes):
      (WTF::ArrayBufferContents::transfer):
      (ArrayBuffer):
      (WTF::ArrayBuffer::isNeutered):
      (WTF::ArrayBuffer::~ArrayBuffer):
      (WTF::ArrayBuffer::clampValue):
      (WTF::ArrayBuffer::create):
      (WTF::ArrayBuffer::ArrayBuffer):
      (WTF::ArrayBuffer::data):
      (WTF::ArrayBuffer::byteLength):
      (WTF::ArrayBuffer::slice):
      (WTF::ArrayBuffer::sliceImpl):
      (WTF::ArrayBuffer::clampIndex):
      (WTF::ArrayBufferContents::tryAllocate):
      (WTF::ArrayBufferContents::~ArrayBufferContents):
      * wtf/ArrayBufferView.cpp: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.cpp.
      (WTF):
      (WTF::ArrayBufferView::ArrayBufferView):
      (WTF::ArrayBufferView::~ArrayBufferView):
      (WTF::ArrayBufferView::neuter):
      * wtf/ArrayBufferView.h: Renamed from Source/JavaScriptCore/wtf/ArrayBufferView.h.
      (WTF):
      (WTF::ArrayBufferView::setImpl):
      (WTF::ArrayBufferView::setRangeImpl):
      (WTF::ArrayBufferView::zeroRangeImpl):
      (WTF::ArrayBufferView::calculateOffsetAndLength):
      * wtf/Assertions.cpp: Renamed from Source/JavaScriptCore/wtf/Assertions.cpp.
      * wtf/Assertions.h: Renamed from Source/JavaScriptCore/wtf/Assertions.h.
      (assertUnused):
      (assertWithMessageUnused):
      * wtf/Atomics.h: Renamed from Source/JavaScriptCore/wtf/Atomics.h.
      (WTF):
      (WTF::atomicIncrement):
      (WTF::atomicDecrement):
      (WTF::weakCompareAndSwap):
      (WTF::weakCompareAndSwapUIntPtr):
      * wtf/BitVector.cpp: Renamed from Source/JavaScriptCore/wtf/BitVector.cpp.
      (WTF):
      (WTF::BitVector::setSlow):
      (WTF::BitVector::resize):
      (WTF::BitVector::clearAll):
      (WTF::BitVector::OutOfLineBits::create):
      (WTF::BitVector::OutOfLineBits::destroy):
      (WTF::BitVector::resizeOutOfLine):
      (WTF::BitVector::dump):
      * wtf/BitVector.h: Renamed from Source/JavaScriptCore/wtf/BitVector.h.
      (WTF):
      (BitVector):
      (WTF::BitVector::BitVector):
      (WTF::BitVector::~BitVector):
      (WTF::BitVector::operator=):
      (WTF::BitVector::size):
      (WTF::BitVector::ensureSize):
      (WTF::BitVector::quickGet):
      (WTF::BitVector::quickSet):
      (WTF::BitVector::quickClear):
      (WTF::BitVector::get):
      (WTF::BitVector::set):
      (WTF::BitVector::clear):
      (WTF::BitVector::bitsInPointer):
      (WTF::BitVector::maxInlineBits):
      (WTF::BitVector::byteCount):
      (WTF::BitVector::makeInlineBits):
      (OutOfLineBits):
      (WTF::BitVector::OutOfLineBits::numBits):
      (WTF::BitVector::OutOfLineBits::numWords):
      (WTF::BitVector::OutOfLineBits::bits):
      (WTF::BitVector::OutOfLineBits::OutOfLineBits):
      (WTF::BitVector::isInline):
      (WTF::BitVector::outOfLineBits):
      (WTF::BitVector::bits):
      * wtf/Bitmap.h: Renamed from Source/JavaScriptCore/wtf/Bitmap.h.
      (WTF):
      (Bitmap):
      (WTF::::Bitmap):
      (WTF::::get):
      (WTF::::set):
      (WTF::::testAndSet):
      (WTF::::testAndClear):
      (WTF::::concurrentTestAndSet):
      (WTF::::concurrentTestAndClear):
      (WTF::::clear):
      (WTF::::clearAll):
      (WTF::::nextPossiblyUnset):
      (WTF::::findRunOfZeros):
      (WTF::::count):
      (WTF::::isEmpty):
      (WTF::::isFull):
      * wtf/BlockStack.h: Renamed from Source/JavaScriptCore/wtf/BlockStack.h.
      (WTF):
      (BlockStack):
      (WTF::::BlockStack):
      (WTF::::~BlockStack):
      (WTF::::blocks):
      (WTF::::grow):
      (WTF::::shrink):
      * wtf/BloomFilter.h: Renamed from Source/JavaScriptCore/wtf/BloomFilter.h.
      (WTF):
      (BloomFilter):
      (WTF::BloomFilter::maximumCount):
      (WTF::BloomFilter::BloomFilter):
      (WTF::BloomFilter::mayContain):
      (WTF::BloomFilter::add):
      (WTF::BloomFilter::remove):
      (WTF::BloomFilter::firstSlot):
      (WTF::BloomFilter::secondSlot):
      (WTF::::add):
      (WTF::::remove):
      (WTF::::clear):
      (WTF::::likelyEmpty):
      (WTF::::isClear):
      * wtf/BoundsCheckedPointer.h: Renamed from Source/JavaScriptCore/wtf/BoundsCheckedPointer.h.
      (WTF):
      (BoundsCheckedPointer):
      (WTF::BoundsCheckedPointer::BoundsCheckedPointer):
      (WTF::BoundsCheckedPointer::operator=):
      (WTF::BoundsCheckedPointer::operator+=):
      (WTF::BoundsCheckedPointer::operator-=):
      (WTF::BoundsCheckedPointer::operator+):
      (WTF::BoundsCheckedPointer::operator-):
      (WTF::BoundsCheckedPointer::operator++):
      (WTF::BoundsCheckedPointer::operator--):
      (WTF::BoundsCheckedPointer::operator<):
      (WTF::BoundsCheckedPointer::operator<=):
      (WTF::BoundsCheckedPointer::operator>):
      (WTF::BoundsCheckedPointer::operator>=):
      (WTF::BoundsCheckedPointer::operator==):
      (WTF::BoundsCheckedPointer::operator!=):
      (WTF::BoundsCheckedPointer::operator!):
      (WTF::BoundsCheckedPointer::get):
      (WTF::BoundsCheckedPointer::operator*):
      (WTF::BoundsCheckedPointer::operator[]):
      (WTF::BoundsCheckedPointer::strcat):
      (WTF::BoundsCheckedPointer::validate):
      * wtf/BumpPointerAllocator.h: Renamed from Source/JavaScriptCore/wtf/BumpPointerAllocator.h.
      (WTF):
      (BumpPointerPool):
      (WTF::BumpPointerPool::ensureCapacity):
      (WTF::BumpPointerPool::alloc):
      (WTF::BumpPointerPool::dealloc):
      (WTF::BumpPointerPool::operator new):
      (WTF::BumpPointerPool::BumpPointerPool):
      (WTF::BumpPointerPool::create):
      (WTF::BumpPointerPool::shrink):
      (WTF::BumpPointerPool::destroy):
      (WTF::BumpPointerPool::ensureCapacityCrossPool):
      (WTF::BumpPointerPool::deallocCrossPool):
      (BumpPointerAllocator):
      (WTF::BumpPointerAllocator::BumpPointerAllocator):
      (WTF::BumpPointerAllocator::~BumpPointerAllocator):
      (WTF::BumpPointerAllocator::startAllocator):
      (WTF::BumpPointerAllocator::stopAllocator):
      * wtf/ByteArray.cpp: Renamed from Source/JavaScriptCore/wtf/ByteArray.cpp.
      (WTF):
      (WTF::ByteArray::create):
      * wtf/ByteArray.h: Renamed from Source/JavaScriptCore/wtf/ByteArray.h.
      (ByteArray):
      (WTF::ByteArray::length):
      (WTF::ByteArray::set):
      (WTF::ByteArray::get):
      (WTF::ByteArray::data):
      (WTF::ByteArray::clear):
      (WTF::ByteArray::deref):
      (WTF::ByteArray::offsetOfSize):
      (WTF::ByteArray::offsetOfData):
      (WTF::ByteArray::ByteArray):
      * wtf/CMakeLists.txt: Renamed from Source/JavaScriptCore/wtf/CMakeLists.txt.
      * wtf/CONTRIBUTORS.pthreads-win32: Renamed from Source/JavaScriptCore/wtf/CONTRIBUTORS.pthreads-win32.
      * wtf/CheckedArithmetic.h: Renamed from Source/JavaScriptCore/wtf/CheckedArithmetic.h.
      (WTF):
      (CrashOnOverflow):
      (WTF::CrashOnOverflow::overflowed):
      (WTF::CrashOnOverflow::clearOverflow):
      (WTF::CrashOnOverflow::hasOverflowed):
      (RecordOverflow):
      (WTF::RecordOverflow::RecordOverflow):
      (WTF::RecordOverflow::overflowed):
      (WTF::RecordOverflow::clearOverflow):
      (WTF::RecordOverflow::hasOverflowed):
      (WTF::isInBounds):
      (RemoveChecked):
      (WTF::safeAdd):
      (WTF::safeSub):
      (WTF::safeMultiply):
      (WTF::safeEquals):
      (WTF::workAroundClangBug):
      (Checked):
      (WTF::Checked::Checked):
      (WTF::Checked::operator=):
      (WTF::Checked::operator++):
      (WTF::Checked::operator--):
      (WTF::Checked::operator!):
      (WTF::Checked::operator UnspecifiedBoolType*):
      (WTF::Checked::unsafeGet):
      (WTF::Checked::operator+=):
      (WTF::Checked::operator-=):
      (WTF::Checked::operator*=):
      (WTF::Checked::operator==):
      (WTF::Checked::operator!=):
      (WTF::operator+):
      (WTF::operator-):
      (WTF::operator*):
      * wtf/CheckedBoolean.h: Renamed from Source/JavaScriptCore/wtf/CheckedBoolean.h.
      (CheckedBoolean):
      (CheckedBoolean::CheckedBoolean):
      (CheckedBoolean::~CheckedBoolean):
      (CheckedBoolean::operator bool):
      * wtf/Compiler.h: Renamed from Source/JavaScriptCore/wtf/Compiler.h.
      * wtf/Complex.h: Renamed from Source/JavaScriptCore/wtf/Complex.h.
      (WTF):
      (WTF::complexFromMagnitudePhase):
      * wtf/CryptographicallyRandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.cpp.
      (WTF::cryptographicallyRandomNumber):
      (WTF):
      (WTF::cryptographicallyRandomValues):
      * wtf/CryptographicallyRandomNumber.h: Renamed from Source/JavaScriptCore/wtf/CryptographicallyRandomNumber.h.
      (WTF):
      * wtf/CurrentTime.cpp: Renamed from Source/JavaScriptCore/wtf/CurrentTime.cpp.
      (WTF):
      (WTF::highResUpTime):
      (WTF::lowResUTCTime):
      (WTF::qpcAvailable):
      (WTF::currentTime):
      (WTF::currentSystemTime):
      (WTF::monotonicallyIncreasingTime):
      * wtf/CurrentTime.h: Renamed from Source/JavaScriptCore/wtf/CurrentTime.h.
      (WTF):
      (WTF::currentTimeMS):
      (WTF::getLocalTime):
      * wtf/DataLog.cpp: Renamed from Source/JavaScriptCore/wtf/DataLog.cpp.
      (WTF):
      (WTF::initializeLogFileOnce):
      (WTF::initializeLogFile):
      (WTF::dataFile):
      (WTF::dataLogV):
      (WTF::dataLog):
      * wtf/DataLog.h: Renamed from Source/JavaScriptCore/wtf/DataLog.h.
      (WTF):
      * wtf/DateMath.cpp: Renamed from Source/JavaScriptCore/wtf/DateMath.cpp.
      (WTF):
      (WTF::isLeapYear):
      (WTF::daysInYear):
      (WTF::daysFrom1970ToYear):
      (WTF::msToDays):
      (WTF::twoDigitStringFromNumber):
      (WTF::msToYear):
      (WTF::dayInYear):
      (WTF::msToMilliseconds):
      (WTF::msToMinutes):
      (WTF::msToHours):
      (WTF::monthFromDayInYear):
      (WTF::checkMonth):
      (WTF::dayInMonthFromDayInYear):
      (WTF::monthToDayInYear):
      (WTF::dateToDaysFrom1970):
      (WTF::maximumYearForDST):
      (WTF::minimumYearForDST):
      (WTF::equivalentYearForDST):
      (WTF::calculateUTCOffset):
      (WTF::calculateDSTOffsetSimple):
      (WTF::calculateDSTOffset):
      (WTF::initializeDates):
      (WTF::ymdhmsToSeconds):
      (KnownZone):
      (WTF::skipSpacesAndComments):
      (WTF::findMonth):
      (WTF::parseLong):
      (WTF::parseES5DatePortion):
      (WTF::parseES5TimePortion):
      (WTF::parseES5DateFromNullTerminatedCharacters):
      (WTF::parseDateFromNullTerminatedCharacters):
      (WTF::timeClip):
      (WTF::makeRFC2822DateString):
      * wtf/DateMath.h: Renamed from Source/JavaScriptCore/wtf/DateMath.h.
      (WTF):
      (WTF::jsCurrentTime):
      * wtf/DecimalNumber.cpp: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.cpp.
      (WTF):
      (WTF::DecimalNumber::bufferLengthForStringDecimal):
      (WTF::DecimalNumber::bufferLengthForStringExponential):
      (WTF::DecimalNumber::toStringDecimal):
      (WTF::DecimalNumber::toStringExponential):
      * wtf/DecimalNumber.h: Renamed from Source/JavaScriptCore/wtf/DecimalNumber.h.
      (WTF):
      (DecimalNumber):
      (WTF::DecimalNumber::DecimalNumber):
      (WTF::DecimalNumber::sign):
      (WTF::DecimalNumber::exponent):
      (WTF::DecimalNumber::significand):
      (WTF::DecimalNumber::precision):
      * wtf/Decoder.h: Renamed from Source/JavaScriptCore/wtf/Decoder.h.
      (WTF):
      (Decoder):
      (WTF::Decoder::Decoder):
      (WTF::Decoder::~Decoder):
      * wtf/Deque.h: Renamed from Source/JavaScriptCore/wtf/Deque.h.
      (WTF):
      (Deque):
      (WTF::Deque::size):
      (WTF::Deque::isEmpty):
      (WTF::Deque::begin):
      (WTF::Deque::end):
      (WTF::Deque::rbegin):
      (WTF::Deque::rend):
      (WTF::Deque::first):
      (WTF::Deque::last):
      (DequeIteratorBase):
      (WTF::DequeIteratorBase::assign):
      (DequeIterator):
      (WTF::DequeIterator::DequeIterator):
      (WTF::DequeIterator::operator=):
      (WTF::DequeIterator::operator*):
      (WTF::DequeIterator::operator->):
      (WTF::DequeIterator::operator==):
      (WTF::DequeIterator::operator!=):
      (WTF::DequeIterator::operator++):
      (WTF::DequeIterator::operator--):
      (DequeConstIterator):
      (WTF::DequeConstIterator::DequeConstIterator):
      (WTF::DequeConstIterator::operator=):
      (WTF::DequeConstIterator::operator*):
      (WTF::DequeConstIterator::operator->):
      (WTF::DequeConstIterator::operator==):
      (WTF::DequeConstIterator::operator!=):
      (WTF::DequeConstIterator::operator++):
      (WTF::DequeConstIterator::operator--):
      (DequeReverseIterator):
      (WTF::DequeReverseIterator::DequeReverseIterator):
      (WTF::DequeReverseIterator::operator=):
      (WTF::DequeReverseIterator::operator*):
      (WTF::DequeReverseIterator::operator->):
      (WTF::DequeReverseIterator::operator==):
      (WTF::DequeReverseIterator::operator!=):
      (WTF::DequeReverseIterator::operator++):
      (WTF::DequeReverseIterator::operator--):
      (DequeConstReverseIterator):
      (WTF::DequeConstReverseIterator::DequeConstReverseIterator):
      (WTF::DequeConstReverseIterator::operator=):
      (WTF::DequeConstReverseIterator::operator*):
      (WTF::DequeConstReverseIterator::operator->):
      (WTF::DequeConstReverseIterator::operator==):
      (WTF::DequeConstReverseIterator::operator!=):
      (WTF::DequeConstReverseIterator::operator++):
      (WTF::DequeConstReverseIterator::operator--):
      (WTF::::checkValidity):
      (WTF::::checkIndexValidity):
      (WTF::::invalidateIterators):
      (WTF::::Deque):
      (WTF::deleteAllValues):
      (WTF::=):
      (WTF::::destroyAll):
      (WTF::::~Deque):
      (WTF::::swap):
      (WTF::::clear):
      (WTF::::findIf):
      (WTF::::expandCapacityIfNeeded):
      (WTF::::expandCapacity):
      (WTF::::takeFirst):
      (WTF::::append):
      (WTF::::prepend):
      (WTF::::removeFirst):
      (WTF::::remove):
      (WTF::::addToIteratorsList):
      (WTF::::removeFromIteratorsList):
      (WTF::::DequeIteratorBase):
      (WTF::::~DequeIteratorBase):
      (WTF::::isEqual):
      (WTF::::increment):
      (WTF::::decrement):
      (WTF::::after):
      (WTF::::before):
      * wtf/DisallowCType.h: Renamed from Source/JavaScriptCore/wtf/DisallowCType.h.
      * wtf/DoublyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/DoublyLinkedList.h.
      (WTF):
      (DoublyLinkedListNode):
      (WTF::::DoublyLinkedListNode):
      (WTF::::setPrev):
      (WTF::::setNext):
      (WTF::::prev):
      (WTF::::next):
      (DoublyLinkedList):
      (WTF::::DoublyLinkedList):
      (WTF::::isEmpty):
      (WTF::::size):
      (WTF::::clear):
      (WTF::::head):
      (WTF::::tail):
      (WTF::::push):
      (WTF::::append):
      (WTF::::remove):
      (WTF::::removeHead):
      * wtf/DynamicAnnotations.cpp: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.cpp.
      (WTFAnnotateBenignRaceSized):
      (WTFAnnotateHappensBefore):
      (WTFAnnotateHappensAfter):
      * wtf/DynamicAnnotations.h: Renamed from Source/JavaScriptCore/wtf/DynamicAnnotations.h.
      * wtf/Encoder.h: Renamed from Source/JavaScriptCore/wtf/Encoder.h.
      (WTF):
      (Encoder):
      (WTF::Encoder::Encoder):
      (WTF::Encoder::~Encoder):
      * wtf/ExportMacros.h: Renamed from Source/JavaScriptCore/wtf/ExportMacros.h.
      * wtf/FastAllocBase.h: Renamed from Source/JavaScriptCore/wtf/FastAllocBase.h.
      (WTF):
      (WTF::fastNew):
      (Internal):
      (WTF::Internal::NewArrayImpl::fastNewArray):
      (WTF::fastNewArray):
      (WTF::fastDelete):
      (WTF::fastDeleteSkippingDestructor):
      (WTF::Internal::DeleteArrayImpl::fastDeleteArray):
      (WTF::fastDeleteArray):
      (WTF::fastNonNullDelete):
      (WTF::Internal::NonNullDeleteArrayImpl::fastNonNullDeleteArray):
      (WTF::fastNonNullDeleteArray):
      * wtf/FastMalloc.cpp: Renamed from Source/JavaScriptCore/wtf/FastMalloc.cpp.
      (WTF):
      (WTF::isForbidden):
      (WTF::fastMallocForbid):
      (WTF::fastMallocAllow):
      (WTF::initializeIsForbiddenKey):
      (Internal):
      (WTF::Internal::fastMallocMatchFailed):
      (WTF::fastZeroedMalloc):
      (WTF::fastStrDup):
      (WTF::tryFastZeroedMalloc):
      (WTF::tryFastMalloc):
      (WTF::fastMalloc):
      (WTF::tryFastCalloc):
      (WTF::fastCalloc):
      (WTF::fastFree):
      (WTF::tryFastRealloc):
      (WTF::fastRealloc):
      (WTF::releaseFastMallocFreeMemory):
      (WTF::fastMallocStatistics):
      (WTF::fastMallocSize):
      (FastMallocZone):
      (WTF::FastMallocZone::goodSize):
      (WTF::FastMallocZone::check):
      (WTF::FastMallocZone::print):
      (WTF::FastMallocZone::log):
      (WTF::FastMallocZone::forceLock):
      (WTF::FastMallocZone::forceUnlock):
      (WTF::FastMallocZone::statistics):
      (WTF::FastMallocZone::zoneValloc):
      (WTF::FastMallocZone::zoneDestroy):
      (WTF::KernelSupportsTLS):
      (WTF::CheckIfKernelSupportsTLS):
      (WTF::ClassIndex):
      (TCEntry):
      (WTF::LgFloor):
      (WTF::SLL_Next):
      (WTF::SLL_SetNext):
      (WTF::SLL_Push):
      (WTF::SLL_Pop):
      (WTF::SLL_PopRange):
      (WTF::SLL_PushRange):
      (WTF::SLL_Size):
      (WTF::SizeClass):
      (WTF::ByteSizeForClass):
      (WTF::NumMoveSize):
      (WTF::InitSizeClasses):
      (WTF::MetaDataAlloc):
      (PageHeapAllocator):
      (WTF::PageHeapAllocator::Init):
      (WTF::PageHeapAllocator::New):
      (WTF::PageHeapAllocator::Delete):
      (WTF::PageHeapAllocator::inuse):
      (WTF::PageHeapAllocator::recordAdministrativeRegions):
      (WTF::pages):
      (WTF::AllocationSize):
      (Span):
      (WTF::Event):
      (WTF::NewSpan):
      (WTF::DeleteSpan):
      (WTF::DLL_Init):
      (WTF::DLL_Remove):
      (WTF::DLL_IsEmpty):
      (WTF::DLL_Length):
      (WTF::DLL_Print):
      (WTF::DLL_Prepend):
      (StackTrace):
      (MapSelector):
      (TCMalloc_PageHeap):
      (WTF::TCMalloc_PageHeap::GetDescriptor):
      (WTF::TCMalloc_PageHeap::GetDescriptorEnsureSafe):
      (WTF::TCMalloc_PageHeap::SystemBytes):
      (WTF::TCMalloc_PageHeap::FreeBytes):
      (WTF::TCMalloc_PageHeap::GetSizeClassIfCached):
      (WTF::TCMalloc_PageHeap::CacheSizeClass):
      (SpanList):
      (WTF::TCMalloc_PageHeap::RecordSpan):
      (WTF::TCMalloc_PageHeap::init):
      (WTF::TCMalloc_PageHeap::initializeScavenger):
      (WTF::TCMalloc_PageHeap::isScavengerSuspended):
      (WTF::TCMalloc_PageHeap::scheduleScavenger):
      (WTF::TCMalloc_PageHeap::rescheduleScavenger):
      (WTF::TCMalloc_PageHeap::suspendScavenger):
      (WTF::TCMalloc_PageHeap::scavengerTimerFired):
      (WTF::TCMalloc_PageHeap::runScavengerThread):
      (WTF::TCMalloc_PageHeap::signalScavenger):
      (WTF::TCMalloc_PageHeap::scavenge):
      (WTF::TCMalloc_PageHeap::shouldScavenge):
      (WTF::TCMalloc_PageHeap::New):
      (WTF::TCMalloc_PageHeap::AllocLarge):
      (WTF::TCMalloc_PageHeap::Split):
      (WTF::TCMalloc_PageHeap::Carve):
      (WTF::mergeDecommittedStates):
      (WTF::TCMalloc_PageHeap::Delete):
      (WTF::TCMalloc_PageHeap::IncrementalScavenge):
      (WTF::TCMalloc_PageHeap::RegisterSizeClass):
      (WTF::TCMalloc_PageHeap::ReturnedBytes):
      (WTF::PagesToMB):
      (WTF::TCMalloc_PageHeap::Dump):
      (WTF::TCMalloc_PageHeap::GrowHeap):
      (WTF::TCMalloc_PageHeap::Check):
      (WTF::TCMalloc_PageHeap::CheckList):
      (WTF::TCMalloc_PageHeap::ReleaseFreeList):
      (WTF::TCMalloc_PageHeap::ReleaseFreePages):
      (TCMalloc_ThreadCache_FreeList):
      (WTF::TCMalloc_ThreadCache_FreeList::Init):
      (WTF::TCMalloc_ThreadCache_FreeList::length):
      (WTF::TCMalloc_ThreadCache_FreeList::empty):
      (WTF::TCMalloc_ThreadCache_FreeList::lowwatermark):
      (WTF::TCMalloc_ThreadCache_FreeList::clear_lowwatermark):
      (WTF::TCMalloc_ThreadCache_FreeList::Push):
      (WTF::TCMalloc_ThreadCache_FreeList::PushRange):
      (WTF::TCMalloc_ThreadCache_FreeList::PopRange):
      (WTF::TCMalloc_ThreadCache_FreeList::Pop):
      (WTF::TCMalloc_ThreadCache_FreeList::enumerateFreeObjects):
      (TCMalloc_ThreadCache):
      (WTF::TCMalloc_ThreadCache::freelist_length):
      (WTF::TCMalloc_ThreadCache::Size):
      (WTF::TCMalloc_ThreadCache::enumerateFreeObjects):
      (TCMalloc_Central_FreeList):
      (WTF::TCMalloc_Central_FreeList::length):
      (WTF::TCMalloc_Central_FreeList::tc_length):
      (WTF::TCMalloc_Central_FreeList::enumerateFreeObjects):
      (TCMalloc_Central_FreeListPadded):
      (WTF::getPageHeap):
      (WTF::TCMalloc_PageHeap::periodicScavenge):
      (WTF::TCMalloc_PageHeap::scavengerThread):
      (WTF::setThreadHeap):
      (WTF::TCMalloc_Central_FreeList::Init):
      (WTF::TCMalloc_Central_FreeList::ReleaseListToSpans):
      (WTF::TCMalloc_Central_FreeList::ReleaseToSpans):
      (WTF::TCMalloc_Central_FreeList::EvictRandomSizeClass):
      (WTF::TCMalloc_Central_FreeList::MakeCacheSpace):
      (WTF::TCMalloc_Central_FreeList::ShrinkCache):
      (WTF::TCMalloc_Central_FreeList::InsertRange):
      (WTF::TCMalloc_Central_FreeList::RemoveRange):
      (WTF::TCMalloc_Central_FreeList::FetchFromSpansSafe):
      (WTF::TCMalloc_Central_FreeList::FetchFromSpans):
      (WTF::TCMalloc_Central_FreeList::Populate):
      (WTF::TCMalloc_ThreadCache::SampleAllocation):
      (WTF::TCMalloc_ThreadCache::Init):
      (WTF::TCMalloc_ThreadCache::Cleanup):
      (WTF::TCMalloc_ThreadCache::Allocate):
      (WTF::TCMalloc_ThreadCache::Deallocate):
      (WTF::TCMalloc_ThreadCache::FetchFromCentralCache):
      (WTF::TCMalloc_ThreadCache::ReleaseToCentralCache):
      (WTF::TCMalloc_ThreadCache::Scavenge):
      (WTF::TCMalloc_ThreadCache::PickNextSample):
      (WTF::TCMalloc_ThreadCache::InitModule):
      (WTF::TCMalloc_ThreadCache::NewHeap):
      (WTF::TCMalloc_ThreadCache::GetThreadHeap):
      (WTF::TCMalloc_ThreadCache::GetCache):
      (WTF::TCMalloc_ThreadCache::GetCacheIfPresent):
      (WTF::TCMalloc_ThreadCache::InitTSD):
      (WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):
      * wtf/FastMalloc.h: Renamed from Source/JavaScriptCore/wtf/FastMalloc.h.
      (WTF):
      (WTF::TryMallocReturnValue::TryMallocReturnValue):
      (WTF::TryMallocReturnValue::~TryMallocReturnValue):
      (TryMallocReturnValue):
      (WTF::TryMallocReturnValue::operator PossiblyNull<T>):
      (WTF::TryMallocReturnValue::getValue):
      (FastMallocStatistics):
      (ValidationHeader):
      (Internal):
      (WTF::Internal::fastMallocValidationHeader):
      (WTF::Internal::fastMallocValidationSuffix):
      (WTF::Internal::fastMallocMatchValidationType):
      (WTF::Internal::setFastMallocMatchValidationType):
      (WTF::fastMallocMatchValidateMalloc):
      (WTF::fastMallocMatchValidateFree):
      (WTF::fastMallocValidate):
      (throw):
      * wtf/FixedArray.h: Renamed from Source/JavaScriptCore/wtf/FixedArray.h.
      (WTF):
      (FixedArray):
      (WTF::FixedArray::operator[]):
      (WTF::FixedArray::data):
      (WTF::FixedArray::size):
      * wtf/Float32Array.h: Renamed from Source/JavaScriptCore/wtf/Float32Array.h.
      (WTF):
      (Float32Array):
      (WTF::Float32Array::set):
      (WTF::Float32Array::item):
      (WTF::Float32Array::isFloatArray):
      (WTF::Float32Array::create):
      (WTF::Float32Array::Float32Array):
      (WTF::Float32Array::subarray):
      * wtf/Float64Array.h: Renamed from Source/JavaScriptCore/wtf/Float64Array.h.
      (WTF):
      (Float64Array):
      (WTF::Float64Array::set):
      (WTF::Float64Array::item):
      (WTF::Float64Array::isDoubleArray):
      (WTF::Float64Array::create):
      (WTF::Float64Array::Float64Array):
      (WTF::Float64Array::subarray):
      * wtf/Forward.h: Renamed from Source/JavaScriptCore/wtf/Forward.h.
      (WTF):
      * wtf/Functional.h: Renamed from Source/JavaScriptCore/wtf/Functional.h.
      (WTF):
      (HasRefAndDeref):
      (NoType):
      (BaseMixin):
      (WTF::R):
      (WTF::C::):
      (WTF::RefAndDeref::ref):
      (WTF::RefAndDeref::deref):
      (ParamStorageTraits):
      (WTF::ParamStorageTraits::wrap):
      (WTF::ParamStorageTraits::unwrap):
      (FunctionImplBase):
      (WTF::FunctionImplBase::~FunctionImplBase):
      (FunctionBase):
      (WTF::FunctionBase::isNull):
      (WTF::FunctionBase::FunctionBase):
      (WTF::FunctionBase::impl):
      (WTF::bind):
      * wtf/GetPtr.h: Renamed from Source/JavaScriptCore/wtf/GetPtr.h.
      (WTF):
      (WTF::getPtr):
      * wtf/HashCountedSet.h: Renamed from Source/JavaScriptCore/wtf/HashCountedSet.h.
      (WTF):
      (HashCountedSet):
      (WTF::HashCountedSet::HashCountedSet):
      (WTF::::size):
      (WTF::::capacity):
      (WTF::::isEmpty):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::find):
      (WTF::::contains):
      (WTF::::count):
      (WTF::::add):
      (WTF::::remove):
      (WTF::::removeAll):
      (WTF::::clear):
      (WTF::copyToVector):
      * wtf/HashFunctions.h: Renamed from Source/JavaScriptCore/wtf/HashFunctions.h.
      (WTF):
      (WTF::intHash):
      (WTF::IntHash::hash):
      (WTF::IntHash::equal):
      (IntHash):
      (WTF::FloatHash::hash):
      (WTF::FloatHash::equal):
      (FloatHash):
      (WTF::PtrHash::hash):
      (WTF::PtrHash::equal):
      (PtrHash):
      (WTF::PairHash::hash):
      (WTF::PairHash::equal):
      (PairHash):
      * wtf/HashIterators.h: Renamed from Source/JavaScriptCore/wtf/HashIterators.h.
      (WTF):
      (HashTableConstKeysIterator):
      (WTF::HashTableConstKeysIterator::HashTableConstKeysIterator):
      (WTF::HashTableConstKeysIterator::get):
      (WTF::HashTableConstKeysIterator::operator*):
      (WTF::HashTableConstKeysIterator::operator->):
      (WTF::HashTableConstKeysIterator::operator++):
      (HashTableConstValuesIterator):
      (WTF::HashTableConstValuesIterator::HashTableConstValuesIterator):
      (WTF::HashTableConstValuesIterator::get):
      (WTF::HashTableConstValuesIterator::operator*):
      (WTF::HashTableConstValuesIterator::operator->):
      (WTF::HashTableConstValuesIterator::operator++):
      (HashTableKeysIterator):
      (WTF::HashTableKeysIterator::HashTableKeysIterator):
      (WTF::HashTableKeysIterator::get):
      (WTF::HashTableKeysIterator::operator*):
      (WTF::HashTableKeysIterator::operator->):
      (WTF::HashTableKeysIterator::operator++):
      (WTF::HashTableKeysIterator::operator HashTableConstKeysIterator<HashTableType, KeyType, MappedType>):
      (HashTableValuesIterator):
      (WTF::HashTableValuesIterator::HashTableValuesIterator):
      (WTF::HashTableValuesIterator::get):
      (WTF::HashTableValuesIterator::operator*):
      (WTF::HashTableValuesIterator::operator->):
      (WTF::HashTableValuesIterator::operator++):
      (WTF::HashTableValuesIterator::operator HashTableConstValuesIterator<HashTableType, KeyType, MappedType>):
      (WTF::operator==):
      (WTF::operator!=):
      * wtf/HashMap.h: Renamed from Source/JavaScriptCore/wtf/HashMap.h.
      (WTF):
      (ReferenceTypeMaker):
      (HashMap):
      (WTF::HashMap::keys):
      (WTF::HashMap::values):
      (HashMapKeysProxy):
      (WTF::HashMap::HashMapKeysProxy::begin):
      (WTF::HashMap::HashMapKeysProxy::end):
      (HashMapValuesProxy):
      (WTF::HashMap::HashMapValuesProxy::begin):
      (WTF::HashMap::HashMapValuesProxy::end):
      (WTF::PairFirstExtractor::extract):
      (WTF::HashMapTranslator::hash):
      (WTF::HashMapTranslator::equal):
      (WTF::HashMapTranslator::translate):
      (WTF::HashMapTranslatorAdapter::hash):
      (WTF::HashMapTranslatorAdapter::equal):
      (WTF::HashMapTranslatorAdapter::translate):
      (WTF::::swap):
      (WTF::::size):
      (WTF::::capacity):
      (WTF::::isEmpty):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::find):
      (WTF::::contains):
      (WTF::::inlineAdd):
      (WTF::::set):
      (WTF::::add):
      (WTF::::get):
      (WTF::::remove):
      (WTF::::clear):
      (WTF::::take):
      (WTF::::checkConsistency):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::deleteAllPairSeconds):
      (WTF::deleteAllValues):
      (WTF::deleteAllPairFirsts):
      (WTF::deleteAllKeys):
      (WTF::copyKeysToVector):
      (WTF::copyValuesToVector):
      * wtf/HashSet.h: Renamed from Source/JavaScriptCore/wtf/HashSet.h.
      (WTF):
      (HashSet):
      (WTF::IdentityExtractor::extract):
      (WTF::HashSetTranslatorAdapter::hash):
      (WTF::HashSetTranslatorAdapter::equal):
      (WTF::HashSetTranslatorAdapter::translate):
      (WTF::::swap):
      (WTF::::size):
      (WTF::::capacity):
      (WTF::::isEmpty):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::find):
      (WTF::::contains):
      (WTF::::add):
      (WTF::::remove):
      (WTF::::clear):
      (WTF::deleteAllValues):
      (WTF::fastDeleteAllValues):
      (WTF::copyToVector):
      * wtf/HashTable.cpp: Renamed from Source/JavaScriptCore/wtf/HashTable.cpp.
      (WTF):
      (WTF::hashTableStatsMutex):
      (WTF::HashTableStats::~HashTableStats):
      (WTF::HashTableStats::recordCollisionAtCount):
      * wtf/HashTable.h: Renamed from Source/JavaScriptCore/wtf/HashTable.h.
      (WTF):
      (HashTableStats):
      (WTF::addIterator):
      (WTF::removeIterator):
      (HashTableConstIterator):
      (WTF::HashTableConstIterator::skipEmptyBuckets):
      (WTF::HashTableConstIterator::HashTableConstIterator):
      (WTF::HashTableConstIterator::~HashTableConstIterator):
      (WTF::HashTableConstIterator::operator=):
      (WTF::HashTableConstIterator::get):
      (WTF::HashTableConstIterator::operator*):
      (WTF::HashTableConstIterator::operator->):
      (WTF::HashTableConstIterator::operator++):
      (WTF::HashTableConstIterator::operator==):
      (WTF::HashTableConstIterator::operator!=):
      (WTF::HashTableConstIterator::checkValidity):
      (HashTableIterator):
      (WTF::HashTableIterator::HashTableIterator):
      (WTF::HashTableIterator::get):
      (WTF::HashTableIterator::operator*):
      (WTF::HashTableIterator::operator->):
      (WTF::HashTableIterator::operator++):
      (WTF::HashTableIterator::operator==):
      (WTF::HashTableIterator::operator!=):
      (WTF::HashTableIterator::operator const_iterator):
      (WTF::hashTableSwap):
      (IdentityHashTranslator):
      (WTF::IdentityHashTranslator::hash):
      (WTF::IdentityHashTranslator::equal):
      (WTF::IdentityHashTranslator::translate):
      (HashTable):
      (WTF::HashTable::~HashTable):
      (WTF::HashTable::begin):
      (WTF::HashTable::end):
      (WTF::HashTable::size):
      (WTF::HashTable::capacity):
      (WTF::HashTable::isEmpty):
      (WTF::HashTable::add):
      (WTF::HashTable::find):
      (WTF::HashTable::contains):
      (WTF::HashTable::isEmptyBucket):
      (WTF::HashTable::isDeletedBucket):
      (WTF::HashTable::isEmptyOrDeletedBucket):
      (WTF::HashTable::lookup):
      (WTF::HashTable::checkTableConsistency):
      (WTF::HashTable::internalCheckTableConsistency):
      (WTF::HashTable::internalCheckTableConsistencyExceptSize):
      (WTF::HashTable::lookupForWriting):
      (WTF::HashTable::shouldExpand):
      (WTF::HashTable::mustRehashInPlace):
      (WTF::HashTable::shouldShrink):
      (WTF::HashTable::shrink):
      (WTF::HashTable::deleteBucket):
      (WTF::HashTable::makeLookupResult):
      (WTF::HashTable::makeIterator):
      (WTF::HashTable::makeConstIterator):
      (WTF::HashTable::makeKnownGoodIterator):
      (WTF::HashTable::makeKnownGoodConstIterator):
      (WTF::HashTable::checkTableConsistencyExceptSize):
      (WTF::HashTable::invalidateIterators):
      (WTF::::HashTable):
      (WTF::doubleHash):
      (WTF::::checkKey):
      (WTF::::lookup):
      (WTF::::lookupForWriting):
      (WTF::::fullLookupForWriting):
      (WTF::::initializeBucket):
      (WTF::::add):
      (WTF::::addPassingHashCode):
      (WTF::::reinsert):
      (WTF::::find):
      (WTF::::contains):
      (WTF::::removeAndInvalidateWithoutEntryConsistencyCheck):
      (WTF::::removeAndInvalidate):
      (WTF::::remove):
      (WTF::::removeWithoutEntryConsistencyCheck):
      (WTF::::allocateTable):
      (WTF::::deallocateTable):
      (WTF::::expand):
      (WTF::::rehash):
      (WTF::::clear):
      (WTF::::swap):
      (WTF::=):
      (WTF::::checkTableConsistency):
      (WTF::::checkTableConsistencyExceptSize):
      (WTF::::invalidateIterators):
      (WTF::HashTableConstIteratorAdapter::HashTableConstIteratorAdapter):
      (HashTableConstIteratorAdapter):
      (WTF::HashTableConstIteratorAdapter::get):
      (WTF::HashTableConstIteratorAdapter::operator*):
      (WTF::HashTableConstIteratorAdapter::operator->):
      (WTF::HashTableConstIteratorAdapter::operator++):
      (WTF::HashTableIteratorAdapter::HashTableIteratorAdapter):
      (HashTableIteratorAdapter):
      (WTF::HashTableIteratorAdapter::get):
      (WTF::HashTableIteratorAdapter::operator*):
      (WTF::HashTableIteratorAdapter::operator->):
      (WTF::HashTableIteratorAdapter::operator++):
      (WTF::HashTableIteratorAdapter::operator HashTableConstIteratorAdapter<HashTableType, ValueType>):
      (WTF::operator==):
      (WTF::operator!=):
      * wtf/HashTraits.h: Renamed from Source/JavaScriptCore/wtf/HashTraits.h.
      (WTF):
      (GenericHashTraits):
      (WTF::GenericHashTraits::emptyValue):
      (WTF::GenericHashTraits::store):
      (WTF::GenericHashTraits::passOut):
      (WTF::GenericHashTraits::peek):
      (FloatHashTraits):
      (WTF::FloatHashTraits::emptyValue):
      (WTF::FloatHashTraits::constructDeletedValue):
      (WTF::FloatHashTraits::isDeletedValue):
      (UnsignedWithZeroKeyHashTraits):
      (WTF::UnsignedWithZeroKeyHashTraits::emptyValue):
      (WTF::UnsignedWithZeroKeyHashTraits::constructDeletedValue):
      (WTF::UnsignedWithZeroKeyHashTraits::isDeletedValue):
      (SimpleClassHashTraits):
      (WTF::SimpleClassHashTraits::constructDeletedValue):
      (WTF::SimpleClassHashTraits::isDeletedValue):
      (PairHashTraits):
      (WTF::PairHashTraits::emptyValue):
      (WTF::PairHashTraits::constructDeletedValue):
      (WTF::PairHashTraits::isDeletedValue):
      * wtf/HexNumber.h: Renamed from Source/JavaScriptCore/wtf/HexNumber.h.
      (WTF):
      (Internal):
      (WTF::Internal::hexDigitsForMode):
      (WTF::appendByteAsHex):
      (WTF::placeByteAsHexCompressIfPossible):
      (WTF::placeByteAsHex):
      (WTF::appendUnsignedAsHex):
      (WTF::appendUnsignedAsHexFixedSize):
      * wtf/InlineASM.h: Renamed from Source/JavaScriptCore/wtf/InlineASM.h.
      * wtf/Int16Array.h: Renamed from Source/JavaScriptCore/wtf/Int16Array.h.
      (WTF):
      (Int16Array):
      (WTF::Int16Array::set):
      (WTF::Int16Array::isShortArray):
      (WTF::Int16Array::create):
      (WTF::Int16Array::Int16Array):
      (WTF::Int16Array::subarray):
      * wtf/Int32Array.h: Renamed from Source/JavaScriptCore/wtf/Int32Array.h.
      (WTF):
      (Int32Array):
      (WTF::Int32Array::set):
      (WTF::Int32Array::isIntArray):
      (WTF::Int32Array::create):
      (WTF::Int32Array::Int32Array):
      (WTF::Int32Array::subarray):
      * wtf/Int8Array.h: Renamed from Source/JavaScriptCore/wtf/Int8Array.h.
      (WTF):
      (Int8Array):
      (WTF::Int8Array::set):
      (WTF::Int8Array::isByteArray):
      (WTF::Int8Array::create):
      (WTF::Int8Array::Int8Array):
      (WTF::Int8Array::subarray):
      * wtf/IntegralTypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/IntegralTypedArrayBase.h.
      (WTF):
      (IntegralTypedArrayBase):
      (WTF::IntegralTypedArrayBase::set):
      (WTF::IntegralTypedArrayBase::item):
      (WTF::IntegralTypedArrayBase::IntegralTypedArrayBase):
      * wtf/ListHashSet.h: Renamed from Source/JavaScriptCore/wtf/ListHashSet.h.
      (WTF):
      (ListHashSet):
      (ListHashSetNodeAllocator):
      (WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator):
      (WTF::ListHashSetNodeAllocator::allocate):
      (WTF::ListHashSetNodeAllocator::deallocate):
      (WTF::ListHashSetNodeAllocator::pool):
      (WTF::ListHashSetNodeAllocator::pastPool):
      (WTF::ListHashSetNodeAllocator::inPool):
      (ListHashSetNode):
      (WTF::ListHashSetNode::ListHashSetNode):
      (WTF::ListHashSetNode::operator new):
      (WTF::ListHashSetNode::destroy):
      (WTF::ListHashSetNodeHashFunctions::hash):
      (WTF::ListHashSetNodeHashFunctions::equal):
      (ListHashSetNodeHashFunctions):
      (ListHashSetIterator):
      (WTF::ListHashSetIterator::ListHashSetIterator):
      (WTF::ListHashSetIterator::get):
      (WTF::ListHashSetIterator::operator*):
      (WTF::ListHashSetIterator::operator->):
      (WTF::ListHashSetIterator::operator++):
      (WTF::ListHashSetIterator::operator--):
      (WTF::ListHashSetIterator::operator==):
      (WTF::ListHashSetIterator::operator!=):
      (WTF::ListHashSetIterator::operator const_iterator):
      (WTF::ListHashSetIterator::node):
      (ListHashSetConstIterator):
      (WTF::ListHashSetConstIterator::ListHashSetConstIterator):
      (WTF::ListHashSetConstIterator::get):
      (WTF::ListHashSetConstIterator::operator*):
      (WTF::ListHashSetConstIterator::operator->):
      (WTF::ListHashSetConstIterator::operator++):
      (WTF::ListHashSetConstIterator::operator--):
      (WTF::ListHashSetConstIterator::operator==):
      (WTF::ListHashSetConstIterator::operator!=):
      (WTF::ListHashSetConstIterator::node):
      (ListHashSetReverseIterator):
      (WTF::ListHashSetReverseIterator::ListHashSetReverseIterator):
      (WTF::ListHashSetReverseIterator::get):
      (WTF::ListHashSetReverseIterator::operator*):
      (WTF::ListHashSetReverseIterator::operator->):
      (WTF::ListHashSetReverseIterator::operator++):
      (WTF::ListHashSetReverseIterator::operator--):
      (WTF::ListHashSetReverseIterator::operator==):
      (WTF::ListHashSetReverseIterator::operator!=):
      (WTF::ListHashSetReverseIterator::operator const_reverse_iterator):
      (WTF::ListHashSetReverseIterator::node):
      (ListHashSetConstReverseIterator):
      (WTF::ListHashSetConstReverseIterator::ListHashSetConstReverseIterator):
      (WTF::ListHashSetConstReverseIterator::get):
      (WTF::ListHashSetConstReverseIterator::operator*):
      (WTF::ListHashSetConstReverseIterator::operator->):
      (WTF::ListHashSetConstReverseIterator::operator++):
      (WTF::ListHashSetConstReverseIterator::operator--):
      (WTF::ListHashSetConstReverseIterator::operator==):
      (WTF::ListHashSetConstReverseIterator::operator!=):
      (WTF::ListHashSetConstReverseIterator::node):
      (WTF::ListHashSetTranslator::hash):
      (WTF::ListHashSetTranslator::equal):
      (WTF::ListHashSetTranslator::translate):
      (WTF::::ListHashSet):
      (WTF::=):
      (WTF::::swap):
      (WTF::::~ListHashSet):
      (WTF::::size):
      (WTF::::capacity):
      (WTF::::isEmpty):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::rbegin):
      (WTF::::rend):
      (WTF::::first):
      (WTF::::last):
      (WTF::::removeLast):
      (WTF::::find):
      (WTF::ListHashSetTranslatorAdapter::hash):
      (WTF::ListHashSetTranslatorAdapter::equal):
      (WTF::::contains):
      (WTF::::add):
      (WTF::::insertBefore):
      (WTF::::remove):
      (WTF::::clear):
      (WTF::::unlinkAndDelete):
      (WTF::::appendNode):
      (WTF::::insertNodeBefore):
      (WTF::::deleteAllNodes):
      (WTF::::makeReverseIterator):
      (WTF::::makeConstReverseIterator):
      (WTF::::makeIterator):
      (WTF::::makeConstIterator):
      (WTF::deleteAllValues):
      * wtf/ListRefPtr.h: Renamed from Source/JavaScriptCore/wtf/ListRefPtr.h.
      (WTF):
      (ListRefPtr):
      (WTF::ListRefPtr::ListRefPtr):
      (WTF::ListRefPtr::~ListRefPtr):
      (WTF::ListRefPtr::operator=):
      (WTF::getPtr):
      * wtf/Locker.h: Renamed from Source/JavaScriptCore/wtf/Locker.h.
      (WTF):
      (Locker):
      (WTF::Locker::Locker):
      (WTF::Locker::~Locker):
      * wtf/MD5.cpp: Renamed from Source/JavaScriptCore/wtf/MD5.cpp.
      (WTF):
      (WTF::testMD5):
      (WTF::expectMD5):
      (WTF::reverseBytes):
      (WTF::MD5Transform):
      (WTF::MD5::MD5):
      (WTF::MD5::addBytes):
      (WTF::MD5::checksum):
      * wtf/MD5.h: Renamed from Source/JavaScriptCore/wtf/MD5.h.
      (WTF):
      (MD5):
      (WTF::MD5::addBytes):
      * wtf/MainThread.cpp: Renamed from Source/JavaScriptCore/wtf/MainThread.cpp.
      (WTF):
      (FunctionWithContext):
      (WTF::FunctionWithContext::FunctionWithContext):
      (WTF::FunctionWithContext::operator == ):
      (FunctionWithContextFinder):
      (WTF::FunctionWithContextFinder::FunctionWithContextFinder):
      (WTF::FunctionWithContextFinder::operator()):
      (WTF::mainThreadFunctionQueueMutex):
      (WTF::functionQueue):
      (WTF::initializeMainThread):
      (WTF::initializeMainThreadOnce):
      (WTF::initializeMainThreadToProcessMainThreadOnce):
      (WTF::initializeMainThreadToProcessMainThread):
      (WTF::dispatchFunctionsFromMainThread):
      (WTF::callOnMainThread):
      (WTF::callOnMainThreadAndWait):
      (WTF::cancelCallOnMainThread):
      (WTF::callFunctionObject):
      (WTF::setMainThreadCallbacksPaused):
      (WTF::isMainThread):
      (WTF::initializeGCThreads):
      (WTF::registerGCThread):
      (WTF::isMainThreadOrGCThread):
      * wtf/MainThread.h: Renamed from Source/JavaScriptCore/wtf/MainThread.h.
      (WTF):
      (WTF::isMainThreadOrGCThread):
      * wtf/MallocZoneSupport.h: Renamed from Source/JavaScriptCore/wtf/MallocZoneSupport.h.
      (WTF):
      (RemoteMemoryReader):
      (WTF::RemoteMemoryReader::RemoteMemoryReader):
      (WTF::RemoteMemoryReader::operator()):
      (WTF::RemoteMemoryReader::nextEntryInLinkedList):
      * wtf/MathExtras.h: Renamed from Source/JavaScriptCore/wtf/MathExtras.h.
      (wtf_ceil):
      (isfinite):
      (isinf):
      (signbit):
      (round):
      (roundf):
      (llround):
      (llroundf):
      (lround):
      (lroundf):
      (trunc):
      (abs):
      (isnan):
      (nextafter):
      (nextafterf):
      (copysign):
      (log2):
      (log2f):
      (wtf_atan2):
      (wtf_fmod):
      (wtf_pow):
      (deg2rad):
      (rad2deg):
      (deg2grad):
      (grad2deg):
      (turn2deg):
      (deg2turn):
      (rad2grad):
      (grad2rad):
      (defaultMinimumForClamp):
      (defaultMaximumForClamp):
      (clampTo):
      (clampToInteger):
      (clampToFloat):
      (clampToPositiveInteger):
      (isWithinIntRange):
      (decomposeDouble):
      (doubleToInteger):
      * wtf/MessageQueue.h: Renamed from Source/JavaScriptCore/wtf/MessageQueue.h.
      (WTF):
      (MessageQueue):
      (WTF::MessageQueue::MessageQueue):
      (WTF::MessageQueue::infiniteTime):
      (WTF::MessageQueue::alwaysTruePredicate):
      (WTF::::~MessageQueue):
      (WTF::::append):
      (WTF::::appendAndCheckEmpty):
      (WTF::::prepend):
      (WTF::::waitForMessage):
      (WTF::::waitForMessageFilteredWithTimeout):
      (WTF::::tryGetMessage):
      (WTF::::tryGetMessageIgnoringKilled):
      (WTF::::removeIf):
      (WTF::::isEmpty):
      (WTF::::kill):
      (WTF::::killed):
      * wtf/MetaAllocator.cpp: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.cpp.
      (WTF):
      (WTF::MetaAllocator::~MetaAllocator):
      (WTF::MetaAllocatorTracker::notify):
      (WTF::MetaAllocatorTracker::release):
      (WTF::MetaAllocator::release):
      (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::~MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::shrink):
      (WTF::MetaAllocator::MetaAllocator):
      (WTF::MetaAllocator::allocate):
      (WTF::MetaAllocator::currentStatistics):
      (WTF::MetaAllocator::findAndRemoveFreeSpace):
      (WTF::MetaAllocator::addFreeSpaceFromReleasedHandle):
      (WTF::MetaAllocator::addFreshFreeSpace):
      (WTF::MetaAllocator::debugFreeSpaceSize):
      (WTF::MetaAllocator::addFreeSpace):
      (WTF::MetaAllocator::incrementPageOccupancy):
      (WTF::MetaAllocator::decrementPageOccupancy):
      (WTF::MetaAllocator::roundUp):
      (WTF::MetaAllocator::allocFreeSpaceNode):
      (WTF::MetaAllocator::freeFreeSpaceNode):
      (WTF::MetaAllocator::dumpProfile):
      * wtf/MetaAllocator.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocator.h.
      (WTF):
      (MetaAllocatorTracker):
      (WTF::MetaAllocatorTracker::find):
      (MetaAllocator):
      (WTF::MetaAllocator::trackAllocations):
      (WTF::MetaAllocator::bytesAllocated):
      (WTF::MetaAllocator::bytesReserved):
      (WTF::MetaAllocator::bytesCommitted):
      (Statistics):
      (WTF::MetaAllocator::dumpProfile):
      (FreeSpaceNode):
      (WTF::MetaAllocator::FreeSpaceNode::FreeSpaceNode):
      (WTF::MetaAllocator::FreeSpaceNode::key):
      * wtf/MetaAllocatorHandle.h: Renamed from Source/JavaScriptCore/wtf/MetaAllocatorHandle.h.
      (WTF):
      (MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::start):
      (WTF::MetaAllocatorHandle::end):
      (WTF::MetaAllocatorHandle::sizeInBytes):
      (WTF::MetaAllocatorHandle::isManaged):
      (WTF::MetaAllocatorHandle::allocator):
      (WTF::MetaAllocatorHandle::ownerUID):
      (WTF::MetaAllocatorHandle::key):
      * wtf/NonCopyingSort.h: Renamed from Source/JavaScriptCore/wtf/NonCopyingSort.h.
      (WTF):
      (WTF::siftDown):
      (WTF::heapify):
      (WTF::heapSort):
      (WTF::nonCopyingSort):
      * wtf/Noncopyable.h: Renamed from Source/JavaScriptCore/wtf/Noncopyable.h.
      * wtf/NotFound.h: Renamed from Source/JavaScriptCore/wtf/NotFound.h.
      (WTF):
      * wtf/NullPtr.cpp: Renamed from Source/JavaScriptCore/wtf/NullPtr.cpp.
      * wtf/NullPtr.h: Renamed from Source/JavaScriptCore/wtf/NullPtr.h.
      * wtf/NumberOfCores.cpp: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.cpp.
      (WTF):
      (WTF::numberOfProcessorCores):
      * wtf/NumberOfCores.h: Renamed from Source/JavaScriptCore/wtf/NumberOfCores.h.
      (WTF):
      * wtf/OSAllocator.h: Renamed from Source/JavaScriptCore/wtf/OSAllocator.h.
      (WTF):
      (OSAllocator):
      (WTF::OSAllocator::reserveAndCommit):
      (WTF::OSAllocator::decommitAndRelease):
      (WTF::OSAllocator::reallocateCommitted):
      * wtf/OSAllocatorPosix.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorPosix.cpp.
      (WTF):
      (WTF::OSAllocator::reserveUncommitted):
      (WTF::OSAllocator::reserveAndCommit):
      (WTF::OSAllocator::commit):
      (WTF::OSAllocator::decommit):
      (WTF::OSAllocator::releaseDecommitted):
      * wtf/OSAllocatorWin.cpp: Renamed from Source/JavaScriptCore/wtf/OSAllocatorWin.cpp.
      (WTF):
      (WTF::protection):
      (WTF::OSAllocator::reserveUncommitted):
      (WTF::OSAllocator::reserveAndCommit):
      (WTF::OSAllocator::commit):
      (WTF::OSAllocator::decommit):
      (WTF::OSAllocator::releaseDecommitted):
      * wtf/OSRandomSource.cpp: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.cpp.
      (WTF):
      (WTF::cryptographicallyRandomValuesFromOS):
      * wtf/OSRandomSource.h: Renamed from Source/JavaScriptCore/wtf/OSRandomSource.h.
      (WTF):
      * wtf/OwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnArrayPtr.h.
      (WTF):
      (OwnArrayPtr):
      (WTF::OwnArrayPtr::OwnArrayPtr):
      (WTF::OwnArrayPtr::~OwnArrayPtr):
      (WTF::OwnArrayPtr::get):
      (WTF::OwnArrayPtr::operator*):
      (WTF::OwnArrayPtr::operator->):
      (WTF::OwnArrayPtr::operator[]):
      (WTF::OwnArrayPtr::operator!):
      (WTF::OwnArrayPtr::operator UnspecifiedBoolType):
      (WTF::OwnArrayPtr::operator=):
      (WTF::OwnArrayPtr::swap):
      (WTF::::OwnArrayPtr):
      (WTF::::clear):
      (WTF::::release):
      (WTF::::leakPtr):
      (WTF::=):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::getPtr):
      * wtf/OwnPtr.h: Renamed from Source/JavaScriptCore/wtf/OwnPtr.h.
      (WTF):
      (OwnPtr):
      (WTF::OwnPtr::OwnPtr):
      (WTF::OwnPtr::~OwnPtr):
      (WTF::OwnPtr::get):
      (WTF::OwnPtr::operator*):
      (WTF::OwnPtr::operator->):
      (WTF::OwnPtr::operator!):
      (WTF::OwnPtr::operator UnspecifiedBoolType):
      (WTF::OwnPtr::operator=):
      (WTF::OwnPtr::swap):
      (WTF::OwnPtr::operator==):
      (WTF::OwnPtr::operator!=):
      (WTF::::OwnPtr):
      (WTF::::clear):
      (WTF::::release):
      (WTF::::leakPtr):
      (WTF::=):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::getPtr):
      * wtf/OwnPtrCommon.h: Renamed from Source/JavaScriptCore/wtf/OwnPtrCommon.h.
      (WTF):
      (WTF::deleteOwnedPtr):
      * wtf/PackedIntVector.h: Renamed from Source/JavaScriptCore/wtf/PackedIntVector.h.
      (WTF):
      (PackedIntVector):
      (WTF::PackedIntVector::PackedIntVector):
      (WTF::PackedIntVector::operator=):
      (WTF::PackedIntVector::size):
      (WTF::PackedIntVector::ensureSize):
      (WTF::PackedIntVector::resize):
      (WTF::PackedIntVector::clearAll):
      (WTF::PackedIntVector::get):
      (WTF::PackedIntVector::set):
      (WTF::PackedIntVector::mask):
      * wtf/PageAllocation.h: Renamed from Source/JavaScriptCore/wtf/PageAllocation.h.
      (WTF):
      (PageAllocation):
      (WTF::PageAllocation::PageAllocation):
      (WTF::PageAllocation::operator bool):
      (WTF::PageAllocation::allocate):
      (WTF::PageAllocation::deallocate):
      * wtf/PageAllocationAligned.cpp: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.cpp.
      (WTF):
      (WTF::PageAllocationAligned::allocate):
      (WTF::PageAllocationAligned::deallocate):
      * wtf/PageAllocationAligned.h: Renamed from Source/JavaScriptCore/wtf/PageAllocationAligned.h.
      (WTF):
      (PageAllocationAligned):
      (WTF::PageAllocationAligned::PageAllocationAligned):
      * wtf/PageBlock.cpp: Renamed from Source/JavaScriptCore/wtf/PageBlock.cpp.
      (WTF):
      (WTF::systemPageSize):
      (WTF::pageSize):
      (WTF::pageMask):
      * wtf/PageBlock.h: Renamed from Source/JavaScriptCore/wtf/PageBlock.h.
      (WTF):
      (WTF::isPageAligned):
      (WTF::isPowerOfTwo):
      (PageBlock):
      (WTF::PageBlock::base):
      (WTF::PageBlock::size):
      (WTF::PageBlock::operator bool):
      (WTF::PageBlock::contains):
      (WTF::PageBlock::PageBlock):
      * wtf/PageReservation.h: Renamed from Source/JavaScriptCore/wtf/PageReservation.h.
      (WTF):
      (PageReservation):
      (WTF::PageReservation::PageReservation):
      (WTF::PageReservation::operator bool):
      (WTF::PageReservation::commit):
      (WTF::PageReservation::decommit):
      (WTF::PageReservation::committed):
      (WTF::PageReservation::reserve):
      (WTF::PageReservation::reserveWithGuardPages):
      (WTF::PageReservation::deallocate):
      * wtf/ParallelJobs.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobs.h.
      (WTF):
      (ParallelJobs):
      (WTF::ParallelJobs::ParallelJobs):
      (WTF::ParallelJobs::numberOfJobs):
      (WTF::ParallelJobs::parameter):
      (WTF::ParallelJobs::execute):
      * wtf/ParallelJobsGeneric.cpp: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.cpp.
      (WTF):
      (WTF::ParallelEnvironment::ParallelEnvironment):
      (WTF::ParallelEnvironment::execute):
      (WTF::ParallelEnvironment::ThreadPrivate::tryLockFor):
      (WTF::ParallelEnvironment::ThreadPrivate::execute):
      (WTF::ParallelEnvironment::ThreadPrivate::waitForFinish):
      (WTF::ParallelEnvironment::ThreadPrivate::workerThread):
      * wtf/ParallelJobsGeneric.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsGeneric.h.
      (WTF):
      (ParallelEnvironment):
      (WTF::ParallelEnvironment::numberOfJobs):
      (ThreadPrivate):
      (WTF::ParallelEnvironment::ThreadPrivate::ThreadPrivate):
      (WTF::ParallelEnvironment::ThreadPrivate::create):
      * wtf/ParallelJobsLibdispatch.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsLibdispatch.h.
      (WTF):
      (ParallelEnvironment):
      (WTF::ParallelEnvironment::ParallelEnvironment):
      (WTF::ParallelEnvironment::numberOfJobs):
      (WTF::ParallelEnvironment::execute):
      * wtf/ParallelJobsOpenMP.h: Renamed from Source/JavaScriptCore/wtf/ParallelJobsOpenMP.h.
      (WTF):
      (ParallelEnvironment):
      (WTF::ParallelEnvironment::ParallelEnvironment):
      (WTF::ParallelEnvironment::numberOfJobs):
      (WTF::ParallelEnvironment::execute):
      * wtf/PassOwnArrayPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnArrayPtr.h.
      (WTF):
      (PassOwnArrayPtr):
      (WTF::PassOwnArrayPtr::PassOwnArrayPtr):
      (WTF::PassOwnArrayPtr::~PassOwnArrayPtr):
      (WTF::PassOwnArrayPtr::get):
      (WTF::PassOwnArrayPtr::operator*):
      (WTF::PassOwnArrayPtr::operator->):
      (WTF::PassOwnArrayPtr::operator!):
      (WTF::PassOwnArrayPtr::operator UnspecifiedBoolType):
      (WTF::PassOwnArrayPtr::operator=):
      (WTF::::leakPtr):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::adoptArrayPtr):
      (WTF::deleteOwnedArrayPtr):
      (WTF::static_pointer_cast):
      (WTF::const_pointer_cast):
      (WTF::getPtr):
      * wtf/PassOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/PassOwnPtr.h.
      (WTF):
      (PassOwnPtr):
      (WTF::PassOwnPtr::PassOwnPtr):
      (WTF::PassOwnPtr::~PassOwnPtr):
      (WTF::PassOwnPtr::get):
      (WTF::PassOwnPtr::operator*):
      (WTF::PassOwnPtr::operator->):
      (WTF::PassOwnPtr::operator!):
      (WTF::PassOwnPtr::operator UnspecifiedBoolType):
      (WTF::PassOwnPtr::operator=):
      (WTF::PassOwnPtr::operator==):
      (WTF::PassOwnPtr::operator!=):
      (WTF::::leakPtr):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::adoptPtr):
      (WTF::static_pointer_cast):
      (WTF::const_pointer_cast):
      (WTF::getPtr):
      * wtf/PassRefPtr.h: Renamed from Source/JavaScriptCore/wtf/PassRefPtr.h.
      (WTF):
      (WTF::adopted):
      (WTF::refIfNotNull):
      (WTF::derefIfNotNull):
      (PassRefPtr):
      (WTF::PassRefPtr::PassRefPtr):
      (WTF::PassRefPtr::~PassRefPtr):
      (WTF::PassRefPtr::get):
      (WTF::PassRefPtr::operator*):
      (WTF::PassRefPtr::operator->):
      (WTF::PassRefPtr::operator!):
      (WTF::PassRefPtr::operator UnspecifiedBoolType):
      (WTF::PassRefPtr::operator=):
      (NonNullPassRefPtr):
      (WTF::NonNullPassRefPtr::NonNullPassRefPtr):
      (WTF::NonNullPassRefPtr::~NonNullPassRefPtr):
      (WTF::NonNullPassRefPtr::get):
      (WTF::NonNullPassRefPtr::operator*):
      (WTF::NonNullPassRefPtr::operator->):
      (WTF::NonNullPassRefPtr::operator=):
      (WTF::::PassRefPtr):
      (WTF::::leakRef):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::adoptRef):
      (WTF::static_pointer_cast):
      (WTF::const_pointer_cast):
      (WTF::getPtr):
      * wtf/PassTraits.h: Renamed from Source/JavaScriptCore/wtf/PassTraits.h.
      (WTF):
      (PassTraits):
      (WTF::PassTraits::transfer):
      * wtf/PlatformBlackBerry.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformBlackBerry.cmake.
      * wtf/PlatformEfl.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformEfl.cmake.
      * wtf/PlatformWinCE.cmake: Renamed from Source/JavaScriptCore/wtf/PlatformWinCE.cmake.
      * wtf/PossiblyNull.h: Renamed from Source/JavaScriptCore/wtf/PossiblyNull.h.
      (WTF):
      (WTF::PossiblyNull::PossiblyNull):
      (WTF::PossiblyNull::~PossiblyNull):
      (PossiblyNull):
      (WTF::::getValue):
      * wtf/RandomNumber.cpp: Renamed from Source/JavaScriptCore/wtf/RandomNumber.cpp.
      (WTF):
      (WTF::randomNumber):
      * wtf/RandomNumber.h: Renamed from Source/JavaScriptCore/wtf/RandomNumber.h.
      (WTF):
      * wtf/RandomNumberSeed.h: Renamed from Source/JavaScriptCore/wtf/RandomNumberSeed.h.
      (WTF):
      (WTF::initializeRandomNumberGenerator):
      * wtf/RedBlackTree.h: Renamed from Source/JavaScriptCore/wtf/RedBlackTree.h.
      (WTF):
      (RedBlackTree):
      (Node):
      (WTF::RedBlackTree::Node::successor):
      (WTF::RedBlackTree::Node::predecessor):
      (WTF::RedBlackTree::Node::reset):
      (WTF::RedBlackTree::Node::parent):
      (WTF::RedBlackTree::Node::setParent):
      (WTF::RedBlackTree::Node::left):
      (WTF::RedBlackTree::Node::setLeft):
      (WTF::RedBlackTree::Node::right):
      (WTF::RedBlackTree::Node::setRight):
      (WTF::RedBlackTree::Node::color):
      (WTF::RedBlackTree::Node::setColor):
      (WTF::RedBlackTree::RedBlackTree):
      (WTF::RedBlackTree::insert):
      (WTF::RedBlackTree::remove):
      (WTF::RedBlackTree::findExact):
      (WTF::RedBlackTree::findLeastGreaterThanOrEqual):
      (WTF::RedBlackTree::findGreatestLessThanOrEqual):
      (WTF::RedBlackTree::first):
      (WTF::RedBlackTree::last):
      (WTF::RedBlackTree::size):
      (WTF::RedBlackTree::isEmpty):
      (WTF::RedBlackTree::treeMinimum):
      (WTF::RedBlackTree::treeMaximum):
      (WTF::RedBlackTree::treeInsert):
      (WTF::RedBlackTree::leftRotate):
      (WTF::RedBlackTree::rightRotate):
      (WTF::RedBlackTree::removeFixup):
      * wtf/RefCounted.h: Renamed from Source/JavaScriptCore/wtf/RefCounted.h.
      (WTF):
      (RefCountedBase):
      (WTF::RefCountedBase::ref):
      (WTF::RefCountedBase::hasOneRef):
      (WTF::RefCountedBase::refCount):
      (WTF::RefCountedBase::turnOffVerifier):
      (WTF::RefCountedBase::relaxAdoptionRequirement):
      (WTF::RefCountedBase::addressOfCount):
      (WTF::RefCountedBase::RefCountedBase):
      (WTF::RefCountedBase::~RefCountedBase):
      (WTF::RefCountedBase::derefBase):
      (WTF::RefCountedBase::deletionHasBegun):
      (WTF::adopted):
      (RefCounted):
      (WTF::RefCounted::deref):
      (WTF::RefCounted::RefCounted):
      (WTF::RefCounted::~RefCounted):
      (RefCountedCustomAllocated):
      (WTF::RefCountedCustomAllocated::deref):
      (WTF::RefCountedCustomAllocated::~RefCountedCustomAllocated):
      (WTF::RefCountedBase::setMutexForVerifier):
      (WTF::RefCountedBase::setDispatchQueueForVerifier):
      * wtf/RefCountedArray.h: Renamed from Source/JavaScriptCore/wtf/RefCountedArray.h.
      (WTF):
      (RefCountedArray):
      (WTF::RefCountedArray::RefCountedArray):
      (WTF::RefCountedArray::operator=):
      (WTF::RefCountedArray::~RefCountedArray):
      (WTF::RefCountedArray::size):
      (WTF::RefCountedArray::data):
      (WTF::RefCountedArray::begin):
      (WTF::RefCountedArray::end):
      (WTF::RefCountedArray::at):
      (WTF::RefCountedArray::operator[]):
      (Header):
      (WTF::RefCountedArray::Header::size):
      (WTF::RefCountedArray::Header::payload):
      (WTF::RefCountedArray::Header::fromPayload):
      * wtf/RefCountedLeakCounter.cpp: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.cpp.
      (WTF):
      (WTF::RefCountedLeakCounter::suppressMessages):
      (WTF::RefCountedLeakCounter::cancelMessageSuppression):
      (WTF::RefCountedLeakCounter::RefCountedLeakCounter):
      (WTF::RefCountedLeakCounter::~RefCountedLeakCounter):
      (WTF::RefCountedLeakCounter::increment):
      (WTF::RefCountedLeakCounter::decrement):
      * wtf/RefCountedLeakCounter.h: Renamed from Source/JavaScriptCore/wtf/RefCountedLeakCounter.h.
      (WTF):
      (RefCountedLeakCounter):
      * wtf/RefPtr.h: Renamed from Source/JavaScriptCore/wtf/RefPtr.h.
      (WTF):
      (RefPtr):
      (WTF::RefPtr::RefPtr):
      (WTF::RefPtr::isHashTableDeletedValue):
      (WTF::RefPtr::~RefPtr):
      (WTF::RefPtr::get):
      (WTF::RefPtr::release):
      (WTF::RefPtr::operator*):
      (WTF::RefPtr::operator->):
      (WTF::RefPtr::operator!):
      (WTF::RefPtr::operator UnspecifiedBoolType):
      (WTF::RefPtr::operator=):
      (WTF::RefPtr::hashTableDeletedValue):
      (WTF::::RefPtr):
      (WTF::::clear):
      (WTF::=):
      (WTF::::swap):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::static_pointer_cast):
      (WTF::const_pointer_cast):
      (WTF::getPtr):
      * wtf/RefPtrHashMap.h: Renamed from Source/JavaScriptCore/wtf/RefPtrHashMap.h.
      (WTF):
      (WTF::::swap):
      (WTF::::size):
      (WTF::::capacity):
      (WTF::::isEmpty):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::find):
      (WTF::::contains):
      (WTF::::inlineAdd):
      (WTF::::set):
      (WTF::::add):
      (WTF::::get):
      (WTF::::inlineGet):
      (WTF::::remove):
      (WTF::::clear):
      (WTF::::take):
      * wtf/RetainPtr.h: Renamed from Source/JavaScriptCore/wtf/RetainPtr.h.
      (WTF):
      (WTF::adoptNSReference):
      (RetainPtr):
      (WTF::RetainPtr::RetainPtr):
      (WTF::RetainPtr::isHashTableDeletedValue):
      (WTF::RetainPtr::~RetainPtr):
      (WTF::RetainPtr::get):
      (WTF::RetainPtr::operator->):
      (WTF::RetainPtr::operator!):
      (WTF::RetainPtr::operator UnspecifiedBoolType):
      (WTF::RetainPtr::operator=):
      (WTF::RetainPtr::hashTableDeletedValue):
      (WTF::::RetainPtr):
      (WTF::::clear):
      (WTF::::leakRef):
      (WTF::=):
      (WTF::::adoptCF):
      (WTF::::adoptNS):
      (WTF::::swap):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::adoptCF):
      (WTF::adoptNS):
      (WTF::retainPtr):
      * wtf/SHA1.cpp: Renamed from Source/JavaScriptCore/wtf/SHA1.cpp.
      (WTF):
      (WTF::testSHA1):
      (WTF::expectSHA1):
      (WTF::f):
      (WTF::k):
      (WTF::rotateLeft):
      (WTF::SHA1::SHA1):
      (WTF::SHA1::addBytes):
      (WTF::SHA1::computeHash):
      (WTF::SHA1::finalize):
      (WTF::SHA1::processBlock):
      (WTF::SHA1::reset):
      * wtf/SHA1.h: Renamed from Source/JavaScriptCore/wtf/SHA1.h.
      (WTF):
      (SHA1):
      (WTF::SHA1::addBytes):
      * wtf/SegmentedVector.h: Renamed from Source/JavaScriptCore/wtf/SegmentedVector.h.
      (WTF):
      (SegmentedVectorIterator):
      (WTF::SegmentedVectorIterator::~SegmentedVectorIterator):
      (WTF::SegmentedVectorIterator::operator*):
      (WTF::SegmentedVectorIterator::operator->):
      (WTF::SegmentedVectorIterator::operator++):
      (WTF::SegmentedVectorIterator::operator==):
      (WTF::SegmentedVectorIterator::operator!=):
      (WTF::SegmentedVectorIterator::operator=):
      (WTF::SegmentedVectorIterator::SegmentedVectorIterator):
      (SegmentedVector):
      (WTF::SegmentedVector::SegmentedVector):
      (WTF::SegmentedVector::~SegmentedVector):
      (WTF::SegmentedVector::size):
      (WTF::SegmentedVector::isEmpty):
      (WTF::SegmentedVector::at):
      (WTF::SegmentedVector::operator[]):
      (WTF::SegmentedVector::last):
      (WTF::SegmentedVector::append):
      (WTF::SegmentedVector::alloc):
      (WTF::SegmentedVector::removeLast):
      (WTF::SegmentedVector::grow):
      (WTF::SegmentedVector::clear):
      (WTF::SegmentedVector::begin):
      (WTF::SegmentedVector::end):
      (WTF::SegmentedVector::deleteAllSegments):
      (WTF::SegmentedVector::segmentExistsFor):
      (WTF::SegmentedVector::segmentFor):
      (WTF::SegmentedVector::subscriptFor):
      (WTF::SegmentedVector::ensureSegmentsFor):
      (WTF::SegmentedVector::ensureSegment):
      * wtf/SentinelLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SentinelLinkedList.h.
      (WTF):
      (BasicRawSentinelNode):
      (WTF::BasicRawSentinelNode::BasicRawSentinelNode):
      (WTF::BasicRawSentinelNode::setPrev):
      (WTF::BasicRawSentinelNode::setNext):
      (WTF::BasicRawSentinelNode::prev):
      (WTF::BasicRawSentinelNode::next):
      (WTF::BasicRawSentinelNode::isOnList):
      (SentinelLinkedList):
      (WTF::SentinelLinkedList::isEmpty):
      (WTF::::remove):
      (WTF::::SentinelLinkedList):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::push):
      * wtf/SimpleStats.h: Renamed from Source/JavaScriptCore/wtf/SimpleStats.h.
      (WTF):
      (SimpleStats):
      (WTF::SimpleStats::SimpleStats):
      (WTF::SimpleStats::add):
      (WTF::SimpleStats::operator!):
      (WTF::SimpleStats::count):
      (WTF::SimpleStats::sum):
      (WTF::SimpleStats::sumOfSquares):
      (WTF::SimpleStats::mean):
      (WTF::SimpleStats::variance):
      (WTF::SimpleStats::standardDeviation):
      * wtf/SinglyLinkedList.h: Renamed from Source/JavaScriptCore/wtf/SinglyLinkedList.h.
      (WTF):
      (SinglyLinkedList):
      (WTF::::SinglyLinkedList):
      (WTF::::isEmpty):
      (WTF::::push):
      (WTF::::pop):
      * wtf/SizeLimits.cpp: Renamed from Source/JavaScriptCore/wtf/SizeLimits.cpp.
      (WTF):
      (SameSizeAsRefCounted):
      * wtf/Spectrum.h: Renamed from Source/JavaScriptCore/wtf/Spectrum.h.
      (WTF):
      (Spectrum):
      (WTF::Spectrum::Spectrum):
      (WTF::Spectrum::add):
      (WTF::Spectrum::get):
      (WTF::Spectrum::begin):
      (WTF::Spectrum::end):
      (WTF::Spectrum::KeyAndCount::KeyAndCount):
      (KeyAndCount):
      (WTF::Spectrum::KeyAndCount::operator<):
      (WTF::Spectrum::buildList):
      * wtf/StackBounds.cpp: Renamed from Source/JavaScriptCore/wtf/StackBounds.cpp.
      (WTF):
      (WTF::estimateStackBound):
      (WTF::StackBounds::initialize):
      (WTF::detectGrowingDownward):
      (WTF::isPageWritable):
      (WTF::getLowerStackBound):
      (WTF::getUpperStackBound):
      * wtf/StackBounds.h: Renamed from Source/JavaScriptCore/wtf/StackBounds.h.
      (WTF):
      (StackBounds):
      (WTF::StackBounds::StackBounds):
      (WTF::StackBounds::currentThreadStackBounds):
      (WTF::StackBounds::origin):
      (WTF::StackBounds::current):
      (WTF::StackBounds::recursionLimit):
      (WTF::StackBounds::recursionCheck):
      (WTF::StackBounds::isGrowingDownward):
      (WTF::StackBounds::checkConsistency):
      * wtf/StaticConstructors.h: Renamed from Source/JavaScriptCore/wtf/StaticConstructors.h.
      * wtf/StdLibExtras.h: Renamed from Source/JavaScriptCore/wtf/StdLibExtras.h.
      (isPointerTypeAlignmentOkay):
      (reinterpret_cast_ptr):
      (WTF):
      (WTF::isPointerAligned):
      (WTF::is8ByteAligned):
      (WTF::bitwise_cast):
      (WTF::safeCast):
      (WTF::bitCount):
      (WTF::roundUpToMultipleOf):
      (WTF::binarySearch):
      (WTF::binarySearchWithFunctor):
      (WTF::genericBinarySearch):
      (operator new):
      * wtf/StringExtras.cpp: Renamed from Source/JavaScriptCore/wtf/StringExtras.cpp.
      (strcasecmp):
      (strncasecmp):
      * wtf/StringExtras.h: Renamed from Source/JavaScriptCore/wtf/StringExtras.h.
      (snprintf):
      (wtf_vsnprintf):
      (strnicmp):
      (stricmp):
      (strdup):
      (strncasecmp):
      (strcasecmp):
      (strnstr):
      * wtf/StringHasher.h: Renamed from Source/JavaScriptCore/wtf/StringHasher.h.
      (WTF):
      (StringHasher):
      (WTF::StringHasher::StringHasher):
      (WTF::StringHasher::addCharacters):
      (WTF::StringHasher::addCharacter):
      (WTF::StringHasher::hash):
      (WTF::StringHasher::computeHash):
      (WTF::StringHasher::hashMemory):
      (WTF::StringHasher::defaultConverter):
      (WTF::StringHasher::addCharactersToHash):
      * wtf/TCPackedCache.h: Renamed from Source/JavaScriptCore/wtf/TCPackedCache.h.
      (PackedCache):
      (PackedCache::PackedCache):
      (PackedCache::Put):
      (PackedCache::Has):
      (PackedCache::GetOrDefault):
      (PackedCache::Clear):
      (PackedCache::EntryToValue):
      (PackedCache::EntryToUpper):
      (PackedCache::KeyToUpper):
      (PackedCache::UpperToPartialKey):
      (PackedCache::Hash):
      (PackedCache::KeyMatch):
      * wtf/TCPageMap.h: Renamed from Source/JavaScriptCore/wtf/TCPageMap.h.
      (TCMalloc_PageMap1):
      (TCMalloc_PageMap1::init):
      (TCMalloc_PageMap1::Ensure):
      (TCMalloc_PageMap1::PreallocateMoreMemory):
      (TCMalloc_PageMap1::get):
      (TCMalloc_PageMap1::set):
      (TCMalloc_PageMap2):
      (Leaf):
      (TCMalloc_PageMap2::init):
      (TCMalloc_PageMap2::get):
      (TCMalloc_PageMap2::set):
      (TCMalloc_PageMap2::Ensure):
      (TCMalloc_PageMap2::PreallocateMoreMemory):
      (TCMalloc_PageMap2::visitValues):
      (TCMalloc_PageMap2::visitAllocations):
      (TCMalloc_PageMap3):
      (Node):
      (TCMalloc_PageMap3::NewNode):
      (TCMalloc_PageMap3::init):
      (TCMalloc_PageMap3::get):
      (TCMalloc_PageMap3::set):
      (TCMalloc_PageMap3::Ensure):
      (TCMalloc_PageMap3::PreallocateMoreMemory):
      (TCMalloc_PageMap3::visitValues):
      (TCMalloc_PageMap3::visitAllocations):
      * wtf/TCSpinLock.h: Renamed from Source/JavaScriptCore/wtf/TCSpinLock.h.
      (TCMalloc_SpinLock):
      (TCMalloc_SpinLock::Lock):
      (TCMalloc_SpinLock::Unlock):
      (TCMalloc_SpinLock::IsHeld):
      (TCMalloc_SpinLock::Init):
      (TCMalloc_SpinLock::Finalize):
      (TCMalloc_SlowLock):
      (TCMalloc_SpinLockHolder):
      (TCMalloc_SpinLockHolder::TCMalloc_SpinLockHolder):
      (TCMalloc_SpinLockHolder::~TCMalloc_SpinLockHolder):
      * wtf/TCSystemAlloc.cpp: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.cpp.
      (TrySbrk):
      (TryMmap):
      (TryVirtualAlloc):
      (TryDevMem):
      (TCMalloc_SystemAlloc):
      (TCMalloc_SystemRelease):
      (TCMalloc_SystemCommit):
      * wtf/TCSystemAlloc.h: Renamed from Source/JavaScriptCore/wtf/TCSystemAlloc.h.
      (TCMalloc_SystemRelease):
      (TCMalloc_SystemCommit):
      * wtf/TemporaryChange.h: Renamed from Source/JavaScriptCore/wtf/TemporaryChange.h.
      (WTF):
      (TemporaryChange):
      (WTF::TemporaryChange::TemporaryChange):
      (WTF::TemporaryChange::~TemporaryChange):
      * wtf/ThreadFunctionInvocation.h: Renamed from Source/JavaScriptCore/wtf/ThreadFunctionInvocation.h.
      (WTF):
      (WTF::ThreadFunctionInvocation::ThreadFunctionInvocation):
      (ThreadFunctionInvocation):
      * wtf/ThreadIdentifierDataPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.cpp.
      (WTF):
      (WTF::ThreadIdentifierData::~ThreadIdentifierData):
      (WTF::ThreadIdentifierData::initializeOnce):
      (WTF::ThreadIdentifierData::identifier):
      (WTF::ThreadIdentifierData::initialize):
      (WTF::ThreadIdentifierData::destruct):
      * wtf/ThreadIdentifierDataPthreads.h: Renamed from Source/JavaScriptCore/wtf/ThreadIdentifierDataPthreads.h.
      (WTF):
      (ThreadIdentifierData):
      (WTF::ThreadIdentifierData::ThreadIdentifierData):
      * wtf/ThreadRestrictionVerifier.h: Renamed from Source/JavaScriptCore/wtf/ThreadRestrictionVerifier.h.
      (WTF):
      (ThreadRestrictionVerifier):
      (WTF::ThreadRestrictionVerifier::ThreadRestrictionVerifier):
      (WTF::ThreadRestrictionVerifier::~ThreadRestrictionVerifier):
      (WTF::ThreadRestrictionVerifier::setMutexMode):
      (WTF::ThreadRestrictionVerifier::setDispatchQueueMode):
      (WTF::ThreadRestrictionVerifier::turnOffVerification):
      (WTF::ThreadRestrictionVerifier::setShared):
      (WTF::ThreadRestrictionVerifier::isSafeToUse):
      * wtf/ThreadSafeRefCounted.h: Renamed from Source/JavaScriptCore/wtf/ThreadSafeRefCounted.h.
      (WTF):
      (ThreadSafeRefCountedBase):
      (WTF::ThreadSafeRefCountedBase::ThreadSafeRefCountedBase):
      (WTF::ThreadSafeRefCountedBase::ref):
      (WTF::ThreadSafeRefCountedBase::hasOneRef):
      (WTF::ThreadSafeRefCountedBase::refCount):
      (WTF::ThreadSafeRefCountedBase::derefBase):
      (ThreadSafeRefCounted):
      (WTF::ThreadSafeRefCounted::deref):
      (WTF::ThreadSafeRefCounted::ThreadSafeRefCounted):
      * wtf/ThreadSpecific.h: Renamed from Source/JavaScriptCore/wtf/ThreadSpecific.h.
      (WTF):
      (ThreadSpecific):
      (Data):
      (WTF::ThreadSpecific::Data::Data):
      (WTF::::ThreadSpecific):
      (WTF::::get):
      (WTF::::set):
      (WTF::::~ThreadSpecific):
      (WTF::::destroy):
      (WTF::::isSet):
      (WTF::T):
      (WTF::::operator):
      * wtf/ThreadSpecificWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadSpecificWin.cpp.
      (WTF):
      (WTF::tlsKeyCount):
      (WTF::tlsKeys):
      (WTF::ThreadSpecificThreadExit):
      * wtf/Threading.cpp: Renamed from Source/JavaScriptCore/wtf/Threading.cpp.
      (WTF):
      (NewThreadContext):
      (WTF::NewThreadContext::NewThreadContext):
      (WTF::threadEntryPoint):
      (WTF::createThread):
      (WTF::ThreadFunctionWithReturnValueInvocation::ThreadFunctionWithReturnValueInvocation):
      (ThreadFunctionWithReturnValueInvocation):
      (WTF::compatEntryPoint):
      (WTF::waitForThreadCompletion):
      * wtf/Threading.h: Renamed from Source/JavaScriptCore/wtf/Threading.h.
      (WTF):
      * wtf/ThreadingNone.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingNone.cpp.
      * wtf/ThreadingPrimitives.h: Renamed from Source/JavaScriptCore/wtf/ThreadingPrimitives.h.
      (WTF):
      (PlatformMutex):
      (PlatformCondition):
      (Mutex):
      (WTF::Mutex::impl):
      (ReadWriteLock):
      (ThreadCondition):
      * wtf/ThreadingPthreads.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingPthreads.cpp.
      (WTF):
      (WTF::threadMapMutex):
      (WTF::initializeThreading):
      (WTF::lockAtomicallyInitializedStaticMutex):
      (WTF::unlockAtomicallyInitializedStaticMutex):
      (WTF::threadMap):
      (WTF::identifierByPthreadHandle):
      (WTF::establishIdentifierForPthreadHandle):
      (WTF::pthreadHandleForIdentifier):
      (WTF::clearPthreadHandleForIdentifier):
      (WTF::wtfThreadEntryPoint):
      (WTF::createThreadInternal):
      (WTF::initializeCurrentThreadInternal):
      (WTF::waitForThreadCompletion):
      (WTF::detachThread):
      (WTF::yield):
      (WTF::currentThread):
      (WTF::Mutex::Mutex):
      (WTF::Mutex::~Mutex):
      (WTF::Mutex::lock):
      (WTF::Mutex::tryLock):
      (WTF::Mutex::unlock):
      (WTF::ReadWriteLock::ReadWriteLock):
      (WTF::ReadWriteLock::~ReadWriteLock):
      (WTF::ReadWriteLock::readLock):
      (WTF::ReadWriteLock::tryReadLock):
      (WTF::ReadWriteLock::writeLock):
      (WTF::ReadWriteLock::tryWriteLock):
      (WTF::ReadWriteLock::unlock):
      (WTF::ThreadCondition::ThreadCondition):
      (WTF::ThreadCondition::~ThreadCondition):
      (WTF::ThreadCondition::wait):
      (WTF::ThreadCondition::timedWait):
      (WTF::ThreadCondition::signal):
      (WTF::ThreadCondition::broadcast):
      * wtf/ThreadingWin.cpp: Renamed from Source/JavaScriptCore/wtf/ThreadingWin.cpp.
      (WTF):
      (tagTHREADNAME_INFO):
      (WTF::initializeCurrentThreadInternal):
      (WTF::lockAtomicallyInitializedStaticMutex):
      (WTF::unlockAtomicallyInitializedStaticMutex):
      (WTF::threadMapMutex):
      (WTF::initializeThreading):
      (WTF::threadMap):
      (WTF::storeThreadHandleByIdentifier):
      (WTF::threadHandleForIdentifier):
      (WTF::clearThreadHandleForIdentifier):
      (WTF::wtfThreadEntryPoint):
      (WTF::createThreadInternal):
      (WTF::waitForThreadCompletion):
      (WTF::detachThread):
      (WTF::yield):
      (WTF::currentThread):
      (WTF::Mutex::Mutex):
      (WTF::Mutex::~Mutex):
      (WTF::Mutex::lock):
      (WTF::Mutex::tryLock):
      (WTF::Mutex::unlock):
      (WTF::PlatformCondition::timedWait):
      (WTF::PlatformCondition::signal):
      (WTF::ThreadCondition::ThreadCondition):
      (WTF::ThreadCondition::~ThreadCondition):
      (WTF::ThreadCondition::wait):
      (WTF::ThreadCondition::timedWait):
      (WTF::ThreadCondition::signal):
      (WTF::ThreadCondition::broadcast):
      (WTF::absoluteTimeToWaitTimeoutInterval):
      * wtf/TypeTraits.cpp: Renamed from Source/JavaScriptCore/wtf/TypeTraits.cpp.
      (WTF):
      * wtf/TypeTraits.h: Renamed from Source/JavaScriptCore/wtf/TypeTraits.h.
      (WTF):
      (IsConvertibleToInteger):
      (IsArray):
      (IsSameType):
      (IsSubclass):
      (NoType):
      (IsSubclassOfTemplate):
      (RemoveTemplate):
      (RemoveConst):
      (RemoveVolatile):
      (RemoveConstVolatile):
      (RemovePointer):
      (RemoveReference):
      (RemoveExtent):
      (DecayArray):
      (IntegralConstant):
      * wtf/TypedArrayBase.h: Renamed from Source/JavaScriptCore/wtf/TypedArrayBase.h.
      (WTF):
      (TypedArrayBase):
      (WTF::TypedArrayBase::data):
      (WTF::TypedArrayBase::set):
      (WTF::TypedArrayBase::setRange):
      (WTF::TypedArrayBase::zeroRange):
      (WTF::TypedArrayBase::length):
      (WTF::TypedArrayBase::byteLength):
      (WTF::TypedArrayBase::TypedArrayBase):
      (WTF::TypedArrayBase::create):
      (WTF::TypedArrayBase::subarrayImpl):
      (WTF::TypedArrayBase::neuter):
      * wtf/Uint16Array.h: Renamed from Source/JavaScriptCore/wtf/Uint16Array.h.
      (WTF):
      (Uint16Array):
      (WTF::Uint16Array::set):
      (WTF::Uint16Array::isUnsignedShortArray):
      (WTF::Uint16Array::create):
      (WTF::Uint16Array::Uint16Array):
      (WTF::Uint16Array::subarray):
      * wtf/Uint32Array.h: Renamed from Source/JavaScriptCore/wtf/Uint32Array.h.
      (WTF):
      (Uint32Array):
      (WTF::Uint32Array::set):
      (WTF::Uint32Array::isUnsignedIntArray):
      (WTF::Uint32Array::create):
      (WTF::Uint32Array::Uint32Array):
      (WTF::Uint32Array::subarray):
      * wtf/Uint8Array.h: Renamed from Source/JavaScriptCore/wtf/Uint8Array.h.
      (WTF):
      (Uint8Array):
      (WTF::Uint8Array::set):
      (WTF::Uint8Array::isUnsignedByteArray):
      (WTF::Uint8Array::create):
      (WTF::Uint8Array::Uint8Array):
      (WTF::Uint8Array::subarray):
      * wtf/Uint8ClampedArray.h: Renamed from Source/JavaScriptCore/wtf/Uint8ClampedArray.h.
      (WTF):
      (Uint8ClampedArray):
      (WTF::Uint8ClampedArray::set):
      (WTF::Uint8ClampedArray::isUnsignedByteClampedArray):
      (WTF::Uint8ClampedArray::create):
      (WTF::Uint8ClampedArray::Uint8ClampedArray):
      (WTF::Uint8ClampedArray::subarray):
      * wtf/UnionFind.h: Renamed from Source/JavaScriptCore/wtf/UnionFind.h.
      (WTF):
      (UnionFind):
      (WTF::UnionFind::UnionFind):
      (WTF::UnionFind::find):
      (WTF::UnionFind::unify):
      * wtf/UnusedParam.h: Renamed from Source/JavaScriptCore/wtf/UnusedParam.h.
      (unusedParam):
      * wtf/VMTags.h: Renamed from Source/JavaScriptCore/wtf/VMTags.h.
      * wtf/ValueCheck.h: Renamed from Source/JavaScriptCore/wtf/ValueCheck.h.
      (WTF):
      (ValueCheck):
      (WTF::ValueCheck::checkConsistency):
      * wtf/Vector.h: Renamed from Source/JavaScriptCore/wtf/Vector.h.
      (WTF):
      (WTF::VectorTypeOperations::destruct):
      (VectorTypeOperations):
      (WTF::VectorTypeOperations::initialize):
      (WTF::VectorTypeOperations::move):
      (WTF::VectorTypeOperations::moveOverlapping):
      (WTF::VectorTypeOperations::uninitializedCopy):
      (WTF::VectorTypeOperations::uninitializedFill):
      (WTF::VectorTypeOperations::compare):
      (VectorBufferBase):
      (WTF::VectorBufferBase::allocateBuffer):
      (WTF::VectorBufferBase::tryAllocateBuffer):
      (WTF::VectorBufferBase::deallocateBuffer):
      (WTF::VectorBufferBase::buffer):
      (WTF::VectorBufferBase::bufferSlot):
      (WTF::VectorBufferBase::capacity):
      (WTF::VectorBufferBase::releaseBuffer):
      (WTF::VectorBufferBase::VectorBufferBase):
      (WTF::VectorBufferBase::~VectorBufferBase):
      (VectorBuffer):
      (WTF::VectorBuffer::VectorBuffer):
      (WTF::VectorBuffer::~VectorBuffer):
      (WTF::VectorBuffer::allocateBuffer):
      (WTF::VectorBuffer::tryAllocateBuffer):
      (WTF::VectorBuffer::deallocateBuffer):
      (WTF::VectorBuffer::swap):
      (WTF::VectorBuffer::restoreInlineBufferIfNeeded):
      (WTF::VectorBuffer::releaseBuffer):
      (WTF::VectorBuffer::inlineBuffer):
      (Vector):
      (WTF::Vector::Vector):
      (WTF::Vector::~Vector):
      (WTF::Vector::size):
      (WTF::Vector::capacity):
      (WTF::Vector::isEmpty):
      (WTF::Vector::at):
      (WTF::Vector::operator[]):
      (WTF::Vector::data):
      (WTF::Vector::dataSlot):
      (WTF::Vector::begin):
      (WTF::Vector::end):
      (WTF::Vector::rbegin):
      (WTF::Vector::rend):
      (WTF::Vector::reversed):
      (WTF::Vector::first):
      (WTF::Vector::last):
      (WTF::Vector::shrinkToFit):
      (WTF::Vector::clear):
      (WTF::Vector::removeLast):
      (WTF::Vector::fill):
      (WTF::Vector::swap):
      (VectorReverseProxy):
      (WTF::Vector::VectorReverseProxy::begin):
      (WTF::Vector::VectorReverseProxy::end):
      (WTF::operator<<):
      (WTF::operator>>):
      (WTF::::Vector):
      (WTF::=):
      (WTF::typelessPointersAreEqual):
      (WTF::::contains):
      (WTF::::find):
      (WTF::::reverseFind):
      (WTF::::fill):
      (WTF::::appendRange):
      (WTF::::expandCapacity):
      (WTF::::tryExpandCapacity):
      (WTF::::resize):
      (WTF::::shrink):
      (WTF::::grow):
      (WTF::::reserveCapacity):
      (WTF::::tryReserveCapacity):
      (WTF::::reserveInitialCapacity):
      (WTF::::shrinkCapacity):
      (WTF::::append):
      (WTF::::tryAppend):
      (WTF::::appendSlowCase):
      (WTF::::uncheckedAppend):
      (WTF::::insert):
      (WTF::::prepend):
      (WTF::::remove):
      (WTF::::reverse):
      (WTF::::releaseBuffer):
      (WTF::::checkConsistency):
      (WTF::deleteAllValues):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      * wtf/VectorTraits.h: Renamed from Source/JavaScriptCore/wtf/VectorTraits.h.
      (WTF):
      (SimpleClassVectorTraits):
      * wtf/WTFThreadData.cpp: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.cpp.
      (WTF):
      (WTF::WTFThreadData::WTFThreadData):
      (WTF::WTFThreadData::~WTFThreadData):
      (JSC):
      (JSC::IdentifierTable::~IdentifierTable):
      (JSC::IdentifierTable::add):
      * wtf/WTFThreadData.h: Renamed from Source/JavaScriptCore/wtf/WTFThreadData.h.
      (JSC):
      (IdentifierTable):
      (JSC::IdentifierTable::remove):
      (JSC::IdentifierTable::literalTable):
      (WTF):
      (WTFThreadData):
      (WTF::WTFThreadData::atomicStringTable):
      (WTF::WTFThreadData::currentIdentifierTable):
      (WTF::WTFThreadData::setCurrentIdentifierTable):
      (WTF::WTFThreadData::resetCurrentIdentifierTable):
      (WTF::WTFThreadData::stack):
      (WTF::wtfThreadData):
      * wtf/blackberry/MainThreadBlackBerry.cpp: Renamed from Source/JavaScriptCore/wtf/blackberry/MainThreadBlackBerry.cpp.
      (WTF):
      (WTF::initializeMainThreadPlatform):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/chromium/ChromiumThreading.h: Renamed from Source/JavaScriptCore/wtf/chromium/ChromiumThreading.h.
      (WTF):
      (ChromiumThreading):
      * wtf/chromium/MainThreadChromium.cpp: Renamed from Source/JavaScriptCore/wtf/chromium/MainThreadChromium.cpp.
      (WTF):
      (WTF::initializeMainThread):
      (WTF::callOnMainThread):
      (WTF::callOnMainThreadAndWait):
      (WTF::setMainThreadCallbacksPaused):
      (WTF::isMainThread):
      * wtf/dtoa.cpp: Renamed from Source/JavaScriptCore/wtf/dtoa.cpp.
      (WTF):
      (WTF::storeInc):
      (WTF::BigInt::BigInt):
      (BigInt):
      (WTF::BigInt::clear):
      (WTF::BigInt::size):
      (WTF::BigInt::resize):
      (WTF::BigInt::words):
      (WTF::BigInt::append):
      (WTF::multadd):
      (WTF::hi0bits):
      (WTF::lo0bits):
      (WTF::i2b):
      (WTF::mult):
      (P5Node):
      (WTF::P5Node::P5Node):
      (WTF::pow5mult):
      (WTF::lshift):
      (WTF::cmp):
      (WTF::diff):
      (WTF::d2b):
      (WTF::strtod):
      (WTF::quorem):
      (WTF::dtoa):
      * wtf/dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa.h.
      (WTF):
      * wtf/dtoa/COPYING: Renamed from Source/JavaScriptCore/wtf/dtoa/COPYING.
      * wtf/dtoa/LICENSE: Renamed from Source/JavaScriptCore/wtf/dtoa/LICENSE.
      * wtf/dtoa/README: Renamed from Source/JavaScriptCore/wtf/dtoa/README.
      * wtf/dtoa/bignum-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.cc.
      * wtf/dtoa/bignum-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum-dtoa.h.
      (WTF):
      (double_conversion):
      * wtf/dtoa/bignum.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.cc.
      * wtf/dtoa/bignum.h: Renamed from Source/JavaScriptCore/wtf/dtoa/bignum.h.
      (WTF):
      (double_conversion):
      (Bignum):
      (WTF::double_conversion::Bignum::Times10):
      (WTF::double_conversion::Bignum::Equal):
      (WTF::double_conversion::Bignum::LessEqual):
      (WTF::double_conversion::Bignum::Less):
      (WTF::double_conversion::Bignum::PlusEqual):
      (WTF::double_conversion::Bignum::PlusLessEqual):
      (WTF::double_conversion::Bignum::PlusLess):
      (WTF::double_conversion::Bignum::EnsureCapacity):
      (WTF::double_conversion::Bignum::BigitLength):
      * wtf/dtoa/cached-powers.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.cc.
      * wtf/dtoa/cached-powers.h: Renamed from Source/JavaScriptCore/wtf/dtoa/cached-powers.h.
      (WTF):
      (double_conversion):
      (PowersOfTenCache):
      * wtf/dtoa/diy-fp.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.cc.
      * wtf/dtoa/diy-fp.h: Renamed from Source/JavaScriptCore/wtf/dtoa/diy-fp.h.
      (WTF):
      (double_conversion):
      (DiyFp):
      (WTF::double_conversion::DiyFp::DiyFp):
      (WTF::double_conversion::DiyFp::Subtract):
      (WTF::double_conversion::DiyFp::Minus):
      (WTF::double_conversion::DiyFp::Times):
      (WTF::double_conversion::DiyFp::Normalize):
      (WTF::double_conversion::DiyFp::f):
      (WTF::double_conversion::DiyFp::e):
      (WTF::double_conversion::DiyFp::set_f):
      (WTF::double_conversion::DiyFp::set_e):
      * wtf/dtoa/double-conversion.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.cc.
      * wtf/dtoa/double-conversion.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double-conversion.h.
      (WTF):
      (double_conversion):
      (DoubleToStringConverter):
      (WTF::double_conversion::DoubleToStringConverter::DoubleToStringConverter):
      (StringToDoubleConverter):
      (WTF::double_conversion::StringToDoubleConverter::StringToDoubleConverter):
      * wtf/dtoa/double.h: Renamed from Source/JavaScriptCore/wtf/dtoa/double.h.
      (WTF):
      (double_conversion):
      (WTF::double_conversion::double_to_uint64):
      (WTF::double_conversion::uint64_to_double):
      (Double):
      (WTF::double_conversion::Double::Double):
      (WTF::double_conversion::Double::AsDiyFp):
      (WTF::double_conversion::Double::AsNormalizedDiyFp):
      (WTF::double_conversion::Double::AsUint64):
      (WTF::double_conversion::Double::NextDouble):
      (WTF::double_conversion::Double::Exponent):
      (WTF::double_conversion::Double::Significand):
      (WTF::double_conversion::Double::IsDenormal):
      (WTF::double_conversion::Double::IsSpecial):
      (WTF::double_conversion::Double::IsNan):
      (WTF::double_conversion::Double::IsInfinite):
      (WTF::double_conversion::Double::Sign):
      (WTF::double_conversion::Double::UpperBoundary):
      (WTF::double_conversion::Double::NormalizedBoundaries):
      (WTF::double_conversion::Double::value):
      (WTF::double_conversion::Double::SignificandSizeForOrderOfMagnitude):
      (WTF::double_conversion::Double::Infinity):
      (WTF::double_conversion::Double::NaN):
      (WTF::double_conversion::Double::DiyFpToUint64):
      * wtf/dtoa/fast-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.cc.
      * wtf/dtoa/fast-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fast-dtoa.h.
      (WTF):
      (double_conversion):
      * wtf/dtoa/fixed-dtoa.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.cc.
      * wtf/dtoa/fixed-dtoa.h: Renamed from Source/JavaScriptCore/wtf/dtoa/fixed-dtoa.h.
      (WTF):
      (double_conversion):
      * wtf/dtoa/strtod.cc: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.cc.
      * wtf/dtoa/strtod.h: Renamed from Source/JavaScriptCore/wtf/dtoa/strtod.h.
      (WTF):
      (double_conversion):
      * wtf/dtoa/utils.h: Renamed from Source/JavaScriptCore/wtf/dtoa/utils.h.
      (WTF):
      (double_conversion):
      (WTF::double_conversion::Max):
      (WTF::double_conversion::Min):
      (WTF::double_conversion::StrLength):
      (Vector):
      (WTF::double_conversion::Vector::Vector):
      (WTF::double_conversion::Vector::SubVector):
      (WTF::double_conversion::Vector::length):
      (WTF::double_conversion::Vector::is_empty):
      (WTF::double_conversion::Vector::start):
      (WTF::double_conversion::Vector::operator[]):
      (WTF::double_conversion::Vector::first):
      (WTF::double_conversion::Vector::last):
      (StringBuilder):
      (WTF::double_conversion::StringBuilder::StringBuilder):
      (WTF::double_conversion::StringBuilder::~StringBuilder):
      (WTF::double_conversion::StringBuilder::size):
      (WTF::double_conversion::StringBuilder::position):
      (WTF::double_conversion::StringBuilder::SetPosition):
      (WTF::double_conversion::StringBuilder::Reset):
      (WTF::double_conversion::StringBuilder::AddCharacter):
      (WTF::double_conversion::StringBuilder::AddString):
      (WTF::double_conversion::StringBuilder::AddSubstring):
      (WTF::double_conversion::StringBuilder::AddPadding):
      (WTF::double_conversion::StringBuilder::Finalize):
      (WTF::double_conversion::StringBuilder::is_finalized):
      (WTF::double_conversion::BitCast):
      * wtf/efl/MainThreadEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/MainThreadEfl.cpp.
      (WTF):
      (WTF::pipeObject):
      (WTF::monitorDispatchFunctions):
      (WTF::initializeMainThreadPlatform):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/efl/OwnPtrEfl.cpp: Renamed from Source/JavaScriptCore/wtf/efl/OwnPtrEfl.cpp.
      (WTF):
      (WTF::deleteOwnedPtr):
      * wtf/gobject/GOwnPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.cpp.
      (WTF):
      (WTF::GError):
      (WTF::GList):
      (WTF::GSList):
      (WTF::GPatternSpec):
      (WTF::GDir):
      (WTF::GTimer):
      (WTF::GKeyFile):
      * wtf/gobject/GOwnPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GOwnPtr.h.
      (WTF):
      (GOwnPtr):
      (WTF::GOwnPtr::GOwnPtr):
      (WTF::GOwnPtr::~GOwnPtr):
      (WTF::GOwnPtr::get):
      (WTF::GOwnPtr::release):
      (WTF::GOwnPtr::outPtr):
      (WTF::GOwnPtr::set):
      (WTF::GOwnPtr::clear):
      (WTF::GOwnPtr::operator*):
      (WTF::GOwnPtr::operator->):
      (WTF::GOwnPtr::operator!):
      (WTF::GOwnPtr::operator UnspecifiedBoolType):
      (WTF::GOwnPtr::swap):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::getPtr):
      (WTF::freeOwnedGPtr):
      * wtf/gobject/GRefPtr.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.cpp.
      (WTF):
      (WTF::refGPtr):
      (WTF::derefGPtr):
      (_GVariant):
      * wtf/gobject/GRefPtr.h: Renamed from Source/JavaScriptCore/wtf/gobject/GRefPtr.h.
      (WTF):
      (GRefPtr):
      (WTF::GRefPtr::GRefPtr):
      (WTF::GRefPtr::~GRefPtr):
      (WTF::GRefPtr::clear):
      (WTF::GRefPtr::isHashTableDeletedValue):
      (WTF::GRefPtr::get):
      (WTF::GRefPtr::operator*):
      (WTF::GRefPtr::operator->):
      (WTF::GRefPtr::operator!):
      (WTF::GRefPtr::operator UnspecifiedBoolType):
      (WTF::GRefPtr::hashTableDeletedValue):
      (WTF::=):
      (WTF::::swap):
      (WTF::swap):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::static_pointer_cast):
      (WTF::const_pointer_cast):
      (WTF::getPtr):
      (WTF::adoptGRef):
      (WTF::refGPtr):
      (WTF::derefGPtr):
      * wtf/gobject/GTypedefs.h: Renamed from Source/JavaScriptCore/wtf/gobject/GTypedefs.h.
      * wtf/gobject/GlibUtilities.cpp: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.cpp.
      (getCurrentExecutablePath):
      * wtf/gobject/GlibUtilities.h: Renamed from Source/JavaScriptCore/wtf/gobject/GlibUtilities.h.
      * wtf/gtk/MainThreadGtk.cpp: Renamed from Source/JavaScriptCore/wtf/gtk/MainThreadGtk.cpp.
      (WTF):
      (WTF::initializeMainThreadPlatform):
      (WTF::timeoutFired):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/mac/MainThreadMac.mm: Renamed from Source/JavaScriptCore/wtf/mac/MainThreadMac.mm.
      (-[JSWTFMainThreadCaller call]):
      (WTF):
      (WTF::initializeMainThreadPlatform):
      (WTF::initializeMainThreadToProcessMainThreadPlatform):
      (WTF::timerFired):
      (WTF::postTimer):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      (WTF::isMainThread):
      * wtf/qt/MainThreadQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/MainThreadQt.cpp.
      (WTF):
      (MainThreadInvoker):
      (WTF::MainThreadInvoker::MainThreadInvoker):
      (WTF::MainThreadInvoker::event):
      (WTF::initializeMainThreadPlatform):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/qt/StringQt.cpp: Renamed from Source/JavaScriptCore/wtf/qt/StringQt.cpp.
      (WTF):
      (WTF::String::String):
      (WTF::String::operator QString):
      (WTF::operator<<):
      (WTF::operator>>):
      * wtf/qt/UtilsQt.h: Renamed from Source/JavaScriptCore/wtf/qt/UtilsQt.h.
      (escapeHtml):
      * wtf/qt/compat/QGuiApplication: Renamed from Source/JavaScriptCore/wtf/qt/compat/QGuiApplication.
      * wtf/qt/compat/qguiapplication.h: Renamed from Source/JavaScriptCore/wtf/qt/compat/qguiapplication.h.
      (QGuiApplication):
      (QGuiApplication::styleHints):
      * wtf/text/ASCIIFastPath.h: Renamed from Source/JavaScriptCore/wtf/text/ASCIIFastPath.h.
      (WTF):
      (WTF::isAlignedToMachineWord):
      (WTF::alignToMachineWord):
      (WTF::isAllASCII):
      (WTF::charactersAreAllASCII):
      * wtf/text/AtomicString.cpp: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.cpp.
      (WTF):
      (AtomicStringTable):
      (WTF::AtomicStringTable::create):
      (WTF::AtomicStringTable::table):
      (WTF::AtomicStringTable::destroy):
      (WTF::stringTable):
      (WTF::addToStringTable):
      (WTF::CStringTranslator::hash):
      (CStringTranslator):
      (WTF::CStringTranslator::equal):
      (WTF::CStringTranslator::translate):
      (WTF::AtomicString::add):
      (UCharBuffer):
      (WTF::UCharBufferTranslator::hash):
      (UCharBufferTranslator):
      (WTF::UCharBufferTranslator::equal):
      (WTF::UCharBufferTranslator::translate):
      (HashAndCharacters):
      (WTF::HashAndCharactersTranslator::hash):
      (HashAndCharactersTranslator):
      (WTF::HashAndCharactersTranslator::equal):
      (WTF::HashAndCharactersTranslator::translate):
      (HashAndUTF8Characters):
      (WTF::HashAndUTF8CharactersTranslator::hash):
      (HashAndUTF8CharactersTranslator):
      (WTF::HashAndUTF8CharactersTranslator::equal):
      (WTF::HashAndUTF8CharactersTranslator::translate):
      (SubstringLocation):
      (WTF::SubstringTranslator::hash):
      (SubstringTranslator):
      (WTF::SubstringTranslator::equal):
      (WTF::SubstringTranslator::translate):
      (WTF::AtomicString::addSlowCase):
      (WTF::AtomicString::find):
      (WTF::AtomicString::remove):
      (WTF::AtomicString::lower):
      (WTF::AtomicString::fromUTF8Internal):
      (WTF::AtomicString::show):
      * wtf/text/AtomicString.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicString.h.
      (WTF):
      (AtomicString):
      (WTF::AtomicString::AtomicString):
      (WTF::AtomicString::isHashTableDeletedValue):
      (WTF::AtomicString::operator const String&):
      (WTF::AtomicString::string):
      (WTF::AtomicString::impl):
      (WTF::AtomicString::characters):
      (WTF::AtomicString::length):
      (WTF::AtomicString::operator[]):
      (WTF::AtomicString::contains):
      (WTF::AtomicString::find):
      (WTF::AtomicString::startsWith):
      (WTF::AtomicString::endsWith):
      (WTF::AtomicString::upper):
      (WTF::AtomicString::toInt):
      (WTF::AtomicString::toDouble):
      (WTF::AtomicString::toFloat):
      (WTF::AtomicString::percentage):
      (WTF::AtomicString::isNull):
      (WTF::AtomicString::isEmpty):
      (WTF::AtomicString::createCFString):
      (WTF::AtomicString::operator NSString*):
      (WTF::AtomicString::operator QString):
      (WTF::AtomicString::add):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::equalIgnoringCase):
      (WTF::AtomicString::fromUTF8):
      * wtf/text/AtomicStringHash.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringHash.h.
      (WTF):
      (WTF::AtomicStringHash::hash):
      (AtomicStringHash):
      (WTF::AtomicStringHash::equal):
      * wtf/text/AtomicStringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/AtomicStringImpl.h.
      (WTF):
      (AtomicStringImpl):
      (WTF::AtomicStringImpl::AtomicStringImpl):
      * wtf/text/CString.cpp: Renamed from Source/JavaScriptCore/wtf/text/CString.cpp.
      (WTF):
      (WTF::CString::CString):
      (WTF::CString::init):
      (WTF::CString::mutableData):
      (WTF::CString::newUninitialized):
      (WTF::CString::copyBufferIfNeeded):
      (WTF::operator==):
      * wtf/text/CString.h: Renamed from Source/JavaScriptCore/wtf/text/CString.h.
      (WTF):
      (CStringBuffer):
      (WTF::CStringBuffer::data):
      (WTF::CStringBuffer::length):
      (WTF::CStringBuffer::create):
      (WTF::CStringBuffer::CStringBuffer):
      (WTF::CStringBuffer::mutableData):
      (CString):
      (WTF::CString::CString):
      (WTF::CString::data):
      (WTF::CString::length):
      (WTF::CString::isNull):
      (WTF::CString::buffer):
      (WTF::operator!=):
      * wtf/text/StringBuffer.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuffer.h.
      (WTF):
      (StringBuffer):
      (WTF::StringBuffer::StringBuffer):
      (WTF::StringBuffer::~StringBuffer):
      (WTF::StringBuffer::shrink):
      (WTF::StringBuffer::resize):
      (WTF::StringBuffer::length):
      (WTF::StringBuffer::characters):
      (WTF::StringBuffer::operator[]):
      (WTF::StringBuffer::release):
      * wtf/text/StringBuilder.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.cpp.
      (WTF):
      (WTF::StringBuilder::reifyString):
      (WTF::StringBuilder::resize):
      (WTF::StringBuilder::allocateBuffer):
      (WTF::StringBuilder::allocateBufferUpConvert):
      (WTF::LChar):
      (WTF::UChar):
      (WTF::StringBuilder::reserveCapacity):
      (WTF::StringBuilder::appendUninitialized):
      (WTF::StringBuilder::appendUninitializedSlow):
      (WTF::StringBuilder::append):
      (WTF::StringBuilder::canShrink):
      (WTF::StringBuilder::shrinkToFit):
      * wtf/text/StringBuilder.h: Renamed from Source/JavaScriptCore/wtf/text/StringBuilder.h.
      (WTF):
      (StringBuilder):
      (WTF::StringBuilder::StringBuilder):
      (WTF::StringBuilder::append):
      (WTF::StringBuilder::toString):
      (WTF::StringBuilder::toStringPreserveCapacity):
      (WTF::StringBuilder::toAtomicString):
      (WTF::StringBuilder::length):
      (WTF::StringBuilder::isEmpty):
      (WTF::StringBuilder::capacity):
      (WTF::StringBuilder::operator[]):
      (WTF::StringBuilder::characters8):
      (WTF::StringBuilder::characters16):
      (WTF::StringBuilder::characters):
      (WTF::StringBuilder::is8Bit):
      (WTF::StringBuilder::clear):
      (WTF::StringBuilder::swap):
      (WTF::LChar):
      (WTF::UChar):
      (WTF::equal):
      (WTF::operator==):
      (WTF::operator!=):
      * wtf/text/StringConcatenate.h: Renamed from Source/JavaScriptCore/wtf/text/StringConcatenate.h.
      (WTF):
      (WTF::sumWithOverflow):
      (WTF::tryMakeString):
      (WTF::makeString):
      * wtf/text/StringHash.h: Renamed from Source/JavaScriptCore/wtf/text/StringHash.h.
      (WTF):
      (WTF::StringHash::hash):
      (WTF::StringHash::equal):
      (StringHash):
      (CaseFoldingHash):
      (WTF::CaseFoldingHash::foldCase):
      (WTF::CaseFoldingHash::hash):
      (WTF::CaseFoldingHash::equal):
      (WTF::AlreadyHashed::hash):
      (AlreadyHashed):
      (WTF::AlreadyHashed::avoidDeletedValue):
      * wtf/text/StringImpl.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.cpp.
      (WTF):
      (WTF::StringImpl::~StringImpl):
      (WTF::StringImpl::createUninitialized):
      (WTF::StringImpl::reallocate):
      (WTF::StringImpl::create):
      (WTF::StringImpl::getData16SlowCase):
      (WTF::StringImpl::upconvertCharacters):
      (WTF::StringImpl::containsOnlyWhitespace):
      (WTF::StringImpl::substring):
      (WTF::StringImpl::characterStartingAt):
      (WTF::StringImpl::lower):
      (WTF::StringImpl::upper):
      (WTF::StringImpl::fill):
      (WTF::StringImpl::foldCase):
      (WTF::StringImpl::stripMatchedCharacters):
      (UCharPredicate):
      (WTF::UCharPredicate::UCharPredicate):
      (WTF::UCharPredicate::operator()):
      (SpaceOrNewlinePredicate):
      (WTF::SpaceOrNewlinePredicate::operator()):
      (WTF::StringImpl::stripWhiteSpace):
      (WTF::StringImpl::removeCharacters):
      (WTF::StringImpl::simplifyMatchedCharactersToSpace):
      (WTF::StringImpl::simplifyWhiteSpace):
      (WTF::StringImpl::toIntStrict):
      (WTF::StringImpl::toUIntStrict):
      (WTF::StringImpl::toInt64Strict):
      (WTF::StringImpl::toUInt64Strict):
      (WTF::StringImpl::toIntPtrStrict):
      (WTF::StringImpl::toInt):
      (WTF::StringImpl::toUInt):
      (WTF::StringImpl::toInt64):
      (WTF::StringImpl::toUInt64):
      (WTF::StringImpl::toIntPtr):
      (WTF::StringImpl::toDouble):
      (WTF::StringImpl::toFloat):
      (WTF::equalIgnoringCase):
      (WTF::StringImpl::find):
      (WTF::StringImpl::findIgnoringCase):
      (WTF::findInner):
      (WTF::StringImpl::reverseFind):
      (WTF::reverseFindInner):
      (WTF::StringImpl::reverseFindIgnoringCase):
      (WTF::StringImpl::endsWith):
      (WTF::StringImpl::replace):
      (WTF::equal):
      (WTF::equalIgnoringNullity):
      (WTF::StringImpl::defaultWritingDirection):
      (WTF::StringImpl::adopt):
      (WTF::StringImpl::createWithTerminatingNullCharacter):
      * wtf/text/StringImpl.h: Renamed from Source/JavaScriptCore/wtf/text/StringImpl.h.
      (JSC):
      (WTF):
      (StringImpl):
      (WTF::StringImpl::StringImpl):
      (WTF::StringImpl::create):
      (WTF::StringImpl::create8):
      (WTF::StringImpl::tryCreateUninitialized):
      (WTF::StringImpl::flagsOffset):
      (WTF::StringImpl::flagIs8Bit):
      (WTF::StringImpl::dataOffset):
      (WTF::StringImpl::adopt):
      (WTF::StringImpl::length):
      (WTF::StringImpl::is8Bit):
      (WTF::StringImpl::characters8):
      (WTF::StringImpl::characters16):
      (WTF::StringImpl::characters):
      (WTF::StringImpl::cost):
      (WTF::StringImpl::has16BitShadow):
      (WTF::StringImpl::isIdentifier):
      (WTF::StringImpl::setIsIdentifier):
      (WTF::StringImpl::hasTerminatingNullCharacter):
      (WTF::StringImpl::isAtomic):
      (WTF::StringImpl::setIsAtomic):
      (WTF::StringImpl::setHash):
      (WTF::StringImpl::rawHash):
      (WTF::StringImpl::hasHash):
      (WTF::StringImpl::existingHash):
      (WTF::StringImpl::hash):
      (WTF::StringImpl::hasOneRef):
      (WTF::StringImpl::ref):
      (WTF::StringImpl::deref):
      (WTF::StringImpl::copyChars):
      (WTF::StringImpl::operator[]):
      (WTF::StringImpl::find):
      (WTF::StringImpl::findIgnoringCase):
      (WTF::StringImpl::startsWith):
      (WTF::StringImpl::bufferOwnership):
      (WTF::StringImpl::isStatic):
      (WTF::LChar):
      (WTF::UChar):
      (WTF::equal):
      (WTF::equalIgnoringCase):
      (WTF::equalIgnoringNullity):
      (WTF::codePointCompare):
      (WTF::codePointCompare8):
      (WTF::codePointCompare16):
      (WTF::codePointCompare8To16):
      (WTF::isSpaceOrNewline):
      (WTF::StringImpl::isolatedCopy):
      * wtf/text/StringOperators.h: Renamed from Source/JavaScriptCore/wtf/text/StringOperators.h.
      (WTF):
      (StringAppend):
      (WTF::StringAppend::StringAppend):
      (WTF::StringAppend::operator String):
      (WTF::StringAppend::operator AtomicString):
      (WTF::StringAppend::is8Bit):
      (WTF::StringAppend::writeTo):
      (WTF::StringAppend::length):
      (WTF::operator+):
      * wtf/text/StringStatics.cpp: Renamed from Source/JavaScriptCore/wtf/text/StringStatics.cpp.
      (WTF):
      (WTF::StringImpl::empty):
      (WTF::StringImpl::hashSlowCase):
      (WTF::AtomicString::init):
      * wtf/text/TextPosition.h: Renamed from Source/JavaScriptCore/wtf/text/TextPosition.h.
      (WTF):
      (OrdinalNumber):
      (WTF::OrdinalNumber::fromZeroBasedInt):
      (WTF::OrdinalNumber::fromOneBasedInt):
      (WTF::OrdinalNumber::OrdinalNumber):
      (WTF::OrdinalNumber::zeroBasedInt):
      (WTF::OrdinalNumber::oneBasedInt):
      (WTF::OrdinalNumber::operator==):
      (WTF::OrdinalNumber::operator!=):
      (WTF::OrdinalNumber::first):
      (WTF::OrdinalNumber::beforeFirst):
      (TextPosition):
      (WTF::TextPosition::TextPosition):
      (WTF::TextPosition::operator==):
      (WTF::TextPosition::operator!=):
      (WTF::TextPosition::minimumPosition):
      (WTF::TextPosition::belowRangePosition):
      * wtf/text/WTFString.cpp: Renamed from Source/JavaScriptCore/wtf/text/WTFString.cpp.
      (WTF):
      (WTF::String::String):
      (WTF::String::append):
      (WTF::codePointCompare):
      (WTF::String::insert):
      (WTF::String::characterStartingAt):
      (WTF::String::truncate):
      (WTF::String::remove):
      (WTF::String::substring):
      (WTF::String::substringSharingImpl):
      (WTF::String::lower):
      (WTF::String::upper):
      (WTF::String::stripWhiteSpace):
      (WTF::String::simplifyWhiteSpace):
      (WTF::String::removeCharacters):
      (WTF::String::foldCase):
      (WTF::String::percentage):
      (WTF::String::charactersWithNullTermination):
      (WTF::String::format):
      (WTF::String::number):
      (WTF::String::toIntStrict):
      (WTF::String::toUIntStrict):
      (WTF::String::toInt64Strict):
      (WTF::String::toUInt64Strict):
      (WTF::String::toIntPtrStrict):
      (WTF::String::toInt):
      (WTF::String::toUInt):
      (WTF::String::toInt64):
      (WTF::String::toUInt64):
      (WTF::String::toIntPtr):
      (WTF::String::toDouble):
      (WTF::String::toFloat):
      (WTF::String::isolatedCopy):
      (WTF::String::split):
      (WTF::String::ascii):
      (WTF::String::latin1):
      (WTF::putUTF8Triple):
      (WTF::String::utf8):
      (WTF::String::fromUTF8):
      (WTF::String::fromUTF8WithLatin1Fallback):
      (WTF::isCharacterAllowedInBase):
      (WTF::toIntegralType):
      (WTF::lengthOfCharactersAsInteger):
      (WTF::charactersToIntStrict):
      (WTF::charactersToUIntStrict):
      (WTF::charactersToInt64Strict):
      (WTF::charactersToUInt64Strict):
      (WTF::charactersToIntPtrStrict):
      (WTF::charactersToInt):
      (WTF::charactersToUInt):
      (WTF::charactersToInt64):
      (WTF::charactersToUInt64):
      (WTF::charactersToIntPtr):
      (WTF::toDoubleType):
      (WTF::charactersToDouble):
      (WTF::charactersToFloat):
      (WTF::charactersToFloatIgnoringJunk):
      (WTF::emptyString):
      (String::show):
      (string):
      (asciiDebug):
      * wtf/text/WTFString.h: Renamed from Source/JavaScriptCore/wtf/text/WTFString.h.
      (WebKit):
      (WTF):
      (String):
      (WTF::String::String):
      (WTF::String::~String):
      (WTF::String::swap):
      (WTF::String::adopt):
      (WTF::String::isNull):
      (WTF::String::isEmpty):
      (WTF::String::impl):
      (WTF::String::length):
      (WTF::String::characters):
      (WTF::String::characters8):
      (WTF::String::characters16):
      (WTF::String::is8Bit):
      (WTF::String::operator[]):
      (WTF::String::find):
      (WTF::String::reverseFind):
      (WTF::String::findIgnoringCase):
      (WTF::String::reverseFindIgnoringCase):
      (WTF::String::contains):
      (WTF::String::startsWith):
      (WTF::String::endsWith):
      (WTF::String::append):
      (WTF::String::replace):
      (WTF::String::makeLower):
      (WTF::String::makeUpper):
      (WTF::String::fill):
      (WTF::String::left):
      (WTF::String::right):
      (WTF::String::createUninitialized):
      (WTF::String::operator NSString*):
      (WTF::String::fromUTF8):
      (WTF::String::fromUTF8WithLatin1Fallback):
      (WTF::String::defaultWritingDirection):
      (WTF::String::containsOnlyWhitespace):
      (WTF::String::isHashTableDeletedValue):
      (WTF::operator+=):
      (WTF::operator==):
      (WTF::operator!=):
      (WTF::equalIgnoringCase):
      (WTF::equalPossiblyIgnoringCase):
      (WTF::equalIgnoringNullity):
      (WTF::operator!):
      (WTF::swap):
      (WTF::LChar):
      (WTF::UChar):
      (WTF::String::containsOnlyLatin1):
      (WTF::nsStringNilIfEmpty):
      (WTF::String::containsOnlyASCII):
      (WTF::codePointCompareLessThan):
      (WTF::find):
      (WTF::reverseFind):
      (WTF::append):
      (WTF::appendNumber):
      (WTF::isAllSpecialCharacters):
      (WTF::String::isAllSpecialCharacters):
      * wtf/threads/BinarySemaphore.cpp: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.cpp.
      (WTF):
      (WTF::BinarySemaphore::BinarySemaphore):
      (WTF::BinarySemaphore::~BinarySemaphore):
      (WTF::BinarySemaphore::signal):
      (WTF::BinarySemaphore::wait):
      * wtf/threads/BinarySemaphore.h: Renamed from Source/JavaScriptCore/wtf/threads/BinarySemaphore.h.
      (WTF):
      (BinarySemaphore):
      (WTF::BinarySemaphore::event):
      * wtf/threads/win/BinarySemaphoreWin.cpp: Renamed from Source/JavaScriptCore/wtf/threads/win/BinarySemaphoreWin.cpp.
      (WTF):
      (WTF::BinarySemaphore::BinarySemaphore):
      (WTF::BinarySemaphore::~BinarySemaphore):
      (WTF::BinarySemaphore::signal):
      (WTF::BinarySemaphore::wait):
      * wtf/unicode/CharacterNames.h: Renamed from Source/JavaScriptCore/wtf/unicode/CharacterNames.h.
      (Unicode):
      * wtf/unicode/Collator.h: Renamed from Source/JavaScriptCore/wtf/unicode/Collator.h.
      (WTF):
      (Collator):
      * wtf/unicode/CollatorDefault.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/CollatorDefault.cpp.
      (WTF):
      (WTF::Collator::Collator):
      (WTF::Collator::~Collator):
      (WTF::Collator::setOrderLowerFirst):
      (WTF::Collator::userDefault):
      (WTF::Collator::collate):
      * wtf/unicode/ScriptCodesFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/ScriptCodesFromICU.h.
      * wtf/unicode/UTF8.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.cpp.
      (Unicode):
      (WTF::Unicode::inlineUTF8SequenceLengthNonASCII):
      (WTF::Unicode::inlineUTF8SequenceLength):
      (WTF::Unicode::UTF8SequenceLength):
      (WTF::Unicode::decodeUTF8Sequence):
      (WTF::Unicode::convertLatin1ToUTF8):
      (WTF::Unicode::convertUTF16ToUTF8):
      (WTF::Unicode::isLegalUTF8):
      (WTF::Unicode::readUTF8Sequence):
      (WTF::Unicode::convertUTF8ToUTF16):
      (WTF::Unicode::calculateStringHashAndLengthFromUTF8):
      (WTF::Unicode::equalUTF16WithUTF8):
      * wtf/unicode/UTF8.h: Renamed from Source/JavaScriptCore/wtf/unicode/UTF8.h.
      (Unicode):
      * wtf/unicode/Unicode.h: Renamed from Source/JavaScriptCore/wtf/unicode/Unicode.h.
      * wtf/unicode/UnicodeMacrosFromICU.h: Renamed from Source/JavaScriptCore/wtf/unicode/UnicodeMacrosFromICU.h.
      * wtf/unicode/glib/UnicodeGLib.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.cpp.
      (Unicode):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::getUTF16LengthFromUTF8):
      (WTF::Unicode::convertCase):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::direction):
      (WTF::Unicode::umemcasecmp):
      * wtf/unicode/glib/UnicodeGLib.h: Renamed from Source/JavaScriptCore/wtf/unicode/glib/UnicodeGLib.h.
      (Unicode):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::toTitleCase):
      (WTF::Unicode::isArabicChar):
      (WTF::Unicode::isAlphanumeric):
      (WTF::Unicode::isFormatChar):
      (WTF::Unicode::isSeparatorSpace):
      (WTF::Unicode::isPrintableChar):
      (WTF::Unicode::isDigit):
      (WTF::Unicode::isPunct):
      (WTF::Unicode::hasLineBreakingPropertyComplexContext):
      (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
      (WTF::Unicode::mirroredChar):
      (WTF::Unicode::category):
      (WTF::Unicode::isLower):
      (WTF::Unicode::digitValue):
      (WTF::Unicode::combiningClass):
      (WTF::Unicode::decompositionType):
      * wtf/unicode/icu/CollatorICU.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/icu/CollatorICU.cpp.
      (WTF):
      (WTF::cachedCollatorMutex):
      (WTF::Collator::Collator):
      (WTF::Collator::userDefault):
      (WTF::Collator::~Collator):
      (WTF::Collator::setOrderLowerFirst):
      (WTF::Collator::collate):
      (WTF::Collator::createCollator):
      (WTF::Collator::releaseCollator):
      * wtf/unicode/icu/UnicodeIcu.h: Renamed from Source/JavaScriptCore/wtf/unicode/icu/UnicodeIcu.h.
      (Unicode):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::toTitleCase):
      (WTF::Unicode::isArabicChar):
      (WTF::Unicode::isAlphanumeric):
      (WTF::Unicode::isSeparatorSpace):
      (WTF::Unicode::isPrintableChar):
      (WTF::Unicode::isPunct):
      (WTF::Unicode::hasLineBreakingPropertyComplexContext):
      (WTF::Unicode::hasLineBreakingPropertyComplexContextOrIdeographic):
      (WTF::Unicode::mirroredChar):
      (WTF::Unicode::category):
      (WTF::Unicode::direction):
      (WTF::Unicode::isLower):
      (WTF::Unicode::combiningClass):
      (WTF::Unicode::decompositionType):
      (WTF::Unicode::umemcasecmp):
      * wtf/unicode/qt4/UnicodeQt4.h: Renamed from Source/JavaScriptCore/wtf/unicode/qt4/UnicodeQt4.h.
      (Properties):
      (QUnicodeTables):
      (Unicode):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::toTitleCase):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::isArabicChar):
      (WTF::Unicode::isPrintableChar):
      (WTF::Unicode::isSeparatorSpace):
      (WTF::Unicode::isPunct):
      (WTF::Unicode::isLower):
      (WTF::Unicode::hasLineBreakingPropertyComplexContext):
      (WTF::Unicode::mirroredChar):
      (WTF::Unicode::combiningClass):
      (WTF::Unicode::decompositionType):
      (WTF::Unicode::umemcasecmp):
      (WTF::Unicode::direction):
      (WTF::Unicode::category):
      * wtf/unicode/wince/UnicodeWinCE.cpp: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.cpp.
      (Unicode):
      (WTF::Unicode::toLower):
      (WTF::Unicode::toUpper):
      (WTF::Unicode::foldCase):
      (WTF::Unicode::isPrintableChar):
      (WTF::Unicode::isSpace):
      (WTF::Unicode::isLetter):
      (WTF::Unicode::isUpper):
      (WTF::Unicode::isLower):
      (WTF::Unicode::isDigit):
      (WTF::Unicode::isPunct):
      (WTF::Unicode::isAlphanumeric):
      (WTF::Unicode::toTitleCase):
      (WTF::Unicode::direction):
      (WTF::Unicode::category):
      (WTF::Unicode::decompositionType):
      (WTF::Unicode::combiningClass):
      (WTF::Unicode::mirroredChar):
      (WTF::Unicode::digitValue):
      * wtf/unicode/wince/UnicodeWinCE.h: Renamed from Source/JavaScriptCore/wtf/unicode/wince/UnicodeWinCE.h.
      (Unicode):
      (WTF::Unicode::isSeparatorSpace):
      (WTF::Unicode::isHighSurrogate):
      (WTF::Unicode::isLowSurrogate):
      (WTF::Unicode::isArabicChar):
      (WTF::Unicode::hasLineBreakingPropertyComplexContext):
      (WTF::Unicode::umemcasecmp):
      (WTF::Unicode::surrogateToUcs4):
      * wtf/url/api/ParsedURL.cpp: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.cpp.
      (WTF):
      (WTF::ParsedURL::ParsedURL):
      (WTF::ParsedURL::isolatedCopy):
      (WTF::ParsedURL::scheme):
      (WTF::ParsedURL::username):
      (WTF::ParsedURL::password):
      (WTF::ParsedURL::host):
      (WTF::ParsedURL::port):
      (WTF::ParsedURL::path):
      (WTF::ParsedURL::query):
      (WTF::ParsedURL::fragment):
      (WTF::ParsedURL::baseAsString):
      (WTF::ParsedURL::segment):
      * wtf/url/api/ParsedURL.h: Renamed from Source/JavaScriptCore/wtf/url/api/ParsedURL.h.
      (WTF):
      (ParsedURL):
      (WTF::ParsedURL::ParsedURL):
      (WTF::ParsedURL::isValid):
      (WTF::ParsedURL::spec):
      * wtf/url/api/URLString.h: Renamed from Source/JavaScriptCore/wtf/url/api/URLString.h.
      (WTF):
      (URLString):
      (WTF::URLString::URLString):
      (WTF::URLString::string):
      * wtf/url/src/RawURLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/RawURLBuffer.h.
      (WTF):
      (RawURLBuffer):
      (WTF::RawURLBuffer::RawURLBuffer):
      (WTF::RawURLBuffer::~RawURLBuffer):
      (WTF::RawURLBuffer::resize):
      * wtf/url/src/URLBuffer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLBuffer.h.
      (WTF):
      (URLBuffer):
      (WTF::URLBuffer::URLBuffer):
      (WTF::URLBuffer::~URLBuffer):
      (WTF::URLBuffer::at):
      (WTF::URLBuffer::set):
      (WTF::URLBuffer::capacity):
      (WTF::URLBuffer::length):
      (WTF::URLBuffer::data):
      (WTF::URLBuffer::setLength):
      (WTF::URLBuffer::append):
      (WTF::URLBuffer::grow):
      * wtf/url/src/URLCharacterTypes.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.cpp.
      (WTF):
      * wtf/url/src/URLCharacterTypes.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLCharacterTypes.h.
      (WTF):
      (URLCharacterTypes):
      (WTF::URLCharacterTypes::isQueryChar):
      (WTF::URLCharacterTypes::isIPv4Char):
      (WTF::URLCharacterTypes::isHexChar):
      (WTF::URLCharacterTypes::isCharOfType):
      * wtf/url/src/URLComponent.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLComponent.h.
      (WTF):
      (URLComponent):
      (WTF::URLComponent::URLComponent):
      (WTF::URLComponent::fromRange):
      (WTF::URLComponent::isValid):
      (WTF::URLComponent::isNonEmpty):
      (WTF::URLComponent::isEmptyOrInvalid):
      (WTF::URLComponent::reset):
      (WTF::URLComponent::operator==):
      (WTF::URLComponent::begin):
      (WTF::URLComponent::setBegin):
      (WTF::URLComponent::length):
      (WTF::URLComponent::setLength):
      (WTF::URLComponent::end):
      * wtf/url/src/URLEscape.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.cpp.
      (WTF):
      * wtf/url/src/URLEscape.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLEscape.h.
      (WTF):
      (WTF::appendURLEscapedCharacter):
      * wtf/url/src/URLParser.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLParser.h.
      (WTF):
      (URLParser):
      (WTF::URLParser::isPossibleAuthorityTerminator):
      (WTF::URLParser::parseAuthority):
      (WTF::URLParser::extractScheme):
      (WTF::URLParser::parseAfterScheme):
      (WTF::URLParser::parseStandardURL):
      (WTF::URLParser::parsePath):
      (WTF::URLParser::parsePathURL):
      (WTF::URLParser::parseMailtoURL):
      (WTF::URLParser::parsePort):
      (WTF::URLParser::extractFileName):
      (WTF::URLParser::extractQueryKeyValue):
      (WTF::URLParser::isURLSlash):
      (WTF::URLParser::shouldTrimFromURL):
      (WTF::URLParser::trimURL):
      (WTF::URLParser::consecutiveSlashes):
      (WTF::URLParser::isPortDigit):
      (WTF::URLParser::nextAuthorityTerminator):
      (WTF::URLParser::parseUserInfo):
      (WTF::URLParser::parseServerInfo):
      * wtf/url/src/URLQueryCanonicalizer.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLQueryCanonicalizer.h.
      (WTF):
      (URLQueryCanonicalizer):
      (WTF::URLQueryCanonicalizer::canonicalize):
      (WTF::URLQueryCanonicalizer::isAllASCII):
      (WTF::URLQueryCanonicalizer::isRaw8Bit):
      (WTF::URLQueryCanonicalizer::appendRaw8BitQueryString):
      (WTF::URLQueryCanonicalizer::convertToQueryEncoding):
      * wtf/url/src/URLSegments.cpp: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.cpp.
      (WTF):
      (WTF::URLSegments::length):
      (WTF::URLSegments::charactersBefore):
      * wtf/url/src/URLSegments.h: Renamed from Source/JavaScriptCore/wtf/url/src/URLSegments.h.
      (WTF):
      (URLSegments):
      (WTF::URLSegments::URLSegments):
      * wtf/win/MainThreadWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/MainThreadWin.cpp.
      (WTF):
      (WTF::ThreadingWindowWndProc):
      (WTF::initializeMainThreadPlatform):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/win/OwnPtrWin.cpp: Renamed from Source/JavaScriptCore/wtf/win/OwnPtrWin.cpp.
      (WTF):
      (WTF::deleteOwnedPtr):
      * wtf/wince/FastMallocWinCE.h: Renamed from Source/JavaScriptCore/wtf/wince/FastMallocWinCE.h.
      (operator new):
      (operator delete):
      (operator new[]):
      (operator delete[]):
      (throw):
      (WTF):
      (Internal):
      (WTF::Internal::fastMallocMatchValidationType):
      (WTF::Internal::fastMallocMatchValidationValue):
      (WTF::Internal::setFastMallocMatchValidationType):
      (WTF::fastMallocMatchValidateMalloc):
      (WTF::fastMallocMatchValidateFree):
      * wtf/wince/MemoryManager.cpp: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.cpp.
      (WTF):
      (WTF::memoryManager):
      (WTF::MemoryManager::MemoryManager):
      (WTF::MemoryManager::~MemoryManager):
      (WTF::MemoryManager::createCompatibleBitmap):
      (WTF::MemoryManager::createDIBSection):
      (WTF::MemoryManager::m_malloc):
      (WTF::MemoryManager::m_calloc):
      (WTF::MemoryManager::m_realloc):
      (WTF::MemoryManager::m_free):
      (WTF::MemoryManager::resizeMemory):
      (WTF::MemoryManager::allocate64kBlock):
      (WTF::MemoryManager::free64kBlock):
      (WTF::MemoryManager::onIdle):
      (WTF::MemoryManager::virtualAlloc):
      (WTF::MemoryManager::virtualFree):
      (WTF::fastMalloc):
      (WTF::fastCalloc):
      (WTF::fastFree):
      (WTF::fastRealloc):
      (WTF::fastMallocForbid):
      (WTF::fastMallocAllow):
      (WTF::fastZeroedMalloc):
      (WTF::tryFastMalloc):
      (WTF::tryFastZeroedMalloc):
      (WTF::tryFastCalloc):
      (WTF::tryFastRealloc):
      (WTF::fastStrDup):
      * wtf/wince/MemoryManager.h: Renamed from Source/JavaScriptCore/wtf/wince/MemoryManager.h.
      (WTF):
      (MemoryManager):
      (WTF::MemoryManager::allocationCanFail):
      (WTF::MemoryManager::setAllocationCanFail):
      (MemoryAllocationCanFail):
      (WTF::MemoryAllocationCanFail::MemoryAllocationCanFail):
      (WTF::MemoryAllocationCanFail::~MemoryAllocationCanFail):
      (MemoryAllocationCannotFail):
      (WTF::MemoryAllocationCannotFail::MemoryAllocationCannotFail):
      (WTF::MemoryAllocationCannotFail::~MemoryAllocationCannotFail):
      * wtf/wx/MainThreadWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/MainThreadWx.cpp.
      (wxCallAfter):
      (wxCallAfter::wxCallAfter):
      (wxCallAfter::OnCallback):
      (WTF):
      (WTF::initializeMainThreadPlatform):
      (WTF::scheduleDispatchFunctionsOnMainThread):
      * wtf/wx/StringWx.cpp: Renamed from Source/JavaScriptCore/wtf/wx/StringWx.cpp.
      (WTF):
      (WTF::String::String):
      (WTF::String::operator wxString):
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@111778 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7c215cc6
  19. 21 Feb, 2012 2 commits
    • fpizlo@apple.com's avatar
      JSC should be a triple-tier VM · 7bbcaab7
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=75812
      <rdar://problem/10079694>
      
      Source/JavaScriptCore: 
      
      Reviewed by Gavin Barraclough.
              
      Implemented an interpreter that uses the JIT's calling convention. This
      interpreter is called LLInt, or the Low Level Interpreter. JSC will now
      will start by executing code in LLInt and will only tier up to the old
      JIT after the code is proven hot.
              
      LLInt is written in a modified form of our macro assembly. This new macro
      assembly is compiled by an offline assembler (see offlineasm), which
      implements many modern conveniences such as a Turing-complete CPS-based
      macro language and direct access to relevant C++ type information
      (basically offsets of fields and sizes of structs/classes).
              
      Code executing in LLInt appears to the rest of the JSC world "as if" it
      were executing in the old JIT. Hence, things like exception handling and
      cross-execution-engine calls just work and require pretty much no
      additional overhead.
              
      This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
      V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
      V8, and Kraken, but appear to get a double-digit improvement on real-world
      websites due to a huge reduction in the amount of JIT'ing.
              
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.pri:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * assembler/LinkBuffer.h:
      * assembler/MacroAssemblerCodeRef.h:
      (MacroAssemblerCodePtr):
      (JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
      * bytecode/BytecodeConventions.h: Added.
      * bytecode/CallLinkStatus.cpp:
      (JSC::CallLinkStatus::computeFromLLInt):
      (JSC):
      (JSC::CallLinkStatus::computeFor):
      * bytecode/CallLinkStatus.h:
      (JSC::CallLinkStatus::isSet):
      (JSC::CallLinkStatus::operator!):
      (CallLinkStatus):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::~CodeBlock):
      (JSC::CodeBlock::finalizeUnconditionally):
      (JSC::CodeBlock::stronglyVisitStrongReferences):
      (JSC):
      (JSC::CodeBlock::unlinkCalls):
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC::ProgramCodeBlock::jettison):
      (JSC::EvalCodeBlock::jettison):
      (JSC::FunctionCodeBlock::jettison):
      (JSC::ProgramCodeBlock::jitCompileImpl):
      (JSC::EvalCodeBlock::jitCompileImpl):
      (JSC::FunctionCodeBlock::jitCompileImpl):
      * bytecode/CodeBlock.h:
      (JSC):
      (CodeBlock):
      (JSC::CodeBlock::baselineVersion):
      (JSC::CodeBlock::linkIncomingCall):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC::CodeBlock::jitCompile):
      (JSC::CodeBlock::hasOptimizedReplacement):
      (JSC::CodeBlock::addPropertyAccessInstruction):
      (JSC::CodeBlock::addGlobalResolveInstruction):
      (JSC::CodeBlock::addLLIntCallLinkInfo):
      (JSC::CodeBlock::addGlobalResolveInfo):
      (JSC::CodeBlock::numberOfMethodCallLinkInfos):
      (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
      (JSC::CodeBlock::likelyToTakeSlowCase):
      (JSC::CodeBlock::couldTakeSlowCase):
      (JSC::CodeBlock::likelyToTakeSpecialFastCase):
      (JSC::CodeBlock::likelyToTakeDeepestSlowCase):
      (JSC::CodeBlock::likelyToTakeAnySlowCase):
      (JSC::CodeBlock::addFrequentExitSite):
      (JSC::CodeBlock::dontJITAnytimeSoon):
      (JSC::CodeBlock::jitAfterWarmUp):
      (JSC::CodeBlock::jitSoon):
      (JSC::CodeBlock::llintExecuteCounter):
      (ProgramCodeBlock):
      (EvalCodeBlock):
      (FunctionCodeBlock):
      * bytecode/GetByIdStatus.cpp:
      (JSC::GetByIdStatus::computeFromLLInt):
      (JSC):
      (JSC::GetByIdStatus::computeFor):
      * bytecode/GetByIdStatus.h:
      (JSC::GetByIdStatus::GetByIdStatus):
      (JSC::GetByIdStatus::wasSeenInJIT):
      (GetByIdStatus):
      * bytecode/Instruction.h:
      (JSC):
      (JSC::Instruction::Instruction):
      (Instruction):
      * bytecode/LLIntCallLinkInfo.h: Added.
      (JSC):
      (JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
      (LLIntCallLinkInfo):
      (JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
      (JSC::LLIntCallLinkInfo::isLinked):
      (JSC::LLIntCallLinkInfo::unlink):
      * bytecode/MethodCallLinkStatus.cpp:
      (JSC::MethodCallLinkStatus::computeFor):
      * bytecode/Opcode.cpp:
      (JSC):
      * bytecode/Opcode.h:
      (JSC):
      (JSC::padOpcodeName):
      * bytecode/PutByIdStatus.cpp:
      (JSC::PutByIdStatus::computeFromLLInt):
      (JSC):
      (JSC::PutByIdStatus::computeFor):
      * bytecode/PutByIdStatus.h:
      (PutByIdStatus):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitResolve):
      (JSC::BytecodeGenerator::emitResolveWithBase):
      (JSC::BytecodeGenerator::emitGetById):
      (JSC::BytecodeGenerator::emitPutById):
      (JSC::BytecodeGenerator::emitDirectPutById):
      (JSC::BytecodeGenerator::emitCall):
      (JSC::BytecodeGenerator::emitConstruct):
      (JSC::BytecodeGenerator::emitCatch):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOperations.cpp:
      * heap/Heap.h:
      (JSC):
      (JSC::Heap::firstAllocatorWithoutDestructors):
      (Heap):
      * heap/MarkStack.cpp:
      (JSC::visitChildren):
      * heap/MarkedAllocator.h:
      (JSC):
      (MarkedAllocator):
      * heap/MarkedSpace.h:
      (JSC):
      (MarkedSpace):
      (JSC::MarkedSpace::firstAllocator):
      * interpreter/CallFrame.cpp:
      (JSC):
      (JSC::CallFrame::bytecodeOffsetForNonDFGCode):
      (JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
      (JSC::CallFrame::currentVPC):
      (JSC::CallFrame::setCurrentVPC):
      (JSC::CallFrame::trueCallerFrame):
      * interpreter/CallFrame.h:
      (JSC::ExecState::hasReturnPC):
      (JSC::ExecState::clearReturnPC):
      (ExecState):
      (JSC::ExecState::bytecodeOffsetForNonDFGCode):
      (JSC::ExecState::currentVPC):
      (JSC::ExecState::setCurrentVPC):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::Interpreter):
      (JSC::Interpreter::~Interpreter):
      (JSC):
      (JSC::Interpreter::initialize):
      (JSC::Interpreter::isOpcode):
      (JSC::Interpreter::unwindCallFrame):
      (JSC::getCallerInfo):
      (JSC::Interpreter::privateExecute):
      (JSC::Interpreter::retrieveLastCaller):
      * interpreter/Interpreter.h:
      (JSC):
      (Interpreter):
      (JSC::Interpreter::getOpcode):
      (JSC::Interpreter::getOpcodeID):
      (JSC::Interpreter::classicEnabled):
      * interpreter/RegisterFile.h:
      (JSC):
      (RegisterFile):
      * jit/ExecutableAllocator.h:
      (JSC):
      * jit/HostCallReturnValue.cpp: Added.
      (JSC):
      (JSC::getHostCallReturnValueWithExecState):
      * jit/HostCallReturnValue.h: Added.
      (JSC):
      (JSC::initializeHostCallReturnValue):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      (JSC::JIT::privateCompile):
      * jit/JITCode.h:
      (JSC::JITCode::isOptimizingJIT):
      (JITCode):
      (JSC::JITCode::isBaselineCode):
      (JSC::JITCode::JITCode):
      * jit/JITDriver.h:
      (JSC::jitCompileIfAppropriate):
      (JSC::jitCompileFunctionIfAppropriate):
      * jit/JITExceptions.cpp:
      (JSC::jitThrow):
      * jit/JITInlineMethods.h:
      (JSC::JIT::updateTopCallFrame):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC):
      * jit/JITStubs.h:
      (JSC):
      * jit/JSInterfaceJIT.h:
      * llint: Added.
      * llint/LLIntCommon.h: Added.
      * llint/LLIntData.cpp: Added.
      (LLInt):
      (JSC::LLInt::Data::Data):
      (JSC::LLInt::Data::performAssertions):
      (JSC::LLInt::Data::~Data):
      * llint/LLIntData.h: Added.
      (JSC):
      (LLInt):
      (Data):
      (JSC::LLInt::Data::exceptionInstructions):
      (JSC::LLInt::Data::opcodeMap):
      (JSC::LLInt::Data::performAssertions):
      * llint/LLIntEntrypoints.cpp: Added.
      (LLInt):
      (JSC::LLInt::getFunctionEntrypoint):
      (JSC::LLInt::getEvalEntrypoint):
      (JSC::LLInt::getProgramEntrypoint):
      * llint/LLIntEntrypoints.h: Added.
      (JSC):
      (LLInt):
      (JSC::LLInt::getEntrypoint):
      * llint/LLIntExceptions.cpp: Added.
      (LLInt):
      (JSC::LLInt::interpreterThrowInCaller):
      (JSC::LLInt::returnToThrowForThrownException):
      (JSC::LLInt::returnToThrow):
      (JSC::LLInt::callToThrow):
      * llint/LLIntExceptions.h: Added.
      (JSC):
      (LLInt):
      * llint/LLIntOfflineAsmConfig.h: Added.
      * llint/LLIntOffsetsExtractor.cpp: Added.
      (JSC):
      (LLIntOffsetsExtractor):
      (JSC::LLIntOffsetsExtractor::dummy):
      (main):
      * llint/LLIntSlowPaths.cpp: Added.
      (LLInt):
      (JSC::LLInt::llint_trace_operand):
      (JSC::LLInt::llint_trace_value):
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      (JSC::LLInt::traceFunctionPrologue):
      (JSC::LLInt::shouldJIT):
      (JSC::LLInt::entryOSR):
      (JSC::LLInt::resolveGlobal):
      (JSC::LLInt::getByVal):
      (JSC::LLInt::handleHostCall):
      (JSC::LLInt::setUpCall):
      (JSC::LLInt::genericCall):
      * llint/LLIntSlowPaths.h: Added.
      (JSC):
      (LLInt):
      * llint/LLIntThunks.cpp: Added.
      (LLInt):
      (JSC::LLInt::generateThunkWithJumpTo):
      (JSC::LLInt::functionForCallEntryThunkGenerator):
      (JSC::LLInt::functionForConstructEntryThunkGenerator):
      (JSC::LLInt::functionForCallArityCheckThunkGenerator):
      (JSC::LLInt::functionForConstructArityCheckThunkGenerator):
      (JSC::LLInt::evalEntryThunkGenerator):
      (JSC::LLInt::programEntryThunkGenerator):
      * llint/LLIntThunks.h: Added.
      (JSC):
      (LLInt):
      * llint/LowLevelInterpreter.asm: Added.
      * llint/LowLevelInterpreter.cpp: Added.
      * llint/LowLevelInterpreter.h: Added.
      * offlineasm: Added.
      * offlineasm/armv7.rb: Added.
      * offlineasm/asm.rb: Added.
      * offlineasm/ast.rb: Added.
      * offlineasm/backends.rb: Added.
      * offlineasm/generate_offset_extractor.rb: Added.
      * offlineasm/instructions.rb: Added.
      * offlineasm/offset_extractor_constants.rb: Added.
      * offlineasm/offsets.rb: Added.
      * offlineasm/opt.rb: Added.
      * offlineasm/parser.rb: Added.
      * offlineasm/registers.rb: Added.
      * offlineasm/self_hash.rb: Added.
      * offlineasm/settings.rb: Added.
      * offlineasm/transform.rb: Added.
      * offlineasm/x86.rb: Added.
      * runtime/CodeSpecializationKind.h: Added.
      (JSC):
      * runtime/CommonSlowPaths.h:
      (JSC::CommonSlowPaths::arityCheckFor):
      (CommonSlowPaths):
      * runtime/Executable.cpp:
      (JSC::jettisonCodeBlock):
      (JSC):
      (JSC::EvalExecutable::jitCompile):
      (JSC::samplingDescription):
      (JSC::EvalExecutable::compileInternal):
      (JSC::ProgramExecutable::jitCompile):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::baselineCodeBlockFor):
      (JSC::FunctionExecutable::jitCompileForCall):
      (JSC::FunctionExecutable::jitCompileForConstruct):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::compileForConstructInternal):
      * runtime/Executable.h:
      (JSC):
      (EvalExecutable):
      (ProgramExecutable):
      (FunctionExecutable):
      (JSC::FunctionExecutable::jitCompileFor):
      * runtime/ExecutionHarness.h: Added.
      (JSC):
      (JSC::prepareForExecution):
      (JSC::prepareFunctionForExecution):
      * runtime/JSArray.h:
      (JSC):
      (JSArray):
      * runtime/JSCell.h:
      (JSC):
      (JSCell):
      * runtime/JSFunction.h:
      (JSC):
      (JSFunction):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      * runtime/JSGlobalData.h:
      (JSC):
      (JSGlobalData):
      * runtime/JSGlobalObject.h:
      (JSC):
      (JSGlobalObject):
      * runtime/JSObject.h:
      (JSC):
      (JSObject):
      (JSFinalObject):
      * runtime/JSPropertyNameIterator.h:
      (JSC):
      (JSPropertyNameIterator):
      * runtime/JSString.h:
      (JSC):
      (JSString):
      * runtime/JSTypeInfo.h:
      (JSC):
      (TypeInfo):
      * runtime/JSValue.cpp:
      (JSC::JSValue::description):
      * runtime/JSValue.h:
      (LLInt):
      (JSValue):
      * runtime/JSVariableObject.h:
      (JSC):
      (JSVariableObject):
      * runtime/Options.cpp:
      (Options):
      (JSC::Options::initializeOptions):
      * runtime/Options.h:
      (Options):
      * runtime/ScopeChain.h:
      (JSC):
      (ScopeChainNode):
      * runtime/Structure.cpp:
      (JSC::Structure::addPropertyTransition):
      * runtime/Structure.h:
      (JSC):
      (Structure):
      * runtime/StructureChain.h:
      (JSC):
      (StructureChain):
      * wtf/InlineASM.h:
      * wtf/Platform.h:
      * wtf/SentinelLinkedList.h:
      (SentinelLinkedList):
      (WTF::SentinelLinkedList::isEmpty):
      * wtf/text/StringImpl.h:
      (JSC):
      (StringImpl):
      
      Source/WebCore: 
      
      Reviewed by Gavin Barraclough.
              
      No new tests, because there is no change in behavior.
      
      * CMakeLists.txt:
      
      Source/WebKit: 
      
      Reviewed by Gavin Barraclough.
      
      Changed EFL's build system to include a new directory in JavaScriptCore.
              
      * CMakeLists.txt:
      
      Tools: 
      
      Reviewed by Gavin Barraclough.
      
      Changed EFL's build system to include a new directory in JavaScriptCore.
      
      * DumpRenderTree/efl/CMakeLists.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108444 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      7bbcaab7
    • aroben@apple.com's avatar
      Roll out r108309, r108323, and r108326 · e089d623
      aroben@apple.com authored
      They broke the 32-bit Lion build.
      
      Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
      
      Source/JavaScriptCore:
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.pri:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * assembler/LinkBuffer.h:
      * assembler/MacroAssemblerCodeRef.h:
      * bytecode/BytecodeConventions.h: Removed.
      * bytecode/CallLinkStatus.cpp:
      * bytecode/CallLinkStatus.h:
      * bytecode/CodeBlock.cpp:
      * bytecode/CodeBlock.h:
      * bytecode/GetByIdStatus.cpp:
      * bytecode/GetByIdStatus.h:
      * bytecode/Instruction.h:
      * bytecode/LLIntCallLinkInfo.h: Removed.
      * bytecode/MethodCallLinkStatus.cpp:
      * bytecode/Opcode.cpp:
      * bytecode/Opcode.h:
      * bytecode/PutByIdStatus.cpp:
      * bytecode/PutByIdStatus.h:
      * bytecompiler/BytecodeGenerator.cpp:
      * dfg/DFGByteCodeParser.cpp:
      * dfg/DFGCapabilities.h:
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOperations.cpp:
      * heap/Heap.h:
      * heap/MarkStack.cpp:
      * heap/MarkedAllocator.h:
      * heap/MarkedSpace.h:
      * interpreter/CallFrame.cpp:
      * interpreter/CallFrame.h:
      * interpreter/Interpreter.cpp:
      * interpreter/Interpreter.h:
      * interpreter/RegisterFile.h:
      * jit/ExecutableAllocator.h:
      * jit/HostCallReturnValue.cpp: Removed.
      * jit/HostCallReturnValue.h: Removed.
      * jit/JIT.cpp:
      * jit/JITCode.h:
      * jit/JITDriver.h:
      * jit/JITExceptions.cpp:
      * jit/JITInlineMethods.h:
      * jit/JITStubs.cpp:
      * jit/JITStubs.h:
      * jit/JSInterfaceJIT.h:
      * llint/LLIntCommon.h: Removed.
      * llint/LLIntData.cpp: Removed.
      * llint/LLIntData.h: Removed.
      * llint/LLIntEntrypoints.cpp: Removed.
      * llint/LLIntEntrypoints.h: Removed.
      * llint/LLIntExceptions.cpp: Removed.
      * llint/LLIntExceptions.h: Removed.
      * llint/LLIntOfflineAsmConfig.h: Removed.
      * llint/LLIntOffsetsExtractor.cpp: Removed.
      * llint/LLIntSlowPaths.cpp: Removed.
      * llint/LLIntSlowPaths.h: Removed.
      * llint/LLIntThunks.cpp: Removed.
      * llint/LLIntThunks.h: Removed.
      * llint/LowLevelInterpreter.asm: Removed.
      * llint/LowLevelInterpreter.cpp: Removed.
      * llint/LowLevelInterpreter.h: Removed.
      * offlineasm/armv7.rb: Removed.
      * offlineasm/asm.rb: Removed.
      * offlineasm/ast.rb: Removed.
      * offlineasm/backends.rb: Removed.
      * offlineasm/generate_offset_extractor.rb: Removed.
      * offlineasm/instructions.rb: Removed.
      * offlineasm/offset_extractor_constants.rb: Removed.
      * offlineasm/offsets.rb: Removed.
      * offlineasm/opt.rb: Removed.
      * offlineasm/parser.rb: Removed.
      * offlineasm/registers.rb: Removed.
      * offlineasm/self_hash.rb: Removed.
      * offlineasm/settings.rb: Removed.
      * offlineasm/transform.rb: Removed.
      * offlineasm/x86.rb: Removed.
      * runtime/CodeSpecializationKind.h: Removed.
      * runtime/CommonSlowPaths.h:
      * runtime/Executable.cpp:
      * runtime/Executable.h:
      * runtime/ExecutionHarness.h: Removed.
      * runtime/JSArray.h:
      * runtime/JSCell.h:
      * runtime/JSFunction.h:
      * runtime/JSGlobalData.cpp:
      * runtime/JSGlobalData.h:
      * runtime/JSGlobalObject.h:
      * runtime/JSObject.h:
      * runtime/JSPropertyNameIterator.h:
      * runtime/JSString.h:
      * runtime/JSTypeInfo.h:
      * runtime/JSValue.cpp:
      * runtime/JSValue.h:
      * runtime/JSVariableObject.h:
      * runtime/Options.cpp:
      * runtime/Options.h:
      * runtime/ScopeChain.h:
      * runtime/Structure.cpp:
      * runtime/Structure.h:
      * runtime/StructureChain.h:
      * wtf/InlineASM.h:
      * wtf/Platform.h:
      * wtf/SentinelLinkedList.h:
      * wtf/text/StringImpl.h:
      
      Source/WebCore:
      
      * CMakeLists.txt:
      
      Source/WebKit:
      
      * CMakeLists.txt:
      
      Tools:
      
      * DumpRenderTree/efl/CMakeLists.txt:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108358 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      e089d623
  20. 20 Feb, 2012 1 commit
    • fpizlo@apple.com's avatar
      JSC should be a triple-tier VM · 091129f4
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=75812
      <rdar://problem/10079694>
      
      Source/JavaScriptCore: 
      
      Reviewed by Gavin Barraclough.
              
      Implemented an interpreter that uses the JIT's calling convention. This
      interpreter is called LLInt, or the Low Level Interpreter. JSC will now
      will start by executing code in LLInt and will only tier up to the old
      JIT after the code is proven hot.
              
      LLInt is written in a modified form of our macro assembly. This new macro
      assembly is compiled by an offline assembler (see offlineasm), which
      implements many modern conveniences such as a Turing-complete CPS-based
      macro language and direct access to relevant C++ type information
      (basically offsets of fields and sizes of structs/classes).
              
      Code executing in LLInt appears to the rest of the JSC world "as if" it
      were executing in the old JIT. Hence, things like exception handling and
      cross-execution-engine calls just work and require pretty much no
      additional overhead.
              
      This interpreter is 2-2.5x faster than our old interpreter on SunSpider,
      V8, and Kraken. With triple-tiering turned on, we're neutral on SunSpider,
      V8, and Kraken, but appear to get a double-digit improvement on real-world
      websites due to a huge reduction in the amount of JIT'ing.
              
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.pri:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * Target.pri:
      * assembler/LinkBuffer.h:
      * assembler/MacroAssemblerCodeRef.h:
      (MacroAssemblerCodePtr):
      (JSC::MacroAssemblerCodePtr::createFromExecutableAddress):
      * bytecode/BytecodeConventions.h: Added.
      * bytecode/CallLinkStatus.cpp:
      (JSC::CallLinkStatus::computeFromLLInt):
      (JSC):
      (JSC::CallLinkStatus::computeFor):
      * bytecode/CallLinkStatus.h:
      (JSC::CallLinkStatus::isSet):
      (JSC::CallLinkStatus::operator!):
      (CallLinkStatus):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::dump):
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::~CodeBlock):
      (JSC::CodeBlock::finalizeUnconditionally):
      (JSC::CodeBlock::stronglyVisitStrongReferences):
      (JSC):
      (JSC::CodeBlock::unlinkCalls):
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC::ProgramCodeBlock::jettison):
      (JSC::EvalCodeBlock::jettison):
      (JSC::FunctionCodeBlock::jettison):
      (JSC::ProgramCodeBlock::jitCompileImpl):
      (JSC::EvalCodeBlock::jitCompileImpl):
      (JSC::FunctionCodeBlock::jitCompileImpl):
      * bytecode/CodeBlock.h:
      (JSC):
      (CodeBlock):
      (JSC::CodeBlock::baselineVersion):
      (JSC::CodeBlock::linkIncomingCall):
      (JSC::CodeBlock::bytecodeOffset):
      (JSC::CodeBlock::jitCompile):
      (JSC::CodeBlock::hasOptimizedReplacement):
      (JSC::CodeBlock::addPropertyAccessInstruction):
      (JSC::CodeBlock::addGlobalResolveInstruction):
      (JSC::CodeBlock::addLLIntCallLinkInfo):
      (JSC::CodeBlock::addGlobalResolveInfo):
      (JSC::CodeBlock::numberOfMethodCallLinkInfos):
      (JSC::CodeBlock::valueProfilePredictionForBytecodeOffset):
      (JSC::CodeBlock::likelyToTakeSlowCase):
      (JSC::CodeBlock::couldTakeSlowCase):
      (JSC::CodeBlock::likelyToTakeSpecialFastCase):
      (JSC::CodeBlock::likelyToTakeDeepestSlowCase):
      (JSC::CodeBlock::likelyToTakeAnySlowCase):
      (JSC::CodeBlock::addFrequentExitSite):
      (JSC::CodeBlock::dontJITAnytimeSoon):
      (JSC::CodeBlock::jitAfterWarmUp):
      (JSC::CodeBlock::jitSoon):
      (JSC::CodeBlock::llintExecuteCounter):
      (ProgramCodeBlock):
      (EvalCodeBlock):
      (FunctionCodeBlock):
      * bytecode/GetByIdStatus.cpp:
      (JSC::GetByIdStatus::computeFromLLInt):
      (JSC):
      (JSC::GetByIdStatus::computeFor):
      * bytecode/GetByIdStatus.h:
      (JSC::GetByIdStatus::GetByIdStatus):
      (JSC::GetByIdStatus::wasSeenInJIT):
      (GetByIdStatus):
      * bytecode/Instruction.h:
      (JSC):
      (JSC::Instruction::Instruction):
      (Instruction):
      * bytecode/LLIntCallLinkInfo.h: Added.
      (JSC):
      (JSC::LLIntCallLinkInfo::LLIntCallLinkInfo):
      (LLIntCallLinkInfo):
      (JSC::LLIntCallLinkInfo::~LLIntCallLinkInfo):
      (JSC::LLIntCallLinkInfo::isLinked):
      (JSC::LLIntCallLinkInfo::unlink):
      * bytecode/MethodCallLinkStatus.cpp:
      (JSC::MethodCallLinkStatus::computeFor):
      * bytecode/Opcode.cpp:
      (JSC):
      * bytecode/Opcode.h:
      (JSC):
      (JSC::padOpcodeName):
      * bytecode/PutByIdStatus.cpp:
      (JSC::PutByIdStatus::computeFromLLInt):
      (JSC):
      (JSC::PutByIdStatus::computeFor):
      * bytecode/PutByIdStatus.h:
      (PutByIdStatus):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::emitResolve):
      (JSC::BytecodeGenerator::emitResolveWithBase):
      (JSC::BytecodeGenerator::emitGetById):
      (JSC::BytecodeGenerator::emitPutById):
      (JSC::BytecodeGenerator::emitDirectPutById):
      (JSC::BytecodeGenerator::emitCall):
      (JSC::BytecodeGenerator::emitConstruct):
      (JSC::BytecodeGenerator::emitCatch):
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):
      (JSC::DFG::ByteCodeParser::handleInlining):
      (JSC::DFG::ByteCodeParser::parseBlock):
      * dfg/DFGCapabilities.h:
      (JSC::DFG::canCompileOpcode):
      * dfg/DFGOSRExitCompiler.cpp:
      * dfg/DFGOperations.cpp:
      * heap/Heap.h:
      (JSC):
      (JSC::Heap::firstAllocatorWithoutDestructors):
      (Heap):
      * heap/MarkStack.cpp:
      (JSC::visitChildren):
      * heap/MarkedAllocator.h:
      (JSC):
      (MarkedAllocator):
      * heap/MarkedSpace.h:
      (JSC):
      (MarkedSpace):
      (JSC::MarkedSpace::firstAllocator):
      * interpreter/CallFrame.cpp:
      (JSC):
      (JSC::CallFrame::bytecodeOffsetForNonDFGCode):
      (JSC::CallFrame::setBytecodeOffsetForNonDFGCode):
      (JSC::CallFrame::currentVPC):
      (JSC::CallFrame::setCurrentVPC):
      (JSC::CallFrame::trueCallerFrame):
      * interpreter/CallFrame.h:
      (JSC::ExecState::hasReturnPC):
      (JSC::ExecState::clearReturnPC):
      (ExecState):
      (JSC::ExecState::bytecodeOffsetForNonDFGCode):
      (JSC::ExecState::currentVPC):
      (JSC::ExecState::setCurrentVPC):
      * interpreter/Interpreter.cpp:
      (JSC::Interpreter::Interpreter):
      (JSC::Interpreter::~Interpreter):
      (JSC):
      (JSC::Interpreter::initialize):
      (JSC::Interpreter::isOpcode):
      (JSC::Interpreter::unwindCallFrame):
      (JSC::getCallerInfo):
      (JSC::Interpreter::privateExecute):
      (JSC::Interpreter::retrieveLastCaller):
      * interpreter/Interpreter.h:
      (JSC):
      (Interpreter):
      (JSC::Interpreter::getOpcode):
      (JSC::Interpreter::getOpcodeID):
      (JSC::Interpreter::classicEnabled):
      * interpreter/RegisterFile.h:
      (JSC):
      (RegisterFile):
      * jit/ExecutableAllocator.h:
      (JSC):
      * jit/HostCallReturnValue.cpp: Added.
      (JSC):
      (JSC::getHostCallReturnValueWithExecState):
      * jit/HostCallReturnValue.h: Added.
      (JSC):
      (JSC::initializeHostCallReturnValue):
      * jit/JIT.cpp:
      (JSC::JIT::privateCompileMainPass):
      (JSC::JIT::privateCompileSlowCases):
      (JSC::JIT::privateCompile):
      * jit/JITCode.h:
      (JSC::JITCode::isOptimizingJIT):
      (JITCode):
      (JSC::JITCode::isBaselineCode):
      (JSC::JITCode::JITCode):
      * jit/JITDriver.h:
      (JSC::jitCompileIfAppropriate):
      (JSC::jitCompileFunctionIfAppropriate):
      * jit/JITExceptions.cpp:
      (JSC::jitThrow):
      * jit/JITInlineMethods.h:
      (JSC::JIT::updateTopCallFrame):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      (JSC):
      * jit/JITStubs.h:
      (JSC):
      * jit/JSInterfaceJIT.h:
      * llint: Added.
      * llint/LLIntCommon.h: Added.
      * llint/LLIntData.cpp: Added.
      (LLInt):
      (JSC::LLInt::Data::Data):
      (JSC::LLInt::Data::performAssertions):
      (JSC::LLInt::Data::~Data):
      * llint/LLIntData.h: Added.
      (JSC):
      (LLInt):
      (Data):
      (JSC::LLInt::Data::exceptionInstructions):
      (JSC::LLInt::Data::opcodeMap):
      (JSC::LLInt::Data::performAssertions):
      * llint/LLIntEntrypoints.cpp: Added.
      (LLInt):
      (JSC::LLInt::getFunctionEntrypoint):
      (JSC::LLInt::getEvalEntrypoint):
      (JSC::LLInt::getProgramEntrypoint):
      * llint/LLIntEntrypoints.h: Added.
      (JSC):
      (LLInt):
      (JSC::LLInt::getEntrypoint):
      * llint/LLIntExceptions.cpp: Added.
      (LLInt):
      (JSC::LLInt::interpreterThrowInCaller):
      (JSC::LLInt::returnToThrowForThrownException):
      (JSC::LLInt::returnToThrow):
      (JSC::LLInt::callToThrow):
      * llint/LLIntExceptions.h: Added.
      (JSC):
      (LLInt):
      * llint/LLIntOfflineAsmConfig.h: Added.
      * llint/LLIntOffsetsExtractor.cpp: Added.
      (JSC):
      (LLIntOffsetsExtractor):
      (JSC::LLIntOffsetsExtractor::dummy):
      (main):
      * llint/LLIntSlowPaths.cpp: Added.
      (LLInt):
      (JSC::LLInt::llint_trace_operand):
      (JSC::LLInt::llint_trace_value):
      (JSC::LLInt::LLINT_SLOW_PATH_DECL):
      (JSC::LLInt::traceFunctionPrologue):
      (JSC::LLInt::shouldJIT):
      (JSC::LLInt::entryOSR):
      (JSC::LLInt::resolveGlobal):
      (JSC::LLInt::getByVal):
      (JSC::LLInt::handleHostCall):
      (JSC::LLInt::setUpCall):
      (JSC::LLInt::genericCall):
      * llint/LLIntSlowPaths.h: Added.
      (JSC):
      (LLInt):
      * llint/LLIntThunks.cpp: Added.
      (LLInt):
      (JSC::LLInt::generateThunkWithJumpTo):
      (JSC::LLInt::functionForCallEntryThunkGenerator):
      (JSC::LLInt::functionForConstructEntryThunkGenerator):
      (JSC::LLInt::functionForCallArityCheckThunkGenerator):
      (JSC::LLInt::functionForConstructArityCheckThunkGenerator):
      (JSC::LLInt::evalEntryThunkGenerator):
      (JSC::LLInt::programEntryThunkGenerator):
      * llint/LLIntThunks.h: Added.
      (JSC):
      (LLInt):
      * llint/LowLevelInterpreter.asm: Added.
      * llint/LowLevelInterpreter.cpp: Added.
      * llint/LowLevelInterpreter.h: Added.
      * offlineasm: Added.
      * offlineasm/armv7.rb: Added.
      * offlineasm/asm.rb: Added.
      * offlineasm/ast.rb: Added.
      * offlineasm/backends.rb: Added.
      * offlineasm/generate_offset_extractor.rb: Added.
      * offlineasm/instructions.rb: Added.
      * offlineasm/offset_extractor_constants.rb: Added.
      * offlineasm/offsets.rb: Added.
      * offlineasm/opt.rb: Added.
      * offlineasm/parser.rb: Added.
      * offlineasm/registers.rb: Added.
      * offlineasm/self_hash.rb: Added.
      * offlineasm/settings.rb: Added.
      * offlineasm/transform.rb: Added.
      * offlineasm/x86.rb: Added.
      * runtime/CodeSpecializationKind.h: Added.
      (JSC):
      * runtime/CommonSlowPaths.h:
      (JSC::CommonSlowPaths::arityCheckFor):
      (CommonSlowPaths):
      * runtime/Executable.cpp:
      (JSC::jettisonCodeBlock):
      (JSC):
      (JSC::EvalExecutable::jitCompile):
      (JSC::samplingDescription):
      (JSC::EvalExecutable::compileInternal):
      (JSC::ProgramExecutable::jitCompile):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::baselineCodeBlockFor):
      (JSC::FunctionExecutable::jitCompileForCall):
      (JSC::FunctionExecutable::jitCompileForConstruct):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::compileForConstructInternal):
      * runtime/Executable.h:
      (JSC):
      (EvalExecutable):
      (ProgramExecutable):
      (FunctionExecutable):
      (JSC::FunctionExecutable::jitCompileFor):
      * runtime/ExecutionHarness.h: Added.
      (JSC):
      (JSC::prepareForExecution):
      (JSC::prepareFunctionForExecution):
      * runtime/JSArray.h:
      (JSC):
      (JSArray):
      * runtime/JSCell.h:
      (JSC):
      (JSCell):
      * runtime/JSFunction.h:
      (JSC):
      (JSFunction):
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      * runtime/JSGlobalData.h:
      (JSC):
      (JSGlobalData):
      * runtime/JSGlobalObject.h:
      (JSC):
      (JSGlobalObject):
      * runtime/JSObject.h:
      (JSC):
      (JSObject):
      (JSFinalObject):
      * runtime/JSPropertyNameIterator.h:
      (JSC):
      (JSPropertyNameIterator):
      * runtime/JSString.h:
      (JSC):
      (JSString):
      * runtime/JSTypeInfo.h:
      (JSC):
      (TypeInfo):
      * runtime/JSValue.cpp:
      (JSC::JSValue::description):
      * runtime/JSValue.h:
      (LLInt):
      (JSValue):
      * runtime/JSVariableObject.h:
      (JSC):
      (JSVariableObject):
      * runtime/Options.cpp:
      (Options):
      (JSC::Options::initializeOptions):
      * runtime/Options.h:
      (Options):
      * runtime/ScopeChain.h:
      (JSC):
      (ScopeChainNode):
      * runtime/Structure.cpp:
      (JSC::Structure::addPropertyTransition):
      * runtime/Structure.h:
      (JSC):
      (Structure):
      * runtime/StructureChain.h:
      (JSC):
      (StructureChain):
      * wtf/InlineASM.h:
      * wtf/Platform.h:
      * wtf/SentinelLinkedList.h:
      (SentinelLinkedList):
      (WTF::SentinelLinkedList::isEmpty):
      * wtf/text/StringImpl.h:
      (JSC):
      (StringImpl):
      
      Source/WebCore: 
      
      Reviewed by Gavin Barraclough.
              
      No new tests, because there is no change in behavior.
      
      * CMakeLists.txt:
      
      Source/WebKit: 
      
      Reviewed by Gavin Barraclough.
      
      Changed EFL's build system to include a new directory in JavaScriptCore.
              
      * CMakeLists.txt:
      
      Tools: 
      
      Reviewed by Gavin Barraclough.
      
      Changed EFL's build system to include a new directory in JavaScriptCore.
      
      * DumpRenderTree/efl/CMakeLists.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@108309 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      091129f4
  21. 28 Jan, 2012 1 commit
    • barraclough@apple.com's avatar
      Implement a JIT-code aware sampling profiler for JSC · f51cff3a
      barraclough@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=76855
      
      Reviewed by Oliver Hunt.
      
      To enable the profiler, set the JSC_CODE_PROFILING environment variable to
      1 (no tracing the C stack), 2 (trace one level of C code) or 3 (recursively
      trace all samples).
      
      The profiler requires -fomit-frame-pointer to be removed from the build flags.
      
      * JavaScriptCore.exp:
          - Removed an export.
      * JavaScriptCore.xcodeproj/project.pbxproj:
          - Added new files
      * bytecode/CodeBlock.cpp:
          - For baseline codeblocks, cache the result of canCompileWithDFG.
      * bytecode/CodeBlock.h:
          - For baseline codeblocks, cache the result of canCompileWithDFG.
      * jit/ExecutableAllocator.cpp:
      (JSC::ExecutableAllocator::initializeAllocator):
          - Notify the profiler when the allocator is created.
      (JSC::ExecutableAllocator::allocate):
          - Inform the allocated of the ownerUID.
      * jit/ExecutableAllocatorFixedVMPool.cpp:
      (JSC::ExecutableAllocator::initializeAllocator):
          - Notify the profiler when the allocator is created.
      (JSC::ExecutableAllocator::allocate):
          - Inform the allocated of the ownerUID.
      * jit/JITStubs.cpp:
          - If profiling, don't mask the return address in JIT code.
            (We do so to provide nicer backtraces in debug builds).
      * runtime/Completion.cpp:
      (JSC::evaluate):
          - Notify the profiler of script evaluations.
      * tools: Added.
      * tools/CodeProfile.cpp: Added.
      (JSC::symbolName):
          - Helper function to get the name of a symbol in the framework.
      (JSC::truncateTrace):
          - Helper to truncate traces into methods know to have uninformatively deep stacks.
      (JSC::CodeProfile::sample):
          - Record a stack trace classifying samples.
      (JSC::CodeProfile::report):
          - {Print profiler output.
      * tools/CodeProfile.h: Added.
          - new class, captures a set of samples associated with an evaluated script,
            and nested to record samples from subscripts.
      * tools/CodeProfiling.cpp: Added.
      (JSC::CodeProfiling::profilingTimer):
          - callback fired then a timer event occurs.
      (JSC::CodeProfiling::notifyAllocator):
          - called when the executable allocator is constructed.
      (JSC::CodeProfiling::getOwnerUIDForPC):
          - helper to lookup the codeblock from an address in JIT code
      (JSC::CodeProfiling::begin):
          - enter a profiling scope.
      (JSC::CodeProfiling::end):
          - exit a profiling scope.
      * tools/CodeProfiling.h: Added.
          - new class, instantialed from Completion to define a profiling scope.
      * tools/ProfileTreeNode.h: Added.
          - new class, used to construct a tree of samples.
      * tools/TieredMMapArray.h: Added.
          - new class, a malloc-free vector (can be used while the main thread is suspended,
            possibly holding the malloc heap lock).
      * wtf/MetaAllocator.cpp:
      (WTF::MetaAllocatorHandle::MetaAllocatorHandle):
      (WTF::MetaAllocator::allocate):
          - Allow allocation handles to track information about their owner.
      * wtf/MetaAllocator.h:
      (MetaAllocator):
          - Allow allocation handles to track information about their owner.
      * wtf/MetaAllocatorHandle.h:
      (MetaAllocatorHandle):
      (WTF::MetaAllocatorHandle::ownerUID):
          - Allow allocation handles to track information about their owner.
      * wtf/OSAllocator.h:
      (WTF::OSAllocator::reallocateCommitted):
          - reallocate an existing, committed memory allocation.
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@106197 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      f51cff3a
  22. 06 Jan, 2012 1 commit
  23. 12 Dec, 2011 1 commit
  24. 28 Nov, 2011 1 commit
  25. 27 Sep, 2011 1 commit
    • carlosgc@webkit.org's avatar
      [GTK] Reorganize header files · 28f29836
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=65616
      
      Reviewed by Martin Robinson.
      
      .:
      
      * GNUmakefile.am: Initialize $libwebkitgtkincludedir to
      $(prefix)/include/webkitgtk-<api-version>
      
      Source/JavaScriptCore:
      
      Install header files under $libwebkitgtkincludedir/JavaScriptCore.
      
      * GNUmakefile.am: Use $libwebkitgtkincludedir.
      * javascriptcoregtk.pc.in: Use webkitgtk-<api-version> as include dir.
      
      Source/WebKit/gtk:
      
      Install header files under $libwebkitgtkincludedir/webkit.
      
      * GNUmakefile.am: Use $libwebkitgtkincludedir.
      * webkit.pc.in: Use webkitgtk-<api-version> as include dir.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@96087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      28f29836
  26. 06 Sep, 2011 1 commit
    • fpizlo@apple.com's avatar
      JavaScriptCore does not have tiered compilation · 594887ab
      fpizlo@apple.com authored
      https://bugs.webkit.org/show_bug.cgi?id=67176
      
      Reviewed by Gavin Barraclough.
      
      This adds the ability to have multiple CodeBlocks associated with
      a particular role in an Executable.  These are stored in
      descending order of compiler tier.  CodeBlocks are optimized when
      a counter (m_executeCounter) that is incremented in loops and
      epilogues becomes positive.  Optimizing means that all calls to
      the old CodeBlock are unlinked.
      
      The DFG can now pull in predictions from ValueProfiles, and
      propagate them along the graph.  To support the new phase while
      maintaing some level of abstraction, a DFGDriver was introduced
      that encapsulates how to run the DFG compiler.
      
      This is turned off by default because it's not yet a performance
      win on all benchmarks.  It speeds up crypto and richards by
      10% and 6% respectively, but still does not do as good of a job
      as it could.  Notably, the DFG backend has not changed, and
      is largely oblivious to the new information being made available
      to it.
      
      When turned off (the default), this patch is performance neutral.
      
      * CMakeLists.txt:
      * GNUmakefile.am:
      * GNUmakefile.list.am:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
      * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops:
      * JavaScriptCore.vcproj/JavaScriptCore/copy-files.cmd:
      * JavaScriptCore.xcodeproj/project.pbxproj:
      * assembler/MacroAssemblerX86.h:
      (JSC::MacroAssemblerX86::branchAdd32):
      * assembler/MacroAssemblerX86_64.h:
      (JSC::MacroAssemblerX86_64::branchAdd32):
      * bytecode/CodeBlock.cpp:
      (JSC::CodeBlock::CodeBlock):
      (JSC::CodeBlock::~CodeBlock):
      (JSC::CodeBlock::visitAggregate):
      (JSC::CallLinkInfo::unlink):
      (JSC::CodeBlock::unlinkCalls):
      (JSC::CodeBlock::unlinkIncomingCalls):
      (JSC::CodeBlock::clearEvalCache):
      (JSC::replaceExistingEntries):
      (JSC::CodeBlock::copyDataFromAlternative):
      (JSC::ProgramCodeBlock::replacement):
      (JSC::EvalCodeBlock::replacement):
      (JSC::FunctionCodeBlock::replacement):
      (JSC::ProgramCodeBlock::compileOptimized):
      (JSC::EvalCodeBlock::compileOptimized):
      (JSC::FunctionCodeBlock::compileOptimized):
      * bytecode/CodeBlock.h:
      (JSC::GlobalCodeBlock::GlobalCodeBlock):
      (JSC::ProgramCodeBlock::ProgramCodeBlock):
      (JSC::EvalCodeBlock::EvalCodeBlock):
      (JSC::FunctionCodeBlock::FunctionCodeBlock):
      * bytecode/ValueProfile.h:
      (JSC::ValueProfile::dump):
      (JSC::ValueProfile::computeStatistics):
      * bytecompiler/BytecodeGenerator.cpp:
      (JSC::BytecodeGenerator::BytecodeGenerator):
      * bytecompiler/BytecodeGenerator.h:
      * dfg/DFGByteCodeParser.cpp:
      (JSC::DFG::ByteCodeParser::ByteCodeParser):
      (JSC::DFG::ByteCodeParser::addCall):
      (JSC::DFG::ByteCodeParser::dynamicallyPredict):
      (JSC::DFG::ByteCodeParser::parseBlock):
      (JSC::DFG::parse):
      * dfg/DFGDriver.cpp: Added.
      (JSC::DFG::compile):
      (JSC::DFG::tryCompile):
      (JSC::DFG::tryCompileFunction):
      * dfg/DFGDriver.h: Added.
      (JSC::DFG::tryCompile):
      (JSC::DFG::tryCompileFunction):
      * dfg/DFGGraph.cpp:
      (JSC::DFG::Graph::dump):
      (JSC::DFG::Graph::predictArgumentTypes):
      * dfg/DFGGraph.h:
      (JSC::DFG::Graph::predict):
      (JSC::DFG::Graph::predictGlobalVar):
      (JSC::DFG::Graph::isConstant):
      (JSC::DFG::Graph::isJSConstant):
      (JSC::DFG::Graph::isInt32Constant):
      (JSC::DFG::Graph::isDoubleConstant):
      (JSC::DFG::Graph::valueOfJSConstant):
      (JSC::DFG::Graph::valueOfInt32Constant):
      (JSC::DFG::Graph::valueOfDoubleConstant):
      * dfg/DFGJITCompiler.cpp:
      (JSC::DFG::JITCompiler::link):
      * dfg/DFGJITCompiler.h:
      (JSC::DFG::JITCompiler::isConstant):
      (JSC::DFG::JITCompiler::isJSConstant):
      (JSC::DFG::JITCompiler::isInt32Constant):
      (JSC::DFG::JITCompiler::isDoubleConstant):
      (JSC::DFG::JITCompiler::valueOfJSConstant):
      (JSC::DFG::JITCompiler::valueOfInt32Constant):
      (JSC::DFG::JITCompiler::valueOfDoubleConstant):
      * dfg/DFGNode.h:
      (JSC::DFG::isCellPrediction):
      (JSC::DFG::isNumberPrediction):
      (JSC::DFG::predictionToString):
      (JSC::DFG::mergePrediction):
      (JSC::DFG::makePrediction):
      (JSC::DFG::Node::valueOfJSConstant):
      (JSC::DFG::Node::isInt32Constant):
      (JSC::DFG::Node::isDoubleConstant):
      (JSC::DFG::Node::valueOfInt32Constant):
      (JSC::DFG::Node::valueOfDoubleConstant):
      (JSC::DFG::Node::predict):
      * dfg/DFGPropagation.cpp: Added.
      (JSC::DFG::Propagator::Propagator):
      (JSC::DFG::Propagator::fixpoint):
      (JSC::DFG::Propagator::setPrediction):
      (JSC::DFG::Propagator::mergePrediction):
      (JSC::DFG::Propagator::propagateNode):
      (JSC::DFG::Propagator::propagateForward):
      (JSC::DFG::Propagator::propagateBackward):
      (JSC::DFG::propagate):
      * dfg/DFGPropagation.h: Added.
      (JSC::DFG::propagate):
      * dfg/DFGRepatch.cpp:
      (JSC::DFG::dfgLinkFor):
      * heap/HandleHeap.h:
      (JSC::HandleHeap::Node::Node):
      * jit/JIT.cpp:
      (JSC::JIT::emitOptimizationCheck):
      (JSC::JIT::emitTimeoutCheck):
      (JSC::JIT::privateCompile):
      (JSC::JIT::linkFor):
      * jit/JIT.h:
      (JSC::JIT::emitOptimizationCheck):
      * jit/JITCall32_64.cpp:
      (JSC::JIT::emit_op_ret):
      (JSC::JIT::emit_op_ret_object_or_this):
      * jit/JITCode.h:
      (JSC::JITCode::JITCode):
      (JSC::JITCode::bottomTierJIT):
      (JSC::JITCode::topTierJIT):
      (JSC::JITCode::nextTierJIT):
      * jit/JITOpcodes.cpp:
      (JSC::JIT::emit_op_ret):
      (JSC::JIT::emit_op_ret_object_or_this):
      * jit/JITStubs.cpp:
      (JSC::DEFINE_STUB_FUNCTION):
      * jit/JITStubs.h:
      * runtime/Executable.cpp:
      (JSC::EvalExecutable::compileOptimized):
      (JSC::EvalExecutable::compileInternal):
      (JSC::ProgramExecutable::compileOptimized):
      (JSC::ProgramExecutable::compileInternal):
      (JSC::FunctionExecutable::compileOptimizedForCall):
      (JSC::FunctionExecutable::compileOptimizedForConstruct):
      (JSC::FunctionExecutable::compileForCallInternal):
      (JSC::FunctionExecutable::compileForConstructInternal):
      * runtime/Executable.h:
      (JSC::EvalExecutable::compile):
      (JSC::ProgramExecutable::compile):
      (JSC::FunctionExecutable::compileForCall):
      (JSC::FunctionExecutable::compileForConstruct):
      (JSC::FunctionExecutable::compileOptimizedFor):
      * wtf/Platform.h:
      * wtf/SentinelLinkedList.h:
      (WTF::BasicRawSentinelNode::BasicRawSentinelNode):
      (WTF::BasicRawSentinelNode::setPrev):
      (WTF::BasicRawSentinelNode::setNext):
      (WTF::BasicRawSentinelNode::prev):
      (WTF::BasicRawSentinelNode::next):
      (WTF::BasicRawSentinelNode::isOnList):
      (WTF::::remove):
      (WTF::::SentinelLinkedList):
      (WTF::::begin):
      (WTF::::end):
      (WTF::::push):
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@94559 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      594887ab
  27. 03 Aug, 2011 1 commit
    • carlosgc@webkit.org's avatar
      [GTK] Reorganize pkg-config files · eedf25ec
      carlosgc@webkit.org authored
      https://bugs.webkit.org/show_bug.cgi?id=65548
      
      Reviewed by Martin Robinson.
      
      .:
      
      * GNUmakefile.am: Initialize pkgconfigdir and pkgconfig_DATA which
      are common to all libraries.
      * configure.ac: Update pkg-config files.
      
      Source/JavaScriptCore:
      
      * GNUmakefile.am:
      * javascriptcoregtk.pc.in: Renamed from Source/WebKit/gtk/javascriptcoregtk.pc.in.
      
      Source/WebKit/gtk:
      
      * GNUmakefile.am: Remove javascriptcore pc file references.
      
      Source/WebKit2:
      
      * GNUmakefile.am: Rename pc file as webkit2gtk.pc.in. WebKit2
      depends on gtk3 unconditionally so we don't need to use
      WEBKITGTK_PC_NAME.
      * webkit2gtk.pc.in: Renamed from Source/WebKit2/gtk/webkit2.pc.in.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@92263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      eedf25ec
  28. 13 Jun, 2011 1 commit
    • xan@webkit.org's avatar
      Source/WebCore: · 534853e1
      xan@webkit.org authored
      2011-06-13  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Martin Robinson.
      
              Distcheck fixes.
      
              * GNUmakefile.am:
              * GNUmakefile.list.am:
      
      Source/WebKit/gtk:
      
      2011-06-13  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Martin Robinson.
      
              Distcheck fixes.
      
              * GNUmakefile.am:
      
      Source/JavaScriptCore:
      
      2011-06-13  Xan Lopez  <xlopez@igalia.com>
      
              Reviewed by Martin Robinson.
      
              Distcheck fixes.
      
              * GNUmakefile.am:
              * GNUmakefile.list.am:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88674 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      534853e1
  29. 06 Jun, 2011 1 commit
  30. 03 Jun, 2011 2 commits
    • mrobinson@webkit.org's avatar
      2011-06-03 Martin Robinson <mrobinson@igalia.com> · 54418c5a
      mrobinson@webkit.org authored
              Try to fix the GTK+ build.
      
              * GNUmakefile.am: Clean up some spaces that should be tabs.
              * GNUmakefile.list.am: Add KeywordLookup.h to the source list
              and clean up some spaces that should be tabs.
      2011-06-03  Martin Robinson  <mrobinson@igalia.com>
      
              Try to fix the GTK+ bulid.
      
              * GNUmakefile.am: Add JSDOMWrapper.cpp to the libWebCoreInternals
              source list.
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      54418c5a
    • oliver@apple.com's avatar
      2011-06-03 Oliver Hunt <oliver@apple.com> · c3ce5437
      oliver@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Improve keyword lookup
              https://bugs.webkit.org/show_bug.cgi?id=61913
      
              Rather than doing multiple hash lookups as we currently
              do when trying to identify keywords we now use an
              automatically generated decision tree (essentially it's
              a hard coded patricia trie).  We still use the regular
              lookup table for the last few characters of an input as
              this allows us to completely skip all bounds checks.
      
              * CMakeLists.txt:
              * DerivedSources.make:
              * DerivedSources.pro:
              * GNUmakefile.am:
              * JavaScriptCore.gyp/JavaScriptCore.gyp:
              * JavaScriptCore.xcodeproj/project.pbxproj:
              * KeywordLookupGenerator.py: Added.
              * make-generated-sources.sh:
              * parser/Lexer.cpp:
              (JSC::Lexer::internalShift):
              (JSC::Lexer::shift):
              (JSC::Lexer::parseIdentifier):
              * parser/Lexer.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@88076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      c3ce5437
  31. 17 May, 2011 2 commits
    • ggaren@apple.com's avatar
      Source/JavaScriptCore: Rolling back in r86653 with build fixed. · 19fe5092
      ggaren@apple.com authored
      Reviewed by Gavin Barraclough and Oliver Hunt.
      
      Global object initialization is expensive
      https://bugs.webkit.org/show_bug.cgi?id=60933
              
      Changed a bunch of globals to allocate their properties lazily, and changed
      the global object to allocate a bunch of its globals lazily.
              
      This reduces the footprint of a global object from 287 objects with 58
      functions for 24K to 173 objects with 20 functions for 15K.
      
      Large patch, but it's all mechanical.
      
      * DerivedSources.make:
      * JavaScriptCore.exp: Build!
      
      * create_hash_table: Added a special case for fromCharCode, since it uses
      a custom "thunk generator".
      
      * heap/Heap.cpp:
      (JSC::TypeCounter::operator()): Fixed a bug where the type counter would
      overcount objects that were owned through more than one mechanism because
      it was getting in the way of counting the results for this patch.
      
      * interpreter/CallFrame.h:
      (JSC::ExecState::arrayConstructorTable):
      (JSC::ExecState::arrayPrototypeTable):
      (JSC::ExecState::booleanPrototypeTable):
      (JSC::ExecState::dateConstructorTable):
      (JSC::ExecState::errorPrototypeTable):
      (JSC::ExecState::globalObjectTable):
      (JSC::ExecState::numberConstructorTable):
      (JSC::ExecState::numberPrototypeTable):
      (JSC::ExecState::objectPrototypeTable):
      (JSC::ExecState::regExpPrototypeTable):
      (JSC::ExecState::stringConstructorTable): Added new tables.
      
      * runtime/ArrayConstructor.cpp:
      (JSC::ArrayConstructor::ArrayConstructor):
      (JSC::ArrayConstructor::getOwnPropertySlot):
      (JSC::ArrayConstructor::getOwnPropertyDescriptor):
      * runtime/ArrayConstructor.h:
      (JSC::ArrayConstructor::createStructure):
      * runtime/ArrayPrototype.cpp:
      (JSC::ArrayPrototype::getOwnPropertySlot):
      (JSC::ArrayPrototype::getOwnPropertyDescriptor):
      * runtime/ArrayPrototype.h:
      * runtime/BooleanPrototype.cpp:
      (JSC::BooleanPrototype::BooleanPrototype):
      (JSC::BooleanPrototype::getOwnPropertySlot):
      (JSC::BooleanPrototype::getOwnPropertyDescriptor):
      * runtime/BooleanPrototype.h:
      (JSC::BooleanPrototype::createStructure):
      * runtime/DateConstructor.cpp:
      (JSC::DateConstructor::DateConstructor):
      (JSC::DateConstructor::getOwnPropertySlot):
      (JSC::DateConstructor::getOwnPropertyDescriptor):
      * runtime/DateConstructor.h:
      (JSC::DateConstructor::createStructure):
      * runtime/ErrorPrototype.cpp:
      (JSC::ErrorPrototype::ErrorPrototype):
      (JSC::ErrorPrototype::getOwnPropertySlot):
      (JSC::ErrorPrototype::getOwnPropertyDescriptor):
      * runtime/ErrorPrototype.h:
      (JSC::ErrorPrototype::createStructure): Standardized these objects
      to use static tables for function properties.
      
      * runtime/JSGlobalData.cpp:
      (JSC::JSGlobalData::JSGlobalData):
      (JSC::JSGlobalData::~JSGlobalData):
      * runtime/JSGlobalData.h: Added new tables.
      
      * runtime/JSGlobalObject.cpp:
      (JSC::JSGlobalObject::reset):
      (JSC::JSGlobalObject::addStaticGlobals):
      (JSC::JSGlobalObject::getOwnPropertySlot):
      (JSC::JSGlobalObject::getOwnPropertyDescriptor):
      * runtime/JSGlobalObject.h:
      * runtime/JSGlobalObjectFunctions.cpp:
      * runtime/JSGlobalObjectFunctions.h: Changed JSGlobalObject to use a
      static table for its global functions. This required uninlining some
      things to avoid a circular header dependency. However, those things
      probably shouldn't have been inlined in the first place.
              
      Even more global object properties can be made lazy, but that requires
      more in-depth changes.
      
      * runtime/MathObject.cpp:
      * runtime/NumberConstructor.cpp:
      (JSC::NumberConstructor::getOwnPropertySlot):
      (JSC::NumberConstructor::getOwnPropertyDescriptor):
      * runtime/NumberPrototype.cpp:
      (JSC::NumberPrototype::NumberPrototype):
      (JSC::NumberPrototype::getOwnPropertySlot):
      (JSC::NumberPrototype::getOwnPropertyDescriptor):
      * runtime/NumberPrototype.h:
      (JSC::NumberPrototype::createStructure):
      * runtime/ObjectPrototype.cpp:
      (JSC::ObjectPrototype::ObjectPrototype):
      (JSC::ObjectPrototype::put):
      (JSC::ObjectPrototype::getOwnPropertySlot):
      (JSC::ObjectPrototype::getOwnPropertyDescriptor):
      * runtime/ObjectPrototype.h:
      (JSC::ObjectPrototype::createStructure):
      * runtime/RegExpPrototype.cpp:
      (JSC::RegExpPrototype::RegExpPrototype):
      (JSC::RegExpPrototype::getOwnPropertySlot):
      (JSC::RegExpPrototype::getOwnPropertyDescriptor):
      * runtime/RegExpPrototype.h:
      (JSC::RegExpPrototype::createStructure):
      * runtime/StringConstructor.cpp:
      (JSC::StringConstructor::StringConstructor):
      (JSC::StringConstructor::getOwnPropertySlot):
      (JSC::StringConstructor::getOwnPropertyDescriptor):
      * runtime/StringConstructor.h:
      (JSC::StringConstructor::createStructure): Standardized these objects
      to use static tables for function properties.
      
      LayoutTests: Global object initialization is expensive
      https://bugs.webkit.org/show_bug.cgi?id=60933
              
      Reviewed by Gavin Barraclough.
      
      Added a few more expected failures, now that more code uses static hash
      tables.
              
      The fact that built-ins are not deletable, but should be, is covered by
      https://bugs.webkit.org/show_bug.cgi?id=61014
      
      * sputnik/Conformance/15_Native_Objects/15.6_Boolean/15.6.2/S15.6.2.1_A4-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.6_Boolean/15.6.3/15.6.3.1_Boolean.prototype/S15.6.3.1_A1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.6_Boolean/15.6.4/S15.6.4_A1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.7_Number/15.7.2/S15.7.2.1_A4-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.7_Number/15.7.3/15.7.3.1_Number.prototype/S15.7.3.1_A2_T1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.7_Number/15.7.4/S15.7.4_A1-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.2_Date.parse/S15.9.4.2_A1_T2-expected.txt:
      * sputnik/Conformance/15_Native_Objects/15.9_Date/15.9.4/15.9.4.3_Date.UTC/S15.9.4.3_A1_T2-expected.txt:
      
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      19fe5092
    • commit-queue@webkit.org's avatar
      2011-05-16 Sheriff Bot <webkit.review.bot@gmail.com> · 5a39502a
      commit-queue@webkit.org authored
              Unreviewed, rolling out r86653.
              http://trac.webkit.org/changeset/86653
              https://bugs.webkit.org/show_bug.cgi?id=60944
      
              "Caused regressions on Windows, OSX and EFL" (Requested by
              yutak on #webkit).
      
              * DerivedSources.make:
              * DerivedSources.pro:
              * GNUmakefile.am:
              * GNUmakefile.list.am:
              * JavaScriptCore.exp:
              * JavaScriptCore.gypi:
              * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
              * create_hash_table:
              * heap/Heap.cpp:
              (JSC::TypeCounter::operator()):
              * interpreter/CallFrame.h:
              (JSC::ExecState::arrayTable):
              (JSC::ExecState::numberTable):
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              * runtime/ArrayConstructor.h:
              * runtime/ArrayPrototype.cpp:
              (JSC::ArrayPrototype::getOwnPropertySlot):
              (JSC::ArrayPrototype::getOwnPropertyDescriptor):
              * runtime/ArrayPrototype.h:
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              * runtime/BooleanPrototype.h:
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              * runtime/DateConstructor.h:
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              * runtime/ErrorPrototype.h:
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::~JSGlobalData):
              * runtime/JSGlobalData.h:
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              * runtime/JSGlobalObject.h:
              (JSC::JSGlobalObject::addStaticGlobals):
              (JSC::JSGlobalObject::getOwnPropertySlot):
              (JSC::JSGlobalObject::getOwnPropertyDescriptor):
              * runtime/JSGlobalObjectFunctions.cpp:
              (JSC::globalFuncJSCPrint):
              * runtime/JSGlobalObjectFunctions.h:
              * runtime/MathObject.cpp:
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::getOwnPropertySlot):
              (JSC::NumberConstructor::getOwnPropertyDescriptor):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              * runtime/NumberPrototype.h:
              * runtime/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              (JSC::ObjectPrototype::put):
              (JSC::ObjectPrototype::getOwnPropertySlot):
              * runtime/ObjectPrototype.h:
              * runtime/RegExpPrototype.cpp:
              (JSC::RegExpPrototype::RegExpPrototype):
              * runtime/RegExpPrototype.h:
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              * runtime/StringConstructor.h:
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86657 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      5a39502a
  32. 16 May, 2011 1 commit
    • ggaren@apple.com's avatar
      2011-05-16 Geoffrey Garen <ggaren@apple.com> · 836c5d91
      ggaren@apple.com authored
              Reviewed by Geoffrey Garen.
      
              Global object initialization is expensive
              https://bugs.webkit.org/show_bug.cgi?id=60933
              
              Changed a bunch of globals to allocate their properties lazily, and changed
              the global object to allocate a bunch of its globals lazily.
              
              This reduces the footprint of a global object from 287 objects with 58
              functions for 24K to 173 objects with 20 functions for 15K.
      
              Large patch, but it's all mechanical.
      
              * DerivedSources.make:
              * JavaScriptCore.exp: Build!
      
              * create_hash_table: Added a special case for fromCharCode, since it uses
              a custom "thunk generator".
      
              * heap/Heap.cpp:
              (JSC::TypeCounter::operator()): Fixed a bug where the type counter would
              overcount objects that were owned through more than one mechanism because
              it was getting in the way of counting the results for this patch.
      
              * interpreter/CallFrame.h:
              (JSC::ExecState::arrayConstructorTable):
              (JSC::ExecState::arrayPrototypeTable):
              (JSC::ExecState::booleanPrototypeTable):
              (JSC::ExecState::dateConstructorTable):
              (JSC::ExecState::errorPrototypeTable):
              (JSC::ExecState::globalObjectTable):
              (JSC::ExecState::numberConstructorTable):
              (JSC::ExecState::numberPrototypeTable):
              (JSC::ExecState::objectPrototypeTable):
              (JSC::ExecState::regExpPrototypeTable):
              (JSC::ExecState::stringConstructorTable): Added new tables.
      
              * runtime/ArrayConstructor.cpp:
              (JSC::ArrayConstructor::ArrayConstructor):
              (JSC::ArrayConstructor::getOwnPropertySlot):
              (JSC::ArrayConstructor::getOwnPropertyDescriptor):
              * runtime/ArrayConstructor.h:
              (JSC::ArrayConstructor::createStructure):
              * runtime/ArrayPrototype.cpp:
              (JSC::ArrayPrototype::getOwnPropertySlot):
              (JSC::ArrayPrototype::getOwnPropertyDescriptor):
              * runtime/ArrayPrototype.h:
              * runtime/BooleanPrototype.cpp:
              (JSC::BooleanPrototype::BooleanPrototype):
              (JSC::BooleanPrototype::getOwnPropertySlot):
              (JSC::BooleanPrototype::getOwnPropertyDescriptor):
              * runtime/BooleanPrototype.h:
              (JSC::BooleanPrototype::createStructure):
              * runtime/DateConstructor.cpp:
              (JSC::DateConstructor::DateConstructor):
              (JSC::DateConstructor::getOwnPropertySlot):
              (JSC::DateConstructor::getOwnPropertyDescriptor):
              * runtime/DateConstructor.h:
              (JSC::DateConstructor::createStructure):
              * runtime/ErrorPrototype.cpp:
              (JSC::ErrorPrototype::ErrorPrototype):
              (JSC::ErrorPrototype::getOwnPropertySlot):
              (JSC::ErrorPrototype::getOwnPropertyDescriptor):
              * runtime/ErrorPrototype.h:
              (JSC::ErrorPrototype::createStructure): Standardized these objects
              to use static tables for function properties.
      
              * runtime/JSGlobalData.cpp:
              (JSC::JSGlobalData::JSGlobalData):
              (JSC::JSGlobalData::~JSGlobalData):
              * runtime/JSGlobalData.h: Added new tables.
      
              * runtime/JSGlobalObject.cpp:
              (JSC::JSGlobalObject::reset):
              (JSC::JSGlobalObject::addStaticGlobals):
              (JSC::JSGlobalObject::getOwnPropertySlot):
              (JSC::JSGlobalObject::getOwnPropertyDescriptor):
              * runtime/JSGlobalObject.h:
              * runtime/JSGlobalObjectFunctions.cpp:
              * runtime/JSGlobalObjectFunctions.h: Changed JSGlobalObject to use a
              static table for its global functions. This required uninlining some
              things to avoid a circular header dependency. However, those things
              probably shouldn't have been inlined in the first place.
              
              Even more global object properties can be made lazy, but that requires
              more in-depth changes.
      
              * runtime/MathObject.cpp:
              * runtime/NumberConstructor.cpp:
              (JSC::NumberConstructor::getOwnPropertySlot):
              (JSC::NumberConstructor::getOwnPropertyDescriptor):
              * runtime/NumberPrototype.cpp:
              (JSC::NumberPrototype::NumberPrototype):
              (JSC::NumberPrototype::getOwnPropertySlot):
              (JSC::NumberPrototype::getOwnPropertyDescriptor):
              * runtime/NumberPrototype.h:
              (JSC::NumberPrototype::createStructure):
              * runtime/ObjectPrototype.cpp:
              (JSC::ObjectPrototype::ObjectPrototype):
              (JSC::ObjectPrototype::put):
              (JSC::ObjectPrototype::getOwnPropertySlot):
              (JSC::ObjectPrototype::getOwnPropertyDescriptor):
              * runtime/ObjectPrototype.h:
              (JSC::ObjectPrototype::createStructure):
              * runtime/RegExpPrototype.cpp:
              (JSC::RegExpPrototype::RegExpPrototype):
              (JSC::RegExpPrototype::getOwnPropertySlot):
              (JSC::RegExpPrototype::getOwnPropertyDescriptor):
              * runtime/RegExpPrototype.h:
              (JSC::RegExpPrototype::createStructure):
              * runtime/StringConstructor.cpp:
              (JSC::StringConstructor::StringConstructor):
              (JSC::StringConstructor::getOwnPropertySlot):
              (JSC::StringConstructor::getOwnPropertyDescriptor):
              * runtime/StringConstructor.h:
              (JSC::StringConstructor::createStructure): Standardized these objects
              to use static tables for function properties.
      
      
      git-svn-id: http://svn.webkit.org/repository/webkit/trunk@86653 268f45cc-cd09-0410-ab3c-d52691b4dbfc
      836c5d91
  33. 04 May, 2011 1 commit
  34. 28 Apr, 2011 1 commit