haikuwebkit/Source/WTF/wtf/StackBounds.h

153 lines
4.7 KiB
C
Raw Permalink Normal View History

Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
/*
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
* Copyright (C) 2010-2019 Apple Inc. All Rights Reserved.
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
.: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * ManualTests/NPN_Invoke/Info.plist: * ManualTests/NPN_Invoke/main.c: * ManualTests/accessibility/resources/AppletTest.java: Examples: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * NetscapeCocoaPlugin/MenuHandler.h: * NetscapeCocoaPlugin/MenuHandler.m: * NetscapeCocoaPlugin/main.m: * NetscapeCoreAnimationPlugin/main.m: * NetscapeInputMethodPlugin/main.m: PerformanceTests: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: * LongSpider/3d-morph.js: * LongSpider/3d-raytrace.js: * LongSpider/math-cordic.js: * LongSpider/string-tagcloud.js: * Parser/resources/html5-8266.html: * Parser/resources/html5.html: PerformanceTests/SunSpider: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * hosted/sunspider.html: * hosted/versions.html: * make-hosted: * resources/TEMPLATE.html: * resources/driver-TEMPLATE.html: * resources/results-TEMPLATE.html: * resources/sunspider-analyze-results.js: * resources/sunspider-compare-results.js: * resources/sunspider-standalone-compare.js: * resources/sunspider-standalone-driver.js: * sunspider: * sunspider-compare-results: * tests/sunspider-0.9.1/3d-morph.js: * tests/sunspider-0.9.1/3d-raytrace.js: * tests/sunspider-0.9.1/bitops-bitwise-and.js: * tests/sunspider-0.9.1/math-cordic.js: * tests/sunspider-0.9.1/string-tagcloud.js: * tests/sunspider-0.9/3d-morph.js: * tests/sunspider-0.9/3d-raytrace.js: * tests/sunspider-0.9/bitops-bitwise-and.js: * tests/sunspider-0.9/math-cordic.js: * tests/sunspider-0.9/string-tagcloud.js: * tests/sunspider-1.0.1/3d-morph.js: * tests/sunspider-1.0.1/3d-raytrace.js: * tests/sunspider-1.0.1/bitops-bitwise-and.js: * tests/sunspider-1.0.1/math-cordic.js: * tests/sunspider-1.0.1/string-tagcloud.js: * tests/sunspider-1.0.2/3d-morph.js: * tests/sunspider-1.0.2/3d-raytrace.js: * tests/sunspider-1.0.2/bitops-bitwise-and.js: * tests/sunspider-1.0.2/math-cordic.js: * tests/sunspider-1.0.2/string-tagcloud.js: * tests/sunspider-1.0/3d-morph.js: * tests/sunspider-1.0/3d-raytrace.js: * tests/sunspider-1.0/bitops-bitwise-and.js: * tests/sunspider-1.0/math-cordic.js: * tests/sunspider-1.0/string-tagcloud.js: Source/JavaScriptCore: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * API/APICast.h: * API/JSBase.cpp: * API/JSBase.h: * API/JSBasePrivate.h: * API/JSCallbackConstructor.cpp: * API/JSCallbackConstructor.h: * API/JSCallbackFunction.cpp: * API/JSCallbackFunction.h: * API/JSCallbackObject.cpp: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: * API/JSClassRef.cpp: * API/JSClassRef.h: * API/JSContextRef.cpp: * API/JSContextRef.h: * API/JSContextRefPrivate.h: * API/JSObjectRef.cpp: * API/JSObjectRef.h: * API/JSProfilerPrivate.cpp: * API/JSProfilerPrivate.h: * API/JSRetainPtr.h: * API/JSStringRef.cpp: * API/JSStringRef.h: * API/JSStringRefBSTR.cpp: * API/JSStringRefBSTR.h: * API/JSStringRefCF.cpp: * API/JSStringRefCF.h: * API/JSValueRef.cpp: * API/JSValueRef.h: * API/JavaScript.h: * API/JavaScriptCore.h: * API/OpaqueJSString.cpp: * API/OpaqueJSString.h: * API/tests/JSNode.c: * API/tests/JSNode.h: * API/tests/JSNodeList.c: * API/tests/JSNodeList.h: * API/tests/Node.c: * API/tests/Node.h: * API/tests/NodeList.c: * API/tests/NodeList.h: * API/tests/minidom.c: * API/tests/minidom.js: * API/tests/testapi.c: * API/tests/testapi.js: * DerivedSources.make: * bindings/ScriptValue.cpp: * bytecode/CodeBlock.cpp: * bytecode/CodeBlock.h: * bytecode/EvalCodeCache.h: * bytecode/Instruction.h: * bytecode/JumpTable.cpp: * bytecode/JumpTable.h: * bytecode/Opcode.cpp: * bytecode/Opcode.h: * bytecode/SamplingTool.cpp: * bytecode/SamplingTool.h: * bytecode/SpeculatedType.cpp: * bytecode/SpeculatedType.h: * bytecode/ValueProfile.h: * bytecompiler/BytecodeGenerator.cpp: * bytecompiler/BytecodeGenerator.h: * bytecompiler/Label.h: * bytecompiler/LabelScope.h: * bytecompiler/RegisterID.h: * debugger/DebuggerCallFrame.cpp: * debugger/DebuggerCallFrame.h: * dfg/DFGDesiredStructureChains.cpp: * dfg/DFGDesiredStructureChains.h: * heap/GCActivityCallback.cpp: * heap/GCActivityCallback.h: * inspector/ConsoleMessage.cpp: * inspector/ConsoleMessage.h: * inspector/IdentifiersFactory.cpp: * inspector/IdentifiersFactory.h: * inspector/InjectedScriptManager.cpp: * inspector/InjectedScriptManager.h: * inspector/InjectedScriptSource.js: * inspector/ScriptBreakpoint.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAgent.cpp: * inspector/agents/InspectorAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: * inspector/agents/InspectorDebuggerAgent.h: * interpreter/Interpreter.cpp: * interpreter/Interpreter.h: * interpreter/JSStack.cpp: * interpreter/JSStack.h: * interpreter/Register.h: * jit/CompactJITCodeMap.h: * jit/JITStubs.cpp: * jit/JITStubs.h: * jit/JITStubsARM.h: * jit/JITStubsARMv7.h: * jit/JITStubsX86.h: * jit/JITStubsX86_64.h: * os-win32/stdbool.h: * parser/SourceCode.h: * parser/SourceProvider.h: * profiler/LegacyProfiler.cpp: * profiler/LegacyProfiler.h: * profiler/ProfileNode.cpp: * profiler/ProfileNode.h: * runtime/ArrayBufferView.cpp: * runtime/ArrayBufferView.h: * runtime/BatchedTransitionOptimizer.h: * runtime/CallData.h: * runtime/ConstructData.h: * runtime/DumpContext.cpp: * runtime/DumpContext.h: * runtime/ExceptionHelpers.cpp: * runtime/ExceptionHelpers.h: * runtime/InitializeThreading.cpp: * runtime/InitializeThreading.h: * runtime/IntegralTypedArrayBase.h: * runtime/IntendedStructureChain.cpp: * runtime/IntendedStructureChain.h: * runtime/JSActivation.cpp: * runtime/JSActivation.h: * runtime/JSExportMacros.h: * runtime/JSGlobalObject.cpp: * runtime/JSNotAnObject.cpp: * runtime/JSNotAnObject.h: * runtime/JSPropertyNameIterator.cpp: * runtime/JSPropertyNameIterator.h: * runtime/JSSegmentedVariableObject.cpp: * runtime/JSSegmentedVariableObject.h: * runtime/JSSymbolTableObject.cpp: * runtime/JSSymbolTableObject.h: * runtime/JSTypeInfo.h: * runtime/JSVariableObject.cpp: * runtime/JSVariableObject.h: * runtime/PropertyTable.cpp: * runtime/PutPropertySlot.h: * runtime/SamplingCounter.cpp: * runtime/SamplingCounter.h: * runtime/Structure.cpp: * runtime/Structure.h: * runtime/StructureChain.cpp: * runtime/StructureChain.h: * runtime/StructureInlines.h: * runtime/StructureTransitionTable.h: * runtime/SymbolTable.cpp: * runtime/SymbolTable.h: * runtime/TypedArrayBase.h: * runtime/TypedArrayType.cpp: * runtime/TypedArrayType.h: * runtime/VM.cpp: * runtime/VM.h: * yarr/RegularExpression.cpp: * yarr/RegularExpression.h: Source/WebCore: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. No new tests because no behavior changes. * DerivedSources.make: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: * Modules/encryptedmedia/MediaKeyMessageEvent.h: * Modules/encryptedmedia/MediaKeyMessageEvent.idl: * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: * Modules/encryptedmedia/MediaKeyNeededEvent.h: * Modules/encryptedmedia/MediaKeyNeededEvent.idl: * Modules/encryptedmedia/MediaKeySession.idl: * Modules/encryptedmedia/MediaKeys.idl: * Modules/geolocation/NavigatorGeolocation.cpp: * Modules/indexeddb/DOMWindowIndexedDatabase.idl: * Modules/indexeddb/IDBCallbacks.h: * Modules/indexeddb/IDBDatabaseException.cpp: * Modules/indexeddb/IDBDatabaseMetadata.h: * Modules/indexeddb/IDBEventDispatcher.cpp: * Modules/indexeddb/IDBEventDispatcher.h: * Modules/indexeddb/IDBFactory.cpp: * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactoryBackendInterface.cpp: * Modules/indexeddb/IDBFactoryBackendInterface.h: * Modules/indexeddb/IDBHistograms.h: * Modules/indexeddb/IDBIndexMetadata.h: * Modules/indexeddb/IDBObjectStoreMetadata.h: * Modules/indexeddb/IDBRecordIdentifier.h: * Modules/indexeddb/IDBRequest.cpp: * Modules/indexeddb/IDBRequest.h: * Modules/indexeddb/IDBRequest.idl: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl: * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: * Modules/mediacontrols/MediaControlsHost.cpp: * Modules/mediacontrols/MediaControlsHost.h: * Modules/mediacontrols/MediaControlsHost.idl: * Modules/mediacontrols/mediaControlsApple.css: * Modules/mediacontrols/mediaControlsiOS.css: * Modules/mediasource/AudioTrackMediaSource.h: * Modules/mediasource/AudioTrackMediaSource.idl: * Modules/mediasource/TextTrackMediaSource.h: * Modules/mediasource/TextTrackMediaSource.idl: * Modules/mediasource/VideoTrackMediaSource.h: * Modules/mediasource/VideoTrackMediaSource.idl: * Modules/mediastream/AllAudioCapabilities.h: * Modules/mediastream/AllAudioCapabilities.idl: * Modules/mediastream/AllVideoCapabilities.h: * Modules/mediastream/AllVideoCapabilities.idl: * Modules/mediastream/AudioStreamTrack.cpp: * Modules/mediastream/AudioStreamTrack.h: * Modules/mediastream/AudioStreamTrack.idl: * Modules/mediastream/CapabilityRange.cpp: * Modules/mediastream/CapabilityRange.h: * Modules/mediastream/CapabilityRange.idl: * Modules/mediastream/MediaSourceStates.cpp: * Modules/mediastream/MediaSourceStates.h: * Modules/mediastream/MediaSourceStates.idl: * Modules/mediastream/MediaStreamCapabilities.cpp: * Modules/mediastream/MediaStreamCapabilities.h: * Modules/mediastream/MediaStreamCapabilities.idl: * Modules/mediastream/MediaTrackConstraint.cpp: * Modules/mediastream/MediaTrackConstraint.h: * Modules/mediastream/MediaTrackConstraint.idl: * Modules/mediastream/MediaTrackConstraintSet.cpp: * Modules/mediastream/MediaTrackConstraintSet.h: * Modules/mediastream/MediaTrackConstraints.cpp: * Modules/mediastream/MediaTrackConstraints.h: * Modules/mediastream/MediaTrackConstraints.idl: * Modules/mediastream/NavigatorMediaStream.cpp: * Modules/mediastream/NavigatorUserMediaError.cpp: * Modules/mediastream/RTCConfiguration.idl: * Modules/mediastream/RTCIceServer.idl: * Modules/mediastream/RTCOfferAnswerOptions.cpp: * Modules/mediastream/RTCOfferAnswerOptions.h: * Modules/mediastream/VideoStreamTrack.cpp: * Modules/mediastream/VideoStreamTrack.h: * Modules/mediastream/VideoStreamTrack.idl: * Modules/networkinfo/NetworkInfo.cpp: * Modules/networkinfo/NetworkInfo.h: * Modules/networkinfo/NetworkInfoConnection.cpp: * Modules/networkinfo/NetworkInfoConnection.h: * Modules/networkinfo/NetworkInfoController.cpp: * Modules/notifications/DOMWindowNotifications.cpp: * Modules/notifications/DOMWindowNotifications.h: * Modules/notifications/DOMWindowNotifications.idl: * Modules/notifications/NotificationController.cpp: * Modules/notifications/NotificationController.h: * Modules/notifications/NotificationPermissionCallback.h: * Modules/notifications/NotificationPermissionCallback.idl: * Modules/notifications/WorkerGlobalScopeNotifications.cpp: * Modules/notifications/WorkerGlobalScopeNotifications.h: * Modules/notifications/WorkerGlobalScopeNotifications.idl: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.cpp: * Modules/plugins/QuickTimePluginReplacement.css: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.idl: * Modules/quota/DOMWindowQuota.idl: * Modules/speech/DOMWindowSpeechSynthesis.h: * Modules/speech/DOMWindowSpeechSynthesis.idl: * Modules/speech/SpeechSynthesis.cpp: * Modules/speech/SpeechSynthesis.h: * Modules/speech/SpeechSynthesis.idl: * Modules/speech/SpeechSynthesisEvent.cpp: * Modules/speech/SpeechSynthesisEvent.h: * Modules/speech/SpeechSynthesisEvent.idl: * Modules/speech/SpeechSynthesisUtterance.cpp: * Modules/speech/SpeechSynthesisUtterance.h: * Modules/speech/SpeechSynthesisUtterance.idl: * Modules/speech/SpeechSynthesisVoice.cpp: * Modules/speech/SpeechSynthesisVoice.h: * Modules/speech/SpeechSynthesisVoice.idl: * Modules/webaudio/AudioBuffer.cpp: * Modules/webaudio/AudioBuffer.h: * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/AudioListener.cpp: * Modules/webaudio/AudioListener.h: * Modules/webaudio/AudioListener.idl: * Modules/webaudio/AudioParam.h: * Modules/webaudio/AudioParam.idl: * Modules/webaudio/AudioParamTimeline.h: * Modules/webaudio/AudioScheduledSourceNode.h: * Modules/webaudio/ChannelMergerNode.cpp: * Modules/webaudio/ChannelMergerNode.h: * Modules/webaudio/ChannelMergerNode.idl: * Modules/webaudio/MediaStreamAudioSource.cpp: * Modules/webaudio/MediaStreamAudioSource.h: * Modules/webaudio/PeriodicWave.cpp: * Modules/webaudio/PeriodicWave.h: * Modules/webdatabase/ChangeVersionWrapper.cpp: * Modules/webdatabase/ChangeVersionWrapper.h: * Modules/webdatabase/DOMWindowWebDatabase.cpp: * Modules/webdatabase/DOMWindowWebDatabase.h: * Modules/webdatabase/DOMWindowWebDatabase.idl: * Modules/webdatabase/Database.cpp: * Modules/webdatabase/Database.h: * Modules/webdatabase/Database.idl: * Modules/webdatabase/DatabaseAuthorizer.cpp: * Modules/webdatabase/DatabaseAuthorizer.h: * Modules/webdatabase/DatabaseBackendBase.cpp: * Modules/webdatabase/DatabaseBackendBase.h: * Modules/webdatabase/DatabaseCallback.idl: * Modules/webdatabase/DatabaseContext.cpp: * Modules/webdatabase/DatabaseContext.h: * Modules/webdatabase/DatabaseDetails.h: * Modules/webdatabase/DatabaseTask.cpp: * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: * Modules/webdatabase/DatabaseThread.h: * Modules/webdatabase/DatabaseTracker.cpp: * Modules/webdatabase/DatabaseTracker.h: * Modules/webdatabase/SQLCallbackWrapper.h: * Modules/webdatabase/SQLError.h: * Modules/webdatabase/SQLError.idl: * Modules/webdatabase/SQLException.cpp: * Modules/webdatabase/SQLResultSet.cpp: * Modules/webdatabase/SQLResultSet.h: * Modules/webdatabase/SQLResultSet.idl: * Modules/webdatabase/SQLResultSetRowList.cpp: * Modules/webdatabase/SQLResultSetRowList.h: * Modules/webdatabase/SQLResultSetRowList.idl: * Modules/webdatabase/SQLStatement.cpp: * Modules/webdatabase/SQLStatement.h: * Modules/webdatabase/SQLStatementBackend.cpp: * Modules/webdatabase/SQLStatementBackend.h: * Modules/webdatabase/SQLStatementCallback.h: * Modules/webdatabase/SQLStatementCallback.idl: * Modules/webdatabase/SQLStatementErrorCallback.h: * Modules/webdatabase/SQLStatementErrorCallback.idl: * Modules/webdatabase/SQLStatementSync.cpp: * Modules/webdatabase/SQLTransaction.cpp: * Modules/webdatabase/SQLTransaction.h: * Modules/webdatabase/SQLTransaction.idl: * Modules/webdatabase/SQLTransactionBackend.cpp: * Modules/webdatabase/SQLTransactionBackend.h: * Modules/webdatabase/SQLTransactionCallback.h: * Modules/webdatabase/SQLTransactionCallback.idl: * Modules/webdatabase/SQLTransactionErrorCallback.h: * Modules/webdatabase/SQLTransactionErrorCallback.idl: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.h: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl: * Resources/deleteButton.tiff: * Resources/deleteButtonPressed.tiff: * WebCore.vcxproj/MigrateScripts: * WebCorePrefix.cpp: * accessibility/AXObjectCache.cpp: * accessibility/AXObjectCache.h: * accessibility/AccessibilityARIAGrid.cpp: * accessibility/AccessibilityARIAGrid.h: * accessibility/AccessibilityARIAGridCell.cpp: * accessibility/AccessibilityARIAGridCell.h: * accessibility/AccessibilityARIAGridRow.cpp: * accessibility/AccessibilityARIAGridRow.h: * accessibility/AccessibilityImageMapLink.cpp: * accessibility/AccessibilityImageMapLink.h: * accessibility/AccessibilityList.cpp: * accessibility/AccessibilityList.h: * accessibility/AccessibilityListBox.cpp: * accessibility/AccessibilityListBox.h: * accessibility/AccessibilityListBoxOption.cpp: * accessibility/AccessibilityListBoxOption.h: * accessibility/AccessibilityMediaControls.cpp: * accessibility/AccessibilityMediaControls.h: * accessibility/AccessibilityNodeObject.cpp: * accessibility/AccessibilityNodeObject.h: * accessibility/AccessibilityObject.cpp: * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilityRenderObject.h: * accessibility/AccessibilitySVGRoot.cpp: * accessibility/AccessibilitySVGRoot.h: * accessibility/AccessibilityScrollbar.cpp: * accessibility/AccessibilityScrollbar.h: * accessibility/AccessibilitySlider.cpp: * accessibility/AccessibilitySlider.h: * accessibility/AccessibilityTable.cpp: * accessibility/AccessibilityTable.h: * accessibility/AccessibilityTableCell.cpp: * accessibility/AccessibilityTableCell.h: * accessibility/AccessibilityTableColumn.cpp: * accessibility/AccessibilityTableColumn.h: * accessibility/AccessibilityTableHeaderContainer.cpp: * accessibility/AccessibilityTableHeaderContainer.h: * accessibility/AccessibilityTableRow.cpp: * accessibility/AccessibilityTableRow.h: * accessibility/ios/AXObjectCacheIOS.mm: * accessibility/ios/AccessibilityObjectIOS.mm: * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: * accessibility/mac/AXObjectCacheMac.mm: * accessibility/mac/AccessibilityObjectMac.mm: * accessibility/mac/WebAccessibilityObjectWrapperBase.h: * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: * accessibility/mac/WebAccessibilityObjectWrapperMac.h: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: * bindings/gobject/WebKitDOMEventTarget.cpp: * bindings/gobject/WebKitDOMHTMLPrivate.cpp: * bindings/gobject/WebKitDOMHTMLPrivate.h: * bindings/js/Dictionary.cpp: * bindings/js/GCController.cpp: * bindings/js/GCController.h: * bindings/js/JSAttrCustom.cpp: * bindings/js/JSAudioTrackCustom.cpp: * bindings/js/JSAudioTrackListCustom.cpp: * bindings/js/JSCSSRuleCustom.cpp: * bindings/js/JSCSSRuleCustom.h: * bindings/js/JSCSSRuleListCustom.cpp: * bindings/js/JSCSSStyleDeclarationCustom.cpp: * bindings/js/JSCSSValueCustom.cpp: * bindings/js/JSCallbackData.cpp: * bindings/js/JSCallbackData.h: * bindings/js/JSCanvasRenderingContextCustom.cpp: * bindings/js/JSClipboardCustom.cpp: * bindings/js/JSCustomSQLStatementErrorCallback.cpp: * bindings/js/JSCustomXPathNSResolver.cpp: * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMGlobalObject.cpp: * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMWindowShell.cpp: * bindings/js/JSDOMWindowShell.h: * bindings/js/JSElementCustom.cpp: * bindings/js/JSEventCustom.cpp: * bindings/js/JSHTMLAppletElementCustom.cpp: * bindings/js/JSHTMLCanvasElementCustom.cpp: * bindings/js/JSHTMLDocumentCustom.cpp: * bindings/js/JSHTMLElementCustom.cpp: * bindings/js/JSHTMLEmbedElementCustom.cpp: * bindings/js/JSHTMLFormElementCustom.cpp: * bindings/js/JSHTMLFrameElementCustom.cpp: * bindings/js/JSHTMLFrameSetElementCustom.cpp: * bindings/js/JSHTMLObjectElementCustom.cpp: * bindings/js/JSHTMLSelectElementCustom.h: * bindings/js/JSHistoryCustom.cpp: * bindings/js/JSMediaListCustom.h: * bindings/js/JSMediaSourceStatesCustom.cpp: * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: * bindings/js/JSNamedNodeMapCustom.cpp: * bindings/js/JSNodeCustom.cpp: * bindings/js/JSNodeCustom.h: * bindings/js/JSNodeFilterCustom.cpp: * bindings/js/JSNodeListCustom.cpp: * bindings/js/JSSQLResultSetRowListCustom.cpp: * bindings/js/JSSQLTransactionCustom.cpp: * bindings/js/JSSQLTransactionSyncCustom.cpp: * bindings/js/JSSVGElementInstanceCustom.cpp: * bindings/js/JSStyleSheetCustom.cpp: * bindings/js/JSStyleSheetCustom.h: * bindings/js/JSStyleSheetListCustom.cpp: * bindings/js/JSTextTrackCueCustom.cpp: * bindings/js/JSTextTrackCustom.cpp: * bindings/js/JSTextTrackListCustom.cpp: * bindings/js/JSTouchCustom.cpp: * bindings/js/JSTouchListCustom.cpp: * bindings/js/JSTrackCustom.cpp: * bindings/js/JSTrackCustom.h: * bindings/js/JSTrackEventCustom.cpp: * bindings/js/JSVideoTrackCustom.cpp: * bindings/js/JSVideoTrackListCustom.cpp: * bindings/js/JSWebGLRenderingContextCustom.cpp: * bindings/js/JSWebKitPointCustom.cpp: * bindings/js/JSWorkerGlobalScopeBase.cpp: * bindings/js/JSWorkerGlobalScopeBase.h: * bindings/js/JSXMLHttpRequestCustom.cpp: * bindings/js/JSXSLTProcessorCustom.cpp: * bindings/js/ScriptControllerMac.mm: * bindings/js/ScriptProfile.cpp: * bindings/js/ScriptProfile.h: * bindings/js/ScriptProfileNode.h: * bindings/js/ScriptProfiler.cpp: * bindings/js/ScriptProfiler.h: * bindings/js/SerializedScriptValue.cpp: * bindings/js/SerializedScriptValue.h: * bindings/js/WorkerScriptController.cpp: * bindings/js/WorkerScriptController.h: * bindings/objc/DOM.h: * bindings/objc/DOM.mm: * bindings/objc/DOMAbstractView.mm: * bindings/objc/DOMAbstractViewFrame.h: * bindings/objc/DOMCSS.h: * bindings/objc/DOMCSS.mm: * bindings/objc/DOMCore.h: * bindings/objc/DOMCustomXPathNSResolver.h: * bindings/objc/DOMCustomXPathNSResolver.mm: * bindings/objc/DOMEventException.h: * bindings/objc/DOMEvents.h: * bindings/objc/DOMEvents.mm: * bindings/objc/DOMException.h: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMInternal.h: * bindings/objc/DOMInternal.mm: * bindings/objc/DOMObject.h: * bindings/objc/DOMObject.mm: * bindings/objc/DOMPrivate.h: * bindings/objc/DOMRangeException.h: * bindings/objc/DOMRanges.h: * bindings/objc/DOMStylesheets.h: * bindings/objc/DOMTraversal.h: * bindings/objc/DOMUIKitExtensions.h: * bindings/objc/DOMUIKitExtensions.mm: * bindings/objc/DOMUtility.mm: * bindings/objc/DOMViews.h: * bindings/objc/DOMXPath.h: * bindings/objc/DOMXPath.mm: * bindings/objc/DOMXPathException.h: * bindings/objc/ExceptionHandlers.h: * bindings/objc/ExceptionHandlers.mm: * bindings/objc/ObjCEventListener.h: * bindings/objc/ObjCEventListener.mm: * bindings/objc/ObjCNodeFilterCondition.h: * bindings/objc/ObjCNodeFilterCondition.mm: * bindings/objc/PublicDOMInterfaces.h: * bindings/objc/WebScriptObject.mm: * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/InFilesCompiler.pm: (license): * bindings/scripts/InFilesParser.pm: * bindings/scripts/generate-bindings.pl: * bindings/scripts/test/ObjC/DOMFloat64Array.h: * bindings/scripts/test/ObjC/DOMFloat64Array.mm: * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: * bindings/scripts/test/ObjC/DOMTestCallback.h: * bindings/scripts/test/ObjC/DOMTestCallback.mm: * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: * bindings/scripts/test/ObjC/DOMTestEventTarget.h: * bindings/scripts/test/ObjC/DOMTestEventTarget.mm: * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: * bindings/scripts/test/ObjC/DOMTestException.h: * bindings/scripts/test/ObjC/DOMTestException.mm: * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: * bindings/scripts/test/ObjC/DOMTestInterface.h: * bindings/scripts/test/ObjC/DOMTestInterface.mm: * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: * bindings/scripts/test/ObjC/DOMTestNode.h: * bindings/scripts/test/ObjC/DOMTestNode.mm: * bindings/scripts/test/ObjC/DOMTestNodeInternal.h: * bindings/scripts/test/ObjC/DOMTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.mm: * bindings/scripts/test/ObjC/DOMTestObjInternal.h: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: * bindings/scripts/test/ObjC/DOMTestTypedefs.h: * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: * bindings/scripts/test/ObjC/DOMattribute.h: * bindings/scripts/test/ObjC/DOMattribute.mm: * bindings/scripts/test/ObjC/DOMattributeInternal.h: * bindings/scripts/test/ObjC/DOMreadonly.h: * bindings/scripts/test/ObjC/DOMreadonly.mm: * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: * bindings/scripts/test/TestCallback.idl: * bindings/scripts/test/TestCustomNamedGetter.idl: * bindings/scripts/test/TestDomainSecurity.idl: * bindings/scripts/test/TestEventConstructor.idl: * bindings/scripts/test/TestEventTarget.idl: * bindings/scripts/test/TestException.idl: * bindings/scripts/test/TestImplements.idl: * bindings/scripts/test/TestInterface.idl: * bindings/scripts/test/TestMediaQueryListListener.idl: * bindings/scripts/test/TestNamedConstructor.idl: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestOverloadedConstructors.idl: * bindings/scripts/test/TestSupplemental.idl: * bridge/Bridge.h: * bridge/IdentifierRep.cpp: * bridge/IdentifierRep.h: * bridge/NP_jsobject.cpp: * bridge/NP_jsobject.h: * bridge/c/CRuntimeObject.cpp: * bridge/c/CRuntimeObject.h: * bridge/c/c_class.cpp: * bridge/c/c_class.h: * bridge/c/c_instance.cpp: * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: * bridge/jsc/BridgeJSC.h: * bridge/npruntime.cpp: * bridge/npruntime_impl.h: * bridge/npruntime_priv.h: * bridge/objc/ObjCRuntimeObject.h: * bridge/objc/ObjCRuntimeObject.mm: * bridge/objc/WebScriptObject.h: * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: * bridge/objc/objc_header.h: * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: * bridge/objc/objc_runtime.h: * bridge/objc/objc_runtime.mm: * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: * bridge/runtime_array.cpp: * bridge/runtime_array.h: * bridge/runtime_method.cpp: * bridge/runtime_method.h: * bridge/runtime_object.cpp: * bridge/runtime_object.h: * bridge/runtime_root.cpp: * bridge/runtime_root.h: * bridge/testbindings.mm: * css/CSSAllInOne.cpp: * css/CSSAspectRatioValue.cpp: * css/CSSAspectRatioValue.h: * css/CSSBorderImageSliceValue.cpp: * css/CSSBorderImageSliceValue.h: * css/CSSCanvasValue.cpp: * css/CSSCanvasValue.h: * css/CSSCrossfadeValue.cpp: * css/CSSCrossfadeValue.h: * css/CSSFontFace.cpp: * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: * css/CSSFontFaceSource.h: * css/CSSFontFaceSrcValue.cpp: * css/CSSFontFaceSrcValue.h: * css/CSSFontFeatureValue.cpp: * css/CSSFontFeatureValue.h: * css/CSSFontSelector.cpp: * css/CSSFontSelector.h: * css/CSSFontValue.cpp: * css/CSSGradientValue.cpp: * css/CSSGradientValue.h: * css/CSSImageGeneratorValue.cpp: * css/CSSImageGeneratorValue.h: * css/CSSMediaRule.cpp: * css/CSSProperty.cpp: * css/CSSProperty.h: * css/CSSReflectValue.cpp: * css/CSSReflectValue.h: * css/CSSReflectionDirection.h: * css/CSSRuleList.cpp: * css/CSSRuleList.h: * css/CSSRuleList.idl: * css/CSSSegmentedFontFace.cpp: * css/CSSSegmentedFontFace.h: * css/CSSShadowValue.cpp: * css/CSSTimingFunctionValue.cpp: * css/CSSTimingFunctionValue.h: * css/CSSUnicodeRangeValue.cpp: * css/CSSUnicodeRangeValue.h: * css/CSSUnknownRule.idl: * css/CSSValue.cpp: * css/CSSValueList.idl: * css/MediaAllInOne.cpp: * css/MediaFeatureNames.cpp: * css/MediaList.idl: * css/MediaQuery.cpp: * css/MediaQuery.h: * css/MediaQueryEvaluator.cpp: * css/MediaQueryEvaluator.h: * css/MediaQueryExp.cpp: * css/MediaQueryExp.h: * css/Pair.h: * css/PropertySetCSSStyleDeclaration.h: * css/RGBColor.cpp: * css/RGBColor.h: * css/SVGCSSParser.cpp: * css/SVGCSSStyleSelector.cpp: * css/StyleInvalidationAnalysis.cpp: * css/StyleInvalidationAnalysis.h: * css/StyleMedia.cpp: * css/StyleMedia.h: * css/StyleMedia.idl: * css/StyleSheet.cpp: * css/WebKitCSSFilterValue.cpp: * css/WebKitCSSFilterValue.h: * css/WebKitCSSFilterValue.idl: * css/WebKitCSSKeyframeRule.cpp: * css/WebKitCSSKeyframeRule.h: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSKeyframesRule.cpp: * css/WebKitCSSKeyframesRule.h: * css/WebKitCSSKeyframesRule.idl: * css/WebKitCSSTransformValue.cpp: * css/WebKitCSSTransformValue.h: * css/WebKitCSSTransformValue.idl: * css/make-css-file-arrays.pl: * css/mediaControls.css: * css/mediaControlsEfl.css: * css/mediaControlsEflFullscreen.css: * css/mediaControlsGtk.css: * css/mediaControlsiOS.css: * css/svg.css: * dom/ActiveDOMObject.cpp: * dom/ActiveDOMObject.h: * dom/BeforeLoadEvent.h: * dom/BeforeLoadEvent.idl: * dom/BeforeTextInsertedEvent.cpp: * dom/BeforeTextInsertedEvent.h: * dom/BeforeUnloadEvent.cpp: * dom/BeforeUnloadEvent.h: * dom/BeforeUnloadEvent.idl: * dom/ClassNodeList.cpp: * dom/ClassNodeList.h: * dom/ClientRect.cpp: * dom/ClientRect.h: * dom/ClientRect.idl: * dom/ClientRectList.cpp: * dom/ClientRectList.h: * dom/ClientRectList.idl: * dom/Clipboard.cpp: * dom/Clipboard.idl: * dom/ClipboardAccessPolicy.h: * dom/ClipboardMac.mm: * dom/CompositionEvent.cpp: * dom/CompositionEvent.h: * dom/CompositionEvent.idl: * dom/ContextDestructionObserver.cpp: * dom/ContextDestructionObserver.h: * dom/CurrentScriptIncrementer.h: * dom/CustomEvent.cpp: * dom/CustomEvent.h: * dom/CustomEvent.idl: * dom/DOMCoreException.cpp: * dom/DOMCoreException.h: * dom/DOMCoreException.idl: * dom/DOMError.idl: * dom/DeviceMotionEvent.cpp: * dom/DeviceMotionEvent.h: * dom/DeviceMotionEvent.idl: * dom/DocumentEventQueue.cpp: * dom/DocumentEventQueue.h: * dom/DocumentMarker.h: * dom/DocumentParser.h: * dom/DocumentSharedObjectPool.cpp: * dom/DocumentSharedObjectPool.h: * dom/Entity.idl: * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventException.cpp: * dom/EventException.h: * dom/EventException.idl: * dom/EventListener.idl: * dom/EventListenerMap.cpp: * dom/EventListenerMap.h: * dom/EventNames.cpp: * dom/EventQueue.h: * dom/EventTarget.cpp: * dom/EventTarget.h: * dom/ExceptionBase.cpp: * dom/ExceptionBase.h: * dom/GenericEventQueue.cpp: * dom/GenericEventQueue.h: * dom/KeyboardEvent.idl: * dom/MessageChannel.cpp: * dom/MessageChannel.h: * dom/MessageChannel.idl: * dom/MessageEvent.cpp: * dom/MessageEvent.h: * dom/MessageEvent.idl: * dom/MessagePort.cpp: * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseRelatedEvent.h: * dom/MutationEvent.idl: * dom/Notation.idl: * dom/OverflowEvent.cpp: * dom/OverflowEvent.h: * dom/OverflowEvent.idl: * dom/PopStateEvent.cpp: * dom/PopStateEvent.h: * dom/PopStateEvent.idl: * dom/Position.cpp: * dom/Position.h: * dom/ProcessingInstruction.idl: * dom/ProgressEvent.cpp: * dom/ProgressEvent.h: * dom/ProgressEvent.idl: * dom/Range.idl: * dom/RangeException.cpp: * dom/RangeException.h: * dom/ScriptExecutionContext.cpp: * dom/ScriptExecutionContext.h: * dom/SecurityContext.cpp: * dom/SecurityContext.h: * dom/StaticNodeList.cpp: * dom/StaticNodeList.h: * dom/Text.idl: * dom/TextEvent.cpp: * dom/TextEvent.h: * dom/TextEvent.idl: * dom/Touch.cpp: * dom/Touch.h: * dom/Touch.idl: * dom/TouchEvent.cpp: * dom/TouchEvent.h: * dom/TouchEvent.idl: * dom/TouchList.cpp: * dom/TouchList.h: * dom/TouchList.idl: * dom/TransitionEvent.cpp: * dom/TransitionEvent.h: * dom/TransitionEvent.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/UIEventWithKeyState.cpp: * dom/WebKitAnimationEvent.cpp: * dom/WebKitAnimationEvent.h: * dom/WebKitAnimationEvent.idl: * dom/WebKitTransitionEvent.cpp: * dom/WebKitTransitionEvent.h: * dom/WebKitTransitionEvent.idl: * dom/make_dom_exceptions.pl: * dom/make_event_factory.pl: * dom/make_names.pl: (printLicenseHeader): * editing/AlternativeTextController.cpp: * editing/AlternativeTextController.h: * editing/AppendNodeCommand.cpp: * editing/AppendNodeCommand.h: * editing/ApplyStyleCommand.cpp: * editing/ApplyStyleCommand.h: * editing/BreakBlockquoteCommand.cpp: * editing/BreakBlockquoteCommand.h: * editing/CompositeEditCommand.cpp: * editing/CompositeEditCommand.h: * editing/CreateLinkCommand.cpp: * editing/CreateLinkCommand.h: * editing/DeleteButton.cpp: * editing/DeleteButton.h: * editing/DeleteButtonController.cpp: * editing/DeleteButtonController.h: * editing/DeleteFromTextNodeCommand.cpp: * editing/DeleteFromTextNodeCommand.h: * editing/DeleteSelectionCommand.cpp: * editing/DeleteSelectionCommand.h: * editing/EditAction.h: * editing/EditCommand.cpp: * editing/EditCommand.h: * editing/EditingBoundary.h: * editing/EditingStyle.cpp: * editing/Editor.cpp: * editing/Editor.h: * editing/EditorCommand.cpp: * editing/EditorDeleteAction.h: * editing/EditorInsertAction.h: * editing/FormatBlockCommand.cpp: * editing/FormatBlockCommand.h: * editing/FrameSelection.cpp: * editing/FrameSelection.h: * editing/HTMLInterchange.cpp: * editing/HTMLInterchange.h: * editing/IndentOutdentCommand.cpp: * editing/IndentOutdentCommand.h: * editing/InsertIntoTextNodeCommand.cpp: * editing/InsertIntoTextNodeCommand.h: * editing/InsertLineBreakCommand.cpp: * editing/InsertLineBreakCommand.h: * editing/InsertListCommand.cpp: * editing/InsertListCommand.h: * editing/InsertNodeBeforeCommand.cpp: * editing/InsertNodeBeforeCommand.h: * editing/InsertParagraphSeparatorCommand.cpp: * editing/InsertParagraphSeparatorCommand.h: * editing/InsertTextCommand.cpp: * editing/InsertTextCommand.h: * editing/MarkupAccumulator.h: * editing/MergeIdenticalElementsCommand.cpp: * editing/MergeIdenticalElementsCommand.h: * editing/ModifySelectionListLevel.cpp: * editing/ModifySelectionListLevel.h: * editing/MoveSelectionCommand.cpp: * editing/MoveSelectionCommand.h: * editing/RemoveCSSPropertyCommand.cpp: * editing/RemoveCSSPropertyCommand.h: * editing/RemoveFormatCommand.cpp: * editing/RemoveFormatCommand.h: * editing/RemoveNodeCommand.cpp: * editing/RemoveNodeCommand.h: * editing/RemoveNodePreservingChildrenCommand.cpp: * editing/RemoveNodePreservingChildrenCommand.h: * editing/ReplaceSelectionCommand.cpp: * editing/ReplaceSelectionCommand.h: * editing/SetNodeAttributeCommand.cpp: * editing/SetNodeAttributeCommand.h: * editing/SetSelectionCommand.cpp: * editing/SetSelectionCommand.h: * editing/SimplifyMarkupCommand.cpp: * editing/SimplifyMarkupCommand.h: * editing/SmartReplace.cpp: * editing/SmartReplace.h: * editing/SmartReplaceCF.cpp: * editing/SpellChecker.cpp: * editing/SpellChecker.h: * editing/SpellingCorrectionCommand.cpp: * editing/SpellingCorrectionCommand.h: * editing/SplitElementCommand.cpp: * editing/SplitElementCommand.h: * editing/SplitTextNodeCommand.cpp: * editing/SplitTextNodeCommand.h: * editing/SplitTextNodeContainingElementCommand.cpp: * editing/SplitTextNodeContainingElementCommand.h: * editing/TextAffinity.h: * editing/TextCheckingHelper.cpp: * editing/TextGranularity.h: * editing/TextIterator.cpp: * editing/TextIterator.h: * editing/TextIteratorBehavior.h: * editing/TypingCommand.cpp: * editing/TypingCommand.h: * editing/UnlinkCommand.cpp: * editing/UnlinkCommand.h: * editing/VisiblePosition.cpp: * editing/VisiblePosition.h: * editing/VisibleSelection.cpp: * editing/VisibleSelection.h: * editing/VisibleUnits.cpp: * editing/VisibleUnits.h: * editing/WrapContentsInDummySpanCommand.cpp: * editing/WrapContentsInDummySpanCommand.h: * editing/WritingDirection.h: * editing/efl/EditorEfl.cpp: * editing/htmlediting.cpp: * editing/htmlediting.h: * editing/mac/EditorMac.mm: * editing/mac/FrameSelectionMac.mm: * editing/markup.cpp: * editing/markup.h: * extract-localizable-strings.pl: * fileapi/FileException.cpp: * history/BackForwardClient.h: * history/BackForwardList.cpp: * history/BackForwardList.h: * history/CachedFrame.cpp: * history/CachedFrame.h: * history/CachedFramePlatformData.h: * history/CachedPage.cpp: * history/CachedPage.h: * history/HistoryItem.cpp: * history/HistoryItem.h: * history/PageCache.cpp: * history/PageCache.h: * history/mac/HistoryItemMac.mm: * html/FTPDirectoryDocument.cpp: * html/FTPDirectoryDocument.h: * html/HTMLAudioElement.cpp: * html/HTMLAudioElement.h: * html/HTMLAudioElement.idl: * html/HTMLCanvasElement.cpp: * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLImageLoader.h: * html/HTMLMediaElement.cpp: * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLOptionsCollection.cpp: * html/HTMLPlugInElement.cpp: * html/HTMLSourceElement.cpp: * html/HTMLSourceElement.h: * html/HTMLSourceElement.idl: * html/HTMLTablePartElement.cpp: * html/HTMLTableRowsCollection.cpp: * html/HTMLTableRowsCollection.h: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.cpp: * html/HTMLTrackElement.h: * html/HTMLTrackElement.idl: * html/HTMLVideoElement.cpp: * html/HTMLVideoElement.h: * html/HTMLVideoElement.idl: * html/ImageData.cpp: * html/ImageData.h: * html/ImageData.idl: * html/ImageDocument.cpp: * html/ImageDocument.h: * html/MediaController.cpp: * html/MediaController.h: * html/MediaController.idl: * html/MediaControllerInterface.h: * html/MediaError.h: * html/MediaError.idl: * html/MediaFragmentURIParser.cpp: * html/MediaFragmentURIParser.h: * html/MediaKeyError.h: * html/MediaKeyError.idl: * html/MediaKeyEvent.cpp: * html/MediaKeyEvent.h: * html/MediaKeyEvent.idl: * html/PluginDocument.cpp: * html/PluginDocument.h: * html/TextDocument.cpp: * html/TextDocument.h: * html/TimeRanges.cpp: * html/TimeRanges.h: * html/TimeRanges.idl: * html/VoidCallback.h: * html/VoidCallback.idl: * html/canvas/CanvasGradient.cpp: * html/canvas/CanvasGradient.h: * html/canvas/CanvasGradient.idl: * html/canvas/CanvasPattern.cpp: * html/canvas/CanvasPattern.h: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasRenderingContext.cpp: * html/canvas/CanvasRenderingContext.h: * html/canvas/CanvasRenderingContext.idl: * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasStyle.cpp: * html/canvas/CanvasStyle.h: * html/canvas/DOMPath.idl: * html/canvas/OESVertexArrayObject.cpp: * html/canvas/OESVertexArrayObject.h: * html/canvas/OESVertexArrayObject.idl: * html/canvas/WebGLBuffer.cpp: * html/canvas/WebGLBuffer.h: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextGroup.cpp: * html/canvas/WebGLContextGroup.h: * html/canvas/WebGLContextObject.cpp: * html/canvas/WebGLContextObject.h: * html/canvas/WebGLFramebuffer.cpp: * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLObject.cpp: * html/canvas/WebGLObject.h: * html/canvas/WebGLProgram.cpp: * html/canvas/WebGLProgram.h: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLRenderbuffer.cpp: * html/canvas/WebGLRenderbuffer.h: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLRenderingContext.cpp: * html/canvas/WebGLRenderingContext.h: * html/canvas/WebGLRenderingContext.idl: * html/canvas/WebGLShader.cpp: * html/canvas/WebGLShader.h: * html/canvas/WebGLShader.idl: * html/canvas/WebGLSharedObject.cpp: * html/canvas/WebGLSharedObject.h: * html/canvas/WebGLTexture.cpp: * html/canvas/WebGLTexture.h: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLUniformLocation.cpp: * html/canvas/WebGLUniformLocation.h: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObjectOES.cpp: * html/canvas/WebGLVertexArrayObjectOES.h: * html/canvas/WebGLVertexArrayObjectOES.idl: * html/forms/FileIconLoader.cpp: * html/forms/FileIconLoader.h: * html/parser/TextDocumentParser.cpp: * html/parser/TextDocumentParser.h: * html/shadow/MediaControlElementTypes.cpp: * html/shadow/MediaControlElementTypes.h: * html/shadow/MediaControlElements.cpp: * html/shadow/MediaControlElements.h: * html/shadow/MediaControls.cpp: * html/shadow/MediaControls.h: * html/shadow/MediaControlsApple.cpp: * html/shadow/MediaControlsApple.h: * html/shadow/MediaControlsGtk.cpp: * html/shadow/MediaControlsGtk.h: * html/shadow/SpinButtonElement.cpp: * html/shadow/SpinButtonElement.h: * html/shadow/TextControlInnerElements.cpp: * html/shadow/TextControlInnerElements.h: * html/track/AudioTrack.h: * html/track/AudioTrack.idl: * html/track/AudioTrackList.cpp: * html/track/AudioTrackList.h: * html/track/AudioTrackList.idl: * html/track/DataCue.cpp: * html/track/DataCue.h: * html/track/DataCue.idl: * html/track/InbandGenericTextTrack.cpp: * html/track/InbandGenericTextTrack.h: * html/track/InbandTextTrack.cpp: * html/track/InbandTextTrack.h: * html/track/InbandWebVTTTextTrack.cpp: * html/track/InbandWebVTTTextTrack.h: * html/track/LoadableTextTrack.cpp: * html/track/LoadableTextTrack.h: * html/track/TextTrack.h: * html/track/TextTrack.idl: * html/track/TextTrackCue.idl: * html/track/TextTrackCueGeneric.cpp: * html/track/TextTrackCueGeneric.h: * html/track/TextTrackCueList.cpp: * html/track/TextTrackCueList.h: * html/track/TextTrackCueList.idl: * html/track/TextTrackList.cpp: * html/track/TextTrackList.h: * html/track/TextTrackList.idl: * html/track/TextTrackRegion.idl: * html/track/TextTrackRegionList.cpp: * html/track/TextTrackRegionList.h: * html/track/TextTrackRegionList.idl: * html/track/TrackBase.cpp: * html/track/TrackBase.h: * html/track/TrackEvent.cpp: * html/track/TrackEvent.h: * html/track/TrackEvent.idl: * html/track/TrackListBase.cpp: * html/track/TrackListBase.h: * html/track/VTTCue.idl: * html/track/VideoTrack.h: * html/track/VideoTrack.idl: * html/track/VideoTrackList.cpp: * html/track/VideoTrackList.h: * html/track/VideoTrackList.idl: * html/track/WebVTTElement.cpp: * html/track/WebVTTElement.h: * inspector/CommandLineAPIHost.cpp: * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIModuleSource.js: * inspector/InspectorAllInOne.cpp: * inspector/InspectorClient.h: * inspector/InspectorDOMAgent.cpp: * inspector/InspectorDOMAgent.h: * inspector/InspectorDOMStorageAgent.cpp: * inspector/InspectorDOMStorageAgent.h: * inspector/InspectorDatabaseAgent.cpp: * inspector/InspectorDatabaseAgent.h: * inspector/InspectorDatabaseResource.cpp: * inspector/InspectorDatabaseResource.h: * inspector/InspectorForwarding.h: * inspector/InspectorFrontendHost.cpp: * inspector/InspectorFrontendHost.h: * inspector/InspectorLayerTreeAgent.h: * inspector/InspectorNodeFinder.cpp: * inspector/InspectorNodeFinder.h: * inspector/InspectorOverlay.cpp: * inspector/InspectorOverlay.h: * inspector/InspectorOverlayPage.html: * inspector/InspectorProfilerAgent.cpp: * inspector/InspectorProfilerAgent.h: * inspector/ScriptProfile.idl: * inspector/ScriptProfileNode.idl: * loader/CookieJar.h: * loader/CrossOriginAccessControl.cpp: * loader/CrossOriginAccessControl.h: * loader/CrossOriginPreflightResultCache.cpp: * loader/CrossOriginPreflightResultCache.h: * loader/DocumentLoader.cpp: * loader/DocumentLoader.h: * loader/DocumentWriter.cpp: * loader/EmptyClients.h: * loader/FormState.cpp: * loader/FormState.h: * loader/FrameLoadRequest.h: * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/FrameLoaderTypes.h: * loader/HistoryController.cpp: * loader/HistoryController.h: * loader/MixedContentChecker.cpp: * loader/NavigationAction.cpp: * loader/NavigationAction.h: * loader/NavigationScheduler.cpp: * loader/NavigationScheduler.h: * loader/NetscapePlugInStreamLoader.cpp: * loader/NetscapePlugInStreamLoader.h: * loader/PolicyCallback.cpp: * loader/PolicyCallback.h: * loader/PolicyChecker.cpp: * loader/PolicyChecker.h: * loader/ProgressTracker.cpp: * loader/ProgressTracker.h: * loader/ResourceBuffer.cpp: * loader/ResourceBuffer.h: * loader/ResourceLoadNotifier.cpp: * loader/ResourceLoadNotifier.h: * loader/ResourceLoader.cpp: * loader/ResourceLoader.h: * loader/SinkDocument.cpp: * loader/SinkDocument.h: * loader/SubframeLoader.cpp: * loader/SubframeLoader.h: * loader/SubresourceLoader.cpp: * loader/SubresourceLoader.h: * loader/SubstituteData.h: * loader/TextTrackLoader.cpp: * loader/appcache/ApplicationCacheAllInOne.cpp: * loader/archive/Archive.cpp: * loader/archive/Archive.h: * loader/archive/ArchiveFactory.cpp: * loader/archive/ArchiveFactory.h: * loader/archive/ArchiveResource.cpp: * loader/archive/ArchiveResource.h: * loader/archive/ArchiveResourceCollection.cpp: * loader/archive/ArchiveResourceCollection.h: * loader/archive/cf/LegacyWebArchive.cpp: * loader/archive/cf/LegacyWebArchive.h: * loader/archive/cf/LegacyWebArchiveMac.mm: * loader/cache/CachePolicy.h: * loader/cache/CachedCSSStyleSheet.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedFont.h: * loader/cache/CachedResourceRequest.cpp: * loader/cache/CachedResourceRequest.h: * loader/cache/CachedResourceRequestInitiators.cpp: * loader/cache/CachedResourceRequestInitiators.h: * loader/cf/ResourceLoaderCFNet.cpp: * loader/icon/IconController.cpp: * loader/icon/IconController.h: * loader/icon/IconDatabase.cpp: * loader/icon/IconDatabase.h: * loader/icon/IconDatabaseBase.cpp: * loader/icon/IconDatabaseBase.h: * loader/icon/IconDatabaseClient.h: * loader/icon/IconLoader.cpp: * loader/icon/IconLoader.h: * loader/icon/IconRecord.cpp: * loader/icon/IconRecord.h: * loader/icon/PageURLRecord.cpp: * loader/icon/PageURLRecord.h: * loader/mac/DocumentLoaderMac.cpp: * loader/mac/LoaderNSURLExtras.h: * loader/mac/LoaderNSURLExtras.mm: * loader/mac/ResourceBuffer.mm: * loader/mac/ResourceLoaderMac.mm: * loader/win/DocumentLoaderWin.cpp: * loader/win/FrameLoaderWin.cpp: * mathml/MathMLAllInOne.cpp: * page/AbstractView.idl: * page/AlternativeTextClient.h: * page/AutoscrollController.cpp: * page/AutoscrollController.h: * page/BarProp.cpp: * page/BarProp.h: * page/BarProp.idl: * page/ContentSecurityPolicy.cpp: * page/ContentSecurityPolicy.h: * page/ContextMenuClient.h: * page/ContextMenuContext.cpp: * page/ContextMenuContext.h: * page/ContextMenuController.cpp: * page/ContextMenuController.h: * page/DOMSecurityPolicy.cpp: * page/DOMSecurityPolicy.h: * page/DOMSelection.cpp: * page/DOMSelection.h: * page/DOMSelection.idl: * page/DOMTimer.cpp: * page/DOMTimer.h: * page/DOMWindow.cpp: * page/DOMWindow.h: * page/DOMWindow.idl: * page/DragActions.h: * page/DragClient.h: * page/DragController.cpp: * page/DragController.h: * page/DragSession.h: * page/DragState.h: * page/EditorClient.h: * page/EventHandler.cpp: * page/EventHandler.h: * page/FocusController.cpp: * page/FocusController.h: * page/FocusDirection.h: * page/FrameTree.h: * page/GestureTapHighlighter.cpp: * page/GestureTapHighlighter.h: * page/History.cpp: * page/History.h: * page/History.idl: * page/Location.cpp: * page/Location.h: * page/Location.idl: * page/MouseEventWithHitTestResults.cpp: * page/MouseEventWithHitTestResults.h: * page/Navigator.cpp: * page/NavigatorBase.cpp: * page/NavigatorBase.h: * page/PageConsole.cpp: * page/PageConsole.h: * page/Screen.cpp: * page/Screen.h: * page/Screen.idl: * page/SecurityOrigin.cpp: * page/SecurityOrigin.h: * page/SecurityOriginHash.h: * page/Settings.cpp: * page/Settings.h: * page/SpatialNavigation.cpp: * page/SuspendableTimer.cpp: * page/SuspendableTimer.h: * page/UserContentTypes.h: * page/UserContentURLPattern.cpp: * page/UserContentURLPattern.h: * page/UserScript.h: * page/UserScriptTypes.h: * page/UserStyleSheet.h: * page/UserStyleSheetTypes.h: * page/WebCoreKeyboardUIMode.h: * page/WebKitPoint.h: * page/WebKitPoint.idl: * page/WindowBase64.idl: * page/WindowFeatures.h: * page/WindowFocusAllowedIndicator.cpp: * page/WindowFocusAllowedIndicator.h: * page/WindowTimers.idl: * page/WorkerNavigator.cpp: * page/WorkerNavigator.h: * page/WorkerNavigator.idl: * page/animation/AnimationBase.cpp: * page/animation/AnimationBase.h: * page/animation/AnimationController.cpp: * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CSSPropertyAnimation.cpp: * page/animation/CSSPropertyAnimation.h: * page/animation/CompositeAnimation.cpp: * page/animation/CompositeAnimation.h: * page/animation/ImplicitAnimation.cpp: * page/animation/ImplicitAnimation.h: * page/animation/KeyframeAnimation.cpp: * page/animation/KeyframeAnimation.h: * page/efl/DragControllerEfl.cpp: * page/efl/EventHandlerEfl.cpp: * page/gtk/DragControllerGtk.cpp: * page/gtk/EventHandlerGtk.cpp: * page/ios/EventHandlerIOS.mm: * page/mac/DragControllerMac.mm: * page/mac/EventHandlerMac.mm: * page/mac/PageMac.cpp: * page/mac/WebCoreFrameView.h: * page/make_settings.pl: * page/win/DragControllerWin.cpp: * page/win/EventHandlerWin.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameCairoWin.cpp: * page/win/FrameGdiWin.cpp: * page/win/FrameWin.cpp: * page/win/FrameWin.h: * pdf/ios/PDFDocument.h: * platform/Clock.cpp: * platform/Clock.h: * platform/ClockGeneric.cpp: * platform/ClockGeneric.h: * platform/ColorChooser.h: * platform/ColorChooserClient.h: * platform/ContentType.cpp: * platform/ContentType.h: * platform/ContextMenu.h: * platform/ContextMenuItem.h: * platform/Cookie.h: * platform/Cursor.h: * platform/DragData.cpp: * platform/DragData.h: * platform/DragImage.cpp: * platform/DragImage.h: * platform/FileChooser.cpp: * platform/FileChooser.h: * platform/FileSystem.h: * platform/FloatConversion.h: * platform/KillRing.h: * platform/LinkHash.h: * platform/LocalizedStrings.cpp: * platform/LocalizedStrings.h: * platform/Logging.cpp: * platform/Logging.h: * platform/MIMETypeRegistry.cpp: * platform/MIMETypeRegistry.h: * platform/MediaDescription.h: * platform/MediaSample.h: * platform/NotImplemented.h: * platform/PODFreeListArena.h: * platform/Pasteboard.h: * platform/PasteboardStrategy.h: * platform/PlatformExportMacros.h: * platform/PlatformKeyboardEvent.h: * platform/PlatformMenuDescription.h: * platform/PlatformMouseEvent.h: * platform/PlatformPasteboard.h: * platform/PlatformScreen.h: * platform/PlatformSpeechSynthesis.h: * platform/PlatformSpeechSynthesisUtterance.cpp: * platform/PlatformSpeechSynthesisUtterance.h: * platform/PlatformSpeechSynthesisVoice.cpp: * platform/PlatformSpeechSynthesisVoice.h: * platform/PlatformSpeechSynthesizer.cpp: * platform/PlatformSpeechSynthesizer.h: * platform/PlatformWheelEvent.h: * platform/PopupMenuClient.h: * platform/RemoteCommandListener.cpp: * platform/RemoteCommandListener.h: * platform/SSLKeyGenerator.h: * platform/SchemeRegistry.cpp: * platform/SchemeRegistry.h: * platform/ScrollTypes.h: * platform/ScrollView.cpp: * platform/ScrollView.h: * platform/Scrollbar.cpp: * platform/Scrollbar.h: * platform/SharedBuffer.cpp: * platform/SharedBuffer.h: * platform/SharedTimer.h: * platform/Sound.h: * platform/ThreadCheck.h: * platform/ThreadGlobalData.cpp: * platform/ThreadGlobalData.h: * platform/ThreadTimers.cpp: * platform/ThreadTimers.h: * platform/Timer.cpp: * platform/Timer.h: * platform/URL.cpp: * platform/URL.h: * platform/Widget.cpp: * platform/Widget.h: * platform/animation/AnimationUtilities.h: * platform/audio/AudioArray.h: * platform/audio/AudioBus.cpp: * platform/audio/AudioBus.h: * platform/audio/AudioChannel.cpp: * platform/audio/AudioChannel.h: * platform/audio/AudioDestination.h: * platform/audio/AudioFIFO.cpp: * platform/audio/AudioFIFO.h: * platform/audio/AudioFileReader.h: * platform/audio/AudioIOCallback.h: * platform/audio/AudioPullFIFO.cpp: * platform/audio/AudioPullFIFO.h: * platform/audio/AudioSourceProvider.h: * platform/audio/Biquad.cpp: * platform/audio/Biquad.h: * platform/audio/Cone.cpp: * platform/audio/Cone.h: * platform/audio/DirectConvolver.cpp: * platform/audio/DirectConvolver.h: * platform/audio/Distance.cpp: * platform/audio/Distance.h: * platform/audio/DownSampler.cpp: * platform/audio/DownSampler.h: * platform/audio/DynamicsCompressor.cpp: * platform/audio/DynamicsCompressor.h: * platform/audio/DynamicsCompressorKernel.cpp: * platform/audio/DynamicsCompressorKernel.h: * platform/audio/FFTConvolver.cpp: * platform/audio/FFTConvolver.h: * platform/audio/FFTFrame.cpp: * platform/audio/FFTFrame.h: * platform/audio/HRTFDatabase.cpp: * platform/audio/HRTFDatabase.h: * platform/audio/HRTFDatabaseLoader.cpp: * platform/audio/HRTFDatabaseLoader.h: * platform/audio/HRTFElevation.cpp: * platform/audio/HRTFElevation.h: * platform/audio/HRTFKernel.cpp: * platform/audio/HRTFKernel.h: * platform/audio/MultiChannelResampler.cpp: * platform/audio/MultiChannelResampler.h: * platform/audio/Panner.cpp: * platform/audio/Panner.h: * platform/audio/Reverb.cpp: * platform/audio/Reverb.h: * platform/audio/ReverbAccumulationBuffer.cpp: * platform/audio/ReverbAccumulationBuffer.h: * platform/audio/ReverbConvolver.cpp: * platform/audio/ReverbConvolver.h: * platform/audio/ReverbConvolverStage.cpp: * platform/audio/ReverbConvolverStage.h: * platform/audio/ReverbInputBuffer.cpp: * platform/audio/ReverbInputBuffer.h: * platform/audio/SincResampler.cpp: * platform/audio/SincResampler.h: * platform/audio/UpSampler.cpp: * platform/audio/UpSampler.h: * platform/audio/ZeroPole.cpp: * platform/audio/ZeroPole.h: * platform/audio/ios/AudioDestinationIOS.cpp: * platform/audio/ios/AudioDestinationIOS.h: * platform/audio/ios/AudioFileReaderIOS.cpp: * platform/audio/ios/AudioFileReaderIOS.h: * platform/audio/mac/AudioDestinationMac.cpp: * platform/audio/mac/AudioDestinationMac.h: * platform/audio/mac/AudioFileReaderMac.cpp: * platform/audio/mac/AudioFileReaderMac.h: * platform/audio/mac/FFTFrameMac.cpp: * platform/cf/FileSystemCF.cpp: * platform/cf/SharedBufferCF.cpp: * platform/cf/URLCF.cpp: * platform/cocoa/KeyEventCocoa.h: * platform/cocoa/KeyEventCocoa.mm: * platform/efl/CursorEfl.cpp: * platform/efl/EflKeyboardUtilities.cpp: * platform/efl/EflKeyboardUtilities.h: * platform/efl/FileSystemEfl.cpp: * platform/efl/LanguageEfl.cpp: * platform/efl/LocalizedStringsEfl.cpp: * platform/efl/MIMETypeRegistryEfl.cpp: * platform/efl/PlatformKeyboardEventEfl.cpp: * platform/efl/PlatformMouseEventEfl.cpp: * platform/efl/PlatformScreenEfl.cpp: * platform/efl/PlatformWheelEventEfl.cpp: * platform/efl/RenderThemeEfl.h: * platform/efl/ScrollbarEfl.h: * platform/efl/SharedTimerEfl.cpp: * platform/efl/SoundEfl.cpp: * platform/efl/TemporaryLinkStubs.cpp: * platform/efl/WidgetEfl.cpp: * platform/graphics/ANGLEWebKitBridge.cpp: * platform/graphics/ANGLEWebKitBridge.h: * platform/graphics/AudioTrackPrivate.h: * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Color.cpp: * platform/graphics/Color.h: * platform/graphics/CrossfadeGeneratedImage.cpp: * platform/graphics/CrossfadeGeneratedImage.h: * platform/graphics/DashArray.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/DisplayRefreshMonitor.h: * platform/graphics/FloatPoint.cpp: * platform/graphics/FloatPoint.h: * platform/graphics/FloatQuad.cpp: * platform/graphics/FloatQuad.h: * platform/graphics/FloatRect.cpp: * platform/graphics/FloatRect.h: * platform/graphics/FloatSize.cpp: * platform/graphics/FloatSize.h: * platform/graphics/FontBaseline.h: * platform/graphics/FontCache.cpp: * platform/graphics/FontCache.h: * platform/graphics/FontData.cpp: * platform/graphics/FontData.h: * platform/graphics/FontDescription.cpp: * platform/graphics/FontFeatureSettings.cpp: * platform/graphics/FontFeatureSettings.h: * platform/graphics/FontGlyphs.cpp: * platform/graphics/FontOrientation.h: * platform/graphics/FontRenderingMode.h: * platform/graphics/FontSelector.h: * platform/graphics/FontWidthVariant.h: * platform/graphics/FormatConverter.cpp: * platform/graphics/FormatConverter.h: * platform/graphics/GeneratedImage.h: * platform/graphics/Glyph.h: * platform/graphics/GlyphBuffer.h: * platform/graphics/GlyphMetricsMap.h: * platform/graphics/GlyphPage.h: * platform/graphics/GlyphPageTreeNode.cpp: * platform/graphics/GlyphPageTreeNode.h: * platform/graphics/Gradient.cpp: * platform/graphics/Gradient.h: * platform/graphics/GradientImage.h: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContext3D.cpp: * platform/graphics/GraphicsContext3D.h: * platform/graphics/GraphicsLayer.cpp: * platform/graphics/GraphicsLayer.h: * platform/graphics/GraphicsLayerClient.h: * platform/graphics/GraphicsTypes.cpp: * platform/graphics/GraphicsTypes.h: * platform/graphics/GraphicsTypes3D.h: * platform/graphics/Image.cpp: * platform/graphics/Image.h: * platform/graphics/ImageBuffer.cpp: * platform/graphics/ImageBuffer.h: * platform/graphics/ImageBufferData.h: * platform/graphics/ImageObserver.h: * platform/graphics/ImageSource.cpp: * platform/graphics/ImageSource.h: * platform/graphics/InbandTextTrackPrivate.h: * platform/graphics/InbandTextTrackPrivateClient.h: * platform/graphics/IntPoint.cpp: * platform/graphics/IntPoint.h: * platform/graphics/IntSize.cpp: * platform/graphics/IntSize.h: * platform/graphics/MediaPlayer.cpp: * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/NativeImagePtr.h: * platform/graphics/OpenGLESShims.h: * platform/graphics/Path.cpp: * platform/graphics/Path.h: * platform/graphics/PathTraversalState.h: * platform/graphics/Pattern.cpp: * platform/graphics/Pattern.h: * platform/graphics/PlatformLayer.h: * platform/graphics/PlatformTimeRanges.cpp: * platform/graphics/PlatformTimeRanges.h: * platform/graphics/SegmentedFontData.cpp: * platform/graphics/SegmentedFontData.h: * platform/graphics/ShadowBlur.cpp: * platform/graphics/ShadowBlur.h: * platform/graphics/SimpleFontData.cpp: * platform/graphics/SourceBufferPrivateClient.h: * platform/graphics/StringTruncator.cpp: * platform/graphics/StringTruncator.h: * platform/graphics/TrackPrivateBase.h: * platform/graphics/VideoTrackPrivate.h: * platform/graphics/WindRule.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/ca/LayerFlushScheduler.cpp: * platform/graphics/ca/LayerFlushScheduler.h: * platform/graphics/ca/LayerFlushSchedulerClient.h: * platform/graphics/ca/PlatformCAAnimation.h: * platform/graphics/ca/PlatformCAFilters.h: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/PlatformCALayer.h: * platform/graphics/ca/PlatformCALayerClient.h: * platform/graphics/ca/TransformationMatrixCA.cpp: * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: * platform/graphics/ca/mac/LayerPool.mm: * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: * platform/graphics/ca/mac/PlatformCAFiltersMac.h: * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: * platform/graphics/ca/mac/PlatformCALayerMac.h: * platform/graphics/ca/mac/PlatformCALayerMac.mm: * platform/graphics/ca/mac/WebTiledBackingLayer.h: * platform/graphics/ca/mac/WebTiledBackingLayer.mm: * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/ca/win/CACFLayerTreeHostClient.h: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/LayerChangesFlusher.h: * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.h: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.h: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: * platform/graphics/cairo/BitmapImageCairo.cpp: * platform/graphics/cairo/CairoUtilities.cpp: * platform/graphics/cairo/CairoUtilities.h: * platform/graphics/cairo/DrawingBufferCairo.cpp: * platform/graphics/cairo/FloatRectCairo.cpp: * platform/graphics/cairo/FontCairo.cpp: * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp: * platform/graphics/cairo/GradientCairo.cpp: * platform/graphics/cairo/GraphicsContext3DCairo.cpp: * platform/graphics/cairo/GraphicsContextCairo.cpp: * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: * platform/graphics/cairo/ImageBufferCairo.cpp: * platform/graphics/cairo/ImageBufferDataCairo.h: * platform/graphics/cairo/ImageCairo.cpp: * platform/graphics/cairo/PatternCairo.cpp: * platform/graphics/cairo/PlatformContextCairo.cpp: * platform/graphics/cairo/PlatformContextCairo.h: * platform/graphics/cairo/TransformationMatrixCairo.cpp: * platform/graphics/cg/BitmapImageCG.cpp: * platform/graphics/cg/ColorCG.cpp: * platform/graphics/cg/FloatPointCG.cpp: * platform/graphics/cg/FloatRectCG.cpp: * platform/graphics/cg/FloatSizeCG.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContext3DCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/GraphicsContextCG.h: * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/ImageBufferDataCG.h: * platform/graphics/cg/ImageCG.cpp: * platform/graphics/cg/ImageSourceCG.cpp: * platform/graphics/cg/IntPointCG.cpp: * platform/graphics/cg/IntRectCG.cpp: * platform/graphics/cg/IntSizeCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PDFDocumentImage.h: * platform/graphics/cg/PathCG.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/TransformationMatrixCG.cpp: * platform/graphics/efl/IconEfl.cpp: * platform/graphics/efl/ImageEfl.cpp: * platform/graphics/filters/FilterOperation.cpp: * platform/graphics/filters/FilterOperation.h: * platform/graphics/filters/FilterOperations.cpp: * platform/graphics/filters/FilterOperations.h: * platform/graphics/freetype/FontPlatformDataFreeType.cpp: * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: * platform/graphics/freetype/SimpleFontDataFreeType.cpp: * platform/graphics/gpu/mac/DrawingBufferMac.mm: * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/graphics/gtk/GdkCairoUtilities.h: * platform/graphics/gtk/IconGtk.cpp: * platform/graphics/gtk/ImageGtk.cpp: * platform/graphics/ios/DisplayRefreshMonitorIOS.mm: * platform/graphics/ios/FontCacheIOS.mm: * platform/graphics/ios/GraphicsContext3DIOS.h: * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: * platform/graphics/ios/MediaPlayerPrivateIOS.h: * platform/graphics/ios/MediaPlayerPrivateIOS.mm: * platform/graphics/mac/ColorMac.h: * platform/graphics/mac/ColorMac.mm: * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: * platform/graphics/mac/FloatPointMac.mm: * platform/graphics/mac/FloatRectMac.mm: * platform/graphics/mac/FloatSizeMac.mm: * platform/graphics/mac/FontCacheMac.mm: * platform/graphics/mac/FontCustomPlatformData.h: * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: * platform/graphics/mac/GraphicsContext3DMac.mm: * platform/graphics/mac/GraphicsContextMac.mm: * platform/graphics/mac/ImageMac.mm: * platform/graphics/mac/IntPointMac.mm: * platform/graphics/mac/IntRectMac.mm: * platform/graphics/mac/IntSizeMac.mm: * platform/graphics/mac/MediaPlayerPrivateQTKit.h: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: * platform/graphics/mac/MediaPlayerProxy.h: * platform/graphics/mac/WebCoreCALayerExtras.h: * platform/graphics/mac/WebCoreCALayerExtras.mm: * platform/graphics/mac/WebGLLayer.h: * platform/graphics/mac/WebGLLayer.mm: * platform/graphics/mac/WebLayer.h: * platform/graphics/mac/WebLayer.mm: * platform/graphics/mac/WebTiledLayer.h: * platform/graphics/mac/WebTiledLayer.mm: * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: * platform/graphics/opentype/OpenTypeUtilities.cpp: * platform/graphics/opentype/OpenTypeUtilities.h: * platform/graphics/transforms/AffineTransform.cpp: * platform/graphics/transforms/AffineTransform.h: * platform/graphics/transforms/Matrix3DTransformOperation.cpp: * platform/graphics/transforms/Matrix3DTransformOperation.h: * platform/graphics/transforms/PerspectiveTransformOperation.cpp: * platform/graphics/transforms/PerspectiveTransformOperation.h: * platform/graphics/transforms/TransformState.cpp: * platform/graphics/transforms/TransformState.h: * platform/graphics/transforms/TransformationMatrix.cpp: * platform/graphics/transforms/TransformationMatrix.h: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontCacheWin.cpp: * platform/graphics/win/FontCustomPlatformDataCairo.cpp: * platform/graphics/win/FontWin.cpp: * platform/graphics/win/FullScreenController.cpp: * platform/graphics/win/FullScreenController.h: * platform/graphics/win/FullScreenControllerClient.h: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: * platform/graphics/win/GraphicsContextCGWin.cpp: * platform/graphics/win/GraphicsContextCairoWin.cpp: * platform/graphics/win/GraphicsContextWin.cpp: * platform/graphics/win/ImageCGWin.cpp: * platform/graphics/win/ImageCairoWin.cpp: * platform/graphics/win/ImageWin.cpp: * platform/graphics/win/IntPointWin.cpp: * platform/graphics/win/IntRectWin.cpp: * platform/graphics/win/IntSizeWin.cpp: * platform/graphics/win/LocalWindowsContext.h: * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataCairoWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/graphics/win/TransformationMatrixWin.cpp: * platform/graphics/wince/FontCacheWinCE.cpp: * platform/graphics/wince/FontWinCE.cpp: * platform/graphics/wince/MediaPlayerPrivateWinCE.h: * platform/graphics/wince/SimpleFontDataWinCE.cpp: * platform/gtk/CompositionResults.h: * platform/gtk/CursorGtk.cpp: * platform/gtk/GtkPluginWidget.cpp: * platform/gtk/GtkPluginWidget.h: * platform/gtk/LocalizedStringsGtk.cpp: * platform/gtk/MIMETypeRegistryGtk.cpp: * platform/gtk/PlatformKeyboardEventGtk.cpp: * platform/gtk/PlatformMouseEventGtk.cpp: * platform/gtk/PlatformScreenGtk.cpp: * platform/gtk/PlatformWheelEventGtk.cpp: * platform/gtk/RedirectedXCompositeWindow.cpp: * platform/gtk/RedirectedXCompositeWindow.h: * platform/gtk/RenderThemeGtk.h: * platform/gtk/ScrollViewGtk.cpp: * platform/gtk/SharedTimerGtk.cpp: * platform/gtk/TemporaryLinkStubs.cpp: * platform/gtk/UserAgentGtk.cpp: * platform/gtk/UserAgentGtk.h: * platform/gtk/WidgetGtk.cpp: * platform/gtk/WidgetRenderingContext.cpp: * platform/image-decoders/ImageDecoder.h: * platform/image-decoders/cairo/ImageDecoderCairo.cpp: * platform/image-decoders/gif/GIFImageDecoder.cpp: * platform/image-decoders/gif/GIFImageDecoder.h: * platform/image-decoders/gif/GIFImageReader.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/png/PNGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.h: * platform/image-decoders/webp/WEBPImageDecoder.cpp: * platform/image-decoders/webp/WEBPImageDecoder.h: * platform/ios/CursorIOS.cpp: * platform/ios/DragImageIOS.mm: * platform/ios/KeyEventCodesIOS.h: * platform/ios/KeyEventIOS.mm: * platform/ios/PlatformPasteboardIOS.mm: * platform/ios/PlatformScreenIOS.mm: * platform/ios/PlatformSpeechSynthesizerIOS.mm: * platform/ios/RemoteCommandListenerIOS.h: * platform/ios/RemoteCommandListenerIOS.mm: * platform/ios/ScrollViewIOS.mm: * platform/ios/SoundIOS.mm: * platform/ios/SystemMemory.h: * platform/ios/SystemMemoryIOS.cpp: * platform/ios/WebCoreSystemInterfaceIOS.h: * platform/ios/WebCoreSystemInterfaceIOS.mm: * platform/ios/WidgetIOS.mm: * platform/mac/BlockExceptions.h: * platform/mac/BlockExceptions.mm: * platform/mac/ContextMenuItemMac.mm: * platform/mac/ContextMenuMac.mm: * platform/mac/CursorMac.mm: * platform/mac/DragDataMac.mm: * platform/mac/DragImageMac.mm: * platform/mac/FileSystemMac.mm: * platform/mac/KeyEventMac.mm: * platform/mac/LocalCurrentGraphicsContext.h: * platform/mac/LocalCurrentGraphicsContext.mm: * platform/mac/LoggingMac.mm: * platform/mac/MIMETypeRegistryMac.mm: * platform/mac/MediaTimeMac.cpp: * platform/mac/MediaTimeMac.h: * platform/mac/PasteboardMac.mm: * platform/mac/PlatformClockCA.cpp: * platform/mac/PlatformClockCA.h: * platform/mac/PlatformClockCM.h: * platform/mac/PlatformClockCM.mm: * platform/mac/PlatformPasteboardMac.mm: * platform/mac/PlatformScreenMac.mm: * platform/mac/PlatformSpeechSynthesisMac.mm: * platform/mac/PlatformSpeechSynthesizerMac.mm: * platform/mac/ScrollViewMac.mm: * platform/mac/SharedBufferMac.mm: * platform/mac/SharedTimerMac.mm: * platform/mac/SoftLinking.h: * platform/mac/SoundMac.mm: * platform/mac/ThreadCheck.mm: * platform/mac/URLMac.mm: * platform/mac/WebCoreNSStringExtras.h: * platform/mac/WebCoreNSStringExtras.mm: * platform/mac/WebCoreNSURLExtras.h: * platform/mac/WebCoreNSURLExtras.mm: * platform/mac/WebCoreObjCExtras.h: * platform/mac/WebCoreObjCExtras.mm: * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: * platform/mac/WebCoreView.h: * platform/mac/WebCoreView.m: * platform/mac/WebFontCache.h: * platform/mac/WebFontCache.mm: * platform/mac/WebWindowAnimation.h: * platform/mac/WebWindowAnimation.mm: * platform/mac/WidgetMac.mm: * platform/mediastream/MediaStreamConstraintsValidationClient.h: * platform/mediastream/MediaStreamCreationClient.h: * platform/mediastream/MediaStreamSourceCapabilities.h: * platform/mediastream/MediaStreamSourceStates.h: * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: * platform/mediastream/RTCIceServer.h: * platform/mediastream/mac/AVAudioCaptureSource.h: * platform/mediastream/mac/AVAudioCaptureSource.mm: * platform/mediastream/mac/AVCaptureDeviceManager.h: * platform/mediastream/mac/AVCaptureDeviceManager.mm: * platform/mediastream/mac/AVMediaCaptureSource.h: * platform/mediastream/mac/AVMediaCaptureSource.mm: * platform/mediastream/mac/AVVideoCaptureSource.h: * platform/mediastream/mac/AVVideoCaptureSource.mm: * platform/mock/MockMediaStreamCenter.cpp: * platform/mock/MockMediaStreamCenter.h: * platform/mock/PlatformSpeechSynthesizerMock.cpp: * platform/mock/PlatformSpeechSynthesizerMock.h: * platform/mock/mediasource/MockBox.cpp: * platform/mock/mediasource/MockBox.h: * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: * platform/mock/mediasource/MockMediaPlayerMediaSource.h: * platform/mock/mediasource/MockMediaSourcePrivate.cpp: * platform/mock/mediasource/MockMediaSourcePrivate.h: * platform/mock/mediasource/MockSourceBufferPrivate.cpp: * platform/mock/mediasource/MockSourceBufferPrivate.h: * platform/mock/mediasource/MockTracks.cpp: * platform/mock/mediasource/MockTracks.h: * platform/network/AuthenticationChallengeBase.cpp: * platform/network/AuthenticationChallengeBase.h: * platform/network/Credential.cpp: * platform/network/Credential.h: * platform/network/DNS.h: * platform/network/DNSResolveQueue.cpp: * platform/network/DNSResolveQueue.h: * platform/network/DataURL.cpp: * platform/network/DataURL.h: * platform/network/HTTPHeaderMap.h: * platform/network/HTTPParsers.cpp: * platform/network/HTTPParsers.h: * platform/network/PlatformCookieJar.h: * platform/network/ProtectionSpace.cpp: * platform/network/ProtectionSpace.h: * platform/network/ResourceErrorBase.cpp: * platform/network/ResourceErrorBase.h: * platform/network/ResourceHandle.cpp: * platform/network/ResourceHandle.h: * platform/network/ResourceHandleClient.h: * platform/network/ResourceHandleInternal.h: * platform/network/ResourceRequestBase.cpp: * platform/network/ResourceRequestBase.h: * platform/network/ResourceResponseBase.cpp: * platform/network/ResourceResponseBase.h: * platform/network/cf/AuthenticationCF.cpp: * platform/network/cf/AuthenticationCF.h: * platform/network/cf/AuthenticationChallenge.h: * platform/network/cf/CookieJarCFNet.cpp: * platform/network/cf/CookieStorageCFNet.cpp: * platform/network/cf/DNSCFNet.cpp: * platform/network/cf/DownloadBundle.h: * platform/network/cf/FormDataStreamCFNet.cpp: * platform/network/cf/FormDataStreamCFNet.h: * platform/network/cf/ResourceError.h: * platform/network/cf/ResourceErrorCF.cpp: * platform/network/cf/ResourceHandleCFNet.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: * platform/network/cf/ResourceRequest.h: * platform/network/cf/ResourceRequestCFNet.cpp: * platform/network/cf/ResourceRequestCFNet.h: * platform/network/cf/ResourceResponse.h: * platform/network/cf/ResourceResponseCFNet.cpp: * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: * platform/network/curl/AuthenticationChallenge.h: * platform/network/curl/CurlDownload.cpp: * platform/network/curl/CurlDownload.h: * platform/network/curl/DNSCurl.cpp: * platform/network/curl/DownloadBundle.h: * platform/network/curl/FormDataStreamCurl.cpp: * platform/network/curl/FormDataStreamCurl.h: * platform/network/curl/ResourceError.h: * platform/network/curl/ResourceHandleCurl.cpp: * platform/network/curl/ResourceHandleManager.cpp: * platform/network/curl/ResourceHandleManager.h: * platform/network/curl/ResourceRequest.h: * platform/network/curl/ResourceResponse.h: * platform/network/curl/SSLHandle.cpp: * platform/network/curl/SSLHandle.h: * platform/network/gtk/CredentialBackingStore.cpp: * platform/network/gtk/CredentialBackingStore.h: * platform/network/ios/WebCoreURLResponseIOS.h: * platform/network/ios/WebCoreURLResponseIOS.mm: * platform/network/mac/AuthenticationMac.h: * platform/network/mac/AuthenticationMac.mm: * platform/network/mac/CookieJarMac.mm: * platform/network/mac/CookieStorageMac.mm: * platform/network/mac/FormDataStreamMac.h: * platform/network/mac/FormDataStreamMac.mm: * platform/network/mac/ResourceErrorMac.mm: * platform/network/mac/ResourceHandleMac.mm: * platform/network/mac/ResourceRequestMac.mm: * platform/network/mac/ResourceResponseMac.mm: * platform/network/mac/WebCoreURLResponse.h: * platform/network/mac/WebCoreURLResponse.mm: * platform/network/soup/AuthenticationChallenge.h: * platform/network/soup/AuthenticationChallengeSoup.cpp: * platform/network/soup/CookieJarSoup.h: * platform/network/soup/DNSSoup.cpp: * platform/network/soup/ResourceError.h: * platform/network/soup/ResourceErrorSoup.cpp: * platform/network/soup/ResourceRequest.h: * platform/network/soup/ResourceResponse.h: * platform/network/soup/SoupNetworkSession.cpp: * platform/network/soup/SoupNetworkSession.h: * platform/network/win/CookieJarWin.cpp: * platform/network/win/DownloadBundleWin.cpp: * platform/network/win/ResourceError.h: * platform/network/win/ResourceHandleWin.cpp: * platform/network/win/ResourceRequest.h: * platform/network/win/ResourceResponse.h: * platform/posix/FileSystemPOSIX.cpp: * platform/posix/SharedBufferPOSIX.cpp: * platform/soup/URLSoup.cpp: * platform/sql/SQLValue.cpp: * platform/sql/SQLValue.h: * platform/sql/SQLiteAuthorizer.cpp: * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: * platform/sql/SQLiteStatement.h: * platform/sql/SQLiteTransaction.cpp: * platform/sql/SQLiteTransaction.h: * platform/text/SuffixTree.h: * platform/text/TextAllInOne.cpp: * platform/text/TextBoundaries.cpp: * platform/text/TextBoundaries.h: * platform/text/TextCodec.cpp: * platform/text/TextCodec.h: * platform/text/TextCodecASCIIFastPath.h: * platform/text/TextCodecICU.cpp: * platform/text/TextCodecICU.h: * platform/text/TextCodecLatin1.cpp: * platform/text/TextCodecLatin1.h: * platform/text/TextCodecUTF16.cpp: * platform/text/TextCodecUTF16.h: * platform/text/TextCodecUTF8.cpp: * platform/text/TextCodecUTF8.h: * platform/text/TextCodecUserDefined.cpp: * platform/text/TextCodecUserDefined.h: * platform/text/TextDirection.h: * platform/text/TextEncoding.cpp: * platform/text/TextEncoding.h: * platform/text/TextEncodingRegistry.cpp: * platform/text/TextEncodingRegistry.h: * platform/text/TextStream.cpp: * platform/text/TextStream.h: * platform/text/UnicodeBidi.h: * platform/text/mac/CharsetData.h: * platform/text/mac/TextBoundaries.mm: * platform/text/mac/TextCodecMac.cpp: * platform/text/mac/TextCodecMac.h: * platform/text/mac/character-sets.txt: * platform/text/mac/make-charset-table.pl: * platform/text/win/TextCodecWin.h: * platform/win/BString.cpp: * platform/win/BString.h: * platform/win/COMPtr.h: * platform/win/ClipboardUtilitiesWin.cpp: * platform/win/ClipboardUtilitiesWin.h: * platform/win/ContextMenuItemWin.cpp: * platform/win/ContextMenuWin.cpp: * platform/win/CursorWin.cpp: * platform/win/DragDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageCairoWin.cpp: * platform/win/DragImageWin.cpp: * platform/win/FileSystemWin.cpp: * platform/win/GDIObjectCounter.cpp: * platform/win/GDIObjectCounter.h: * platform/win/HWndDC.h: * platform/win/KeyEventWin.cpp: * platform/win/LanguageWin.cpp: * platform/win/MIMETypeRegistryWin.cpp: * platform/win/PasteboardWin.cpp: * platform/win/PlatformMouseEventWin.cpp: * platform/win/PlatformScreenWin.cpp: * platform/win/SharedBufferWin.cpp: * platform/win/SharedTimerWin.cpp: * platform/win/SoftLinking.h: * platform/win/SoundWin.cpp: * platform/win/StructuredExceptionHandlerSuppressor.cpp: * platform/win/TemporaryLinkStubs.cpp: * platform/win/WCDataObject.cpp: * platform/win/WCDataObject.h: * platform/win/WebCoreTextRenderer.cpp: * platform/win/WebCoreTextRenderer.h: * platform/win/WheelEventWin.cpp: * platform/win/WidgetWin.cpp: * platform/win/WindowMessageBroadcaster.cpp: * platform/win/WindowMessageBroadcaster.h: * platform/win/WindowMessageListener.h: * platform/win/WindowsTouch.h: * platform/win/makesafeseh.asm: * plugins/PluginDatabase.cpp: * plugins/PluginDatabase.h: * plugins/PluginDebug.cpp: * plugins/PluginDebug.h: * plugins/PluginPackage.cpp: * plugins/PluginPackage.h: * plugins/PluginQuirkSet.h: * plugins/PluginStream.cpp: * plugins/PluginStream.h: * plugins/PluginView.cpp: * plugins/PluginView.h: * plugins/efl/PluginPackageEfl.cpp: * plugins/efl/PluginViewEfl.cpp: * plugins/gtk/PluginPackageGtk.cpp: * plugins/gtk/PluginViewGtk.cpp: * plugins/mac/PluginPackageMac.cpp: * plugins/mac/PluginViewMac.mm: * plugins/npapi.cpp: * plugins/npfunctions.h: * plugins/npruntime.h: * plugins/win/PluginDatabaseWin.cpp: * plugins/win/PluginPackageWin.cpp: * plugins/win/PluginViewWin.cpp: * plugins/x11/PluginViewX11.cpp: * rendering/EllipsisBox.cpp: * rendering/EllipsisBox.h: * rendering/FilterEffectRenderer.cpp: * rendering/FilterEffectRenderer.h: * rendering/HitTestLocation.h: * rendering/HitTestRequest.h: * rendering/HitTestResult.h: * rendering/HitTestingTransformState.cpp: * rendering/HitTestingTransformState.h: * rendering/RenderBoxRegionInfo.h: * rendering/RenderButton.cpp: * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderFieldset.cpp: * rendering/RenderFrameBase.cpp: * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: * rendering/RenderGeometryMap.cpp: * rendering/RenderGeometryMap.h: * rendering/RenderGrid.cpp: * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: * rendering/RenderIFrame.h: * rendering/RenderLayerBacking.cpp: * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: * rendering/RenderLayerCompositor.h: * rendering/RenderLineBoxList.cpp: * rendering/RenderLineBoxList.h: * rendering/RenderListBox.cpp: * rendering/RenderListBox.h: * rendering/RenderMarquee.h: * rendering/RenderMedia.cpp: * rendering/RenderMedia.h: * rendering/RenderMultiColumnFlowThread.cpp: * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: * rendering/RenderMultiColumnSet.h: * rendering/RenderNamedFlowThread.cpp: * rendering/RenderNamedFlowThread.h: * rendering/RenderRegionSet.cpp: * rendering/RenderRegionSet.h: * rendering/RenderReplica.cpp: * rendering/RenderReplica.h: * rendering/RenderTheme.cpp: * rendering/RenderTheme.h: * rendering/RenderThemeMac.h: * rendering/RenderThemeWin.h: * rendering/RenderThemeWinCE.cpp: * rendering/RenderThemeWinCE.h: * rendering/RenderTreeAsText.cpp: * rendering/RenderTreeAsText.h: * rendering/RenderVTTCue.cpp: * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: * rendering/RenderVideo.h: * rendering/RenderView.h: * rendering/style/SVGRenderStyle.cpp: * rendering/style/SVGRenderStyle.h: * rendering/style/SVGRenderStyleDefs.cpp: * rendering/style/SVGRenderStyleDefs.h: * rendering/style/StyleFilterData.cpp: * rendering/style/StyleFilterData.h: * rendering/style/StylePendingImage.h: * rendering/svg/RenderSVGBlock.cpp: * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGForeignObject.cpp: * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGImage.cpp: * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGInlineText.cpp: * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: * rendering/svg/RenderSVGText.h: * rendering/svg/SVGInlineFlowBox.cpp: * rendering/svg/SVGInlineFlowBox.h: * rendering/svg/SVGRenderTreeAsText.cpp: * rendering/svg/SVGRenderTreeAsText.h: * rendering/svg/SVGRootInlineBox.cpp: * rendering/svg/SVGRootInlineBox.h: * storage/StorageEventDispatcher.h: * svg/SVGException.cpp: * svg/graphics/SVGImageChromeClient.h: * workers/Worker.cpp: * workers/Worker.h: * workers/Worker.idl: * workers/WorkerEventQueue.cpp: * workers/WorkerEventQueue.h: * workers/WorkerGlobalScope.cpp: * workers/WorkerGlobalScope.h: * workers/WorkerGlobalScope.idl: * workers/WorkerLocation.cpp: * workers/WorkerLocation.h: * workers/WorkerLocation.idl: * workers/WorkerMessagingProxy.cpp: * workers/WorkerMessagingProxy.h: * workers/WorkerScriptLoader.cpp: * workers/WorkerScriptLoader.h: * workers/WorkerScriptLoaderClient.h: * workers/WorkerThread.cpp: * workers/WorkerThread.h: * xml/DOMParser.h: * xml/DOMParser.idl: * xml/NativeXPathNSResolver.cpp: * xml/NativeXPathNSResolver.h: * xml/XMLHttpRequest.idl: * xml/XMLHttpRequestException.cpp: * xml/XMLHttpRequestException.h: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.h: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLHttpRequestUpload.idl: * xml/XMLSerializer.h: * xml/XMLSerializer.idl: * xml/XPathEvaluator.cpp: * xml/XPathEvaluator.h: * xml/XPathEvaluator.idl: * xml/XPathException.cpp: * xml/XPathException.h: * xml/XPathException.idl: * xml/XPathExpression.idl: * xml/XPathExpressionNode.cpp: * xml/XPathNSResolver.cpp: * xml/XPathNSResolver.h: * xml/XPathNSResolver.idl: * xml/XPathNodeSet.h: * xml/XPathResult.idl: * xml/XPathUtil.h: * xml/XPathVariableReference.cpp: * xml/XSLTProcessor.idl: * xml/XSLTUnicodeSort.cpp: * xml/XSLTUnicodeSort.h: Source/WebInspectorUI: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * APPLE_IMAGES_LICENSE.rtf: * UserInterface/Base/DOMUtilities.js: * UserInterface/Models/Color.js: * UserInterface/Views/ConsoleCommand.js: * UserInterface/Views/ConsoleCommandResult.js: * UserInterface/Views/ConsoleGroup.js: * UserInterface/Views/ConsoleMessage.js: * UserInterface/Views/ConsoleMessageImpl.js: * UserInterface/Views/DOMTreeElement.js: * UserInterface/Views/DOMTreeOutline.js: * UserInterface/Views/DOMTreeUpdater.js: * UserInterface/Views/GradientSlider.css: * UserInterface/Views/GradientSlider.js: * UserInterface/Views/TreeOutline.js: Source/WebKit: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * scripts/generate-webkitversion.pl: (printLicenseHeader): Source/WebKit/efl: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/ChromeClientEfl.cpp: * WebCoreSupport/ContextMenuClientEfl.cpp: * WebCoreSupport/ContextMenuClientEfl.h: * WebCoreSupport/DeviceMotionClientEfl.cpp: * WebCoreSupport/DeviceOrientationClientEfl.cpp: * WebCoreSupport/DragClientEfl.cpp: * WebCoreSupport/EditorClientEfl.h: * WebCoreSupport/FrameLoaderClientEfl.cpp: * WebCoreSupport/FrameLoaderClientEfl.h: * WebCoreSupport/FrameNetworkingContextEfl.cpp: * WebCoreSupport/FrameNetworkingContextEfl.h: * WebCoreSupport/InspectorClientEfl.h: * WebCoreSupport/NavigatorContentUtilsClientEfl.cpp: * WebCoreSupport/NavigatorContentUtilsClientEfl.h: * WebCoreSupport/NetworkInfoClientEfl.cpp: Source/WebKit/gtk: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/ContextMenuClientGtk.h: * WebCoreSupport/DocumentLoaderGtk.cpp: * WebCoreSupport/DocumentLoaderGtk.h: * WebCoreSupport/EditorClientGtk.h: * WebCoreSupport/FrameLoaderClientGtk.h: * WebCoreSupport/InspectorClientGtk.h: * WebCoreSupport/TextCheckerClientGtk.h: Source/WebKit/ios: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/WebCaretChangeListener.h: * WebCoreSupport/WebInspectorClientIOS.mm: * WebView/WebPlainWhiteView.h: * WebView/WebPlainWhiteView.mm: Source/WebKit/mac: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Carbon/CarbonUtils.h: * Carbon/CarbonUtils.m: * Carbon/CarbonWindowAdapter.h: * Carbon/CarbonWindowAdapter.mm: * Carbon/CarbonWindowContentView.h: * Carbon/CarbonWindowContentView.m: * Carbon/CarbonWindowFrame.h: * Carbon/CarbonWindowFrame.m: * Carbon/HIViewAdapter.h: * Carbon/HIViewAdapter.m: * Carbon/HIWebView.h: * Carbon/HIWebView.mm: * DOM/WebDOMOperations.h: * DOM/WebDOMOperations.mm: * DOM/WebDOMOperationsInternal.h: * DOM/WebDOMOperationsPrivate.h: * DefaultDelegates/WebDefaultContextMenuDelegate.h: * DefaultDelegates/WebDefaultContextMenuDelegate.mm: * DefaultDelegates/WebDefaultEditingDelegate.h: * DefaultDelegates/WebDefaultEditingDelegate.m: * DefaultDelegates/WebDefaultPolicyDelegate.h: * DefaultDelegates/WebDefaultPolicyDelegate.m: * DefaultDelegates/WebDefaultUIDelegate.h: * DefaultDelegates/WebDefaultUIDelegate.m: * History/WebBackForwardList.h: * History/WebBackForwardList.mm: * History/WebBackForwardListInternal.h: * History/WebBackForwardListPrivate.h: * History/WebHistory.h: * History/WebHistory.mm: * History/WebHistoryInternal.h: * History/WebHistoryItem.h: * History/WebHistoryItem.mm: * History/WebHistoryItemInternal.h: * History/WebHistoryItemPrivate.h: * History/WebHistoryPrivate.h: * History/WebURLsWithTitles.h: * History/WebURLsWithTitles.m: * MigrateHeaders.make: * Misc/OldWebAssertions.c: * Misc/WebCache.h: * Misc/WebCache.mm: * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: * Misc/WebDownload.h: * Misc/WebDownload.mm: * Misc/WebDownloadInternal.h: * Misc/WebElementDictionary.h: * Misc/WebElementDictionary.mm: * Misc/WebIconDatabase.h: * Misc/WebIconDatabase.mm: * Misc/WebIconDatabaseDelegate.h: * Misc/WebIconDatabaseInternal.h: * Misc/WebIconDatabasePrivate.h: * Misc/WebKit.h: * Misc/WebKitErrors.h: * Misc/WebKitErrors.m: * Misc/WebKitErrorsPrivate.h: * Misc/WebKitLogging.h: * Misc/WebKitLogging.m: * Misc/WebKitNSStringExtras.h: * Misc/WebKitNSStringExtras.mm: * Misc/WebKitStatistics.h: * Misc/WebKitStatistics.m: * Misc/WebKitStatisticsPrivate.h: * Misc/WebKitSystemBits.h: * Misc/WebKitSystemBits.m: * Misc/WebKitVersionChecks.h: * Misc/WebKitVersionChecks.m: * Misc/WebLocalizableStrings.h: * Misc/WebLocalizableStrings.mm: * Misc/WebNSArrayExtras.h: * Misc/WebNSArrayExtras.m: * Misc/WebNSControlExtras.h: * Misc/WebNSControlExtras.m: * Misc/WebNSDataExtras.h: * Misc/WebNSDataExtras.m: * Misc/WebNSDataExtrasPrivate.h: * Misc/WebNSDictionaryExtras.h: * Misc/WebNSDictionaryExtras.m: * Misc/WebNSEventExtras.h: * Misc/WebNSEventExtras.m: * Misc/WebNSFileManagerExtras.h: * Misc/WebNSFileManagerExtras.mm: * Misc/WebNSImageExtras.h: * Misc/WebNSImageExtras.m: * Misc/WebNSObjectExtras.h: * Misc/WebNSObjectExtras.mm: * Misc/WebNSPasteboardExtras.h: * Misc/WebNSPasteboardExtras.mm: * Misc/WebNSPrintOperationExtras.h: * Misc/WebNSPrintOperationExtras.m: * Misc/WebNSURLExtras.h: * Misc/WebNSURLExtras.mm: * Misc/WebNSURLRequestExtras.h: * Misc/WebNSURLRequestExtras.m: * Misc/WebNSUserDefaultsExtras.h: * Misc/WebNSUserDefaultsExtras.mm: * Misc/WebNSViewExtras.h: * Misc/WebNSViewExtras.m: * Misc/WebNSWindowExtras.h: * Misc/WebNSWindowExtras.m: * Misc/WebStringTruncator.h: * Misc/WebStringTruncator.mm: * Misc/WebTypesInternal.h: * Panels/WebAuthenticationPanel.h: * Panels/WebAuthenticationPanel.m: * Panels/WebPanelAuthenticationHandler.h: * Panels/WebPanelAuthenticationHandler.m: * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: * Plugins/WebJavaPlugIn.h: * Plugins/WebNetscapeContainerCheckContextInfo.h: * Plugins/WebNetscapeContainerCheckPrivate.h: * Plugins/WebNetscapeContainerCheckPrivate.mm: * Plugins/WebNetscapePluginPackage.h: * Plugins/WebNetscapePluginPackage.mm: * Plugins/WebNetscapePluginStream.h: * Plugins/WebNetscapePluginStream.mm: * Plugins/WebNetscapePluginView.h: * Plugins/WebNetscapePluginView.mm: * Plugins/WebPlugin.h: * Plugins/WebPluginContainer.h: * Plugins/WebPluginContainerCheck.h: * Plugins/WebPluginContainerCheck.mm: * Plugins/WebPluginContainerPrivate.h: * Plugins/WebPluginController.h: * Plugins/WebPluginController.mm: * Plugins/WebPluginDatabase.h: * Plugins/WebPluginDatabase.mm: * Plugins/WebPluginPackage.h: * Plugins/WebPluginPackage.mm: * Plugins/WebPluginRequest.h: * Plugins/WebPluginRequest.m: * Plugins/WebPluginViewFactory.h: * Plugins/WebPluginViewFactoryPrivate.h: * Plugins/WebPluginsPrivate.h: * Plugins/WebPluginsPrivate.m: * Plugins/npapi.mm: * Storage/WebDatabaseManager.mm: * Storage/WebDatabaseManagerInternal.h: * Storage/WebDatabaseManagerPrivate.h: * WebCoreSupport/SearchPopupMenuMac.mm: * WebCoreSupport/WebAlternativeTextClient.h: * WebCoreSupport/WebAlternativeTextClient.mm: * WebCoreSupport/WebCachedFramePlatformData.h: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebCoreSupport/WebContextMenuClient.h: * WebCoreSupport/WebContextMenuClient.mm: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebDragClient.mm: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebIconDatabaseClient.mm: * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: * WebCoreSupport/WebJavaScriptTextInputPanel.h: * WebCoreSupport/WebJavaScriptTextInputPanel.m: * WebCoreSupport/WebSecurityOrigin.mm: * WebCoreSupport/WebSecurityOriginInternal.h: * WebCoreSupport/WebSecurityOriginPrivate.h: * WebCoreSupport/WebSystemInterface.h: * WebCoreSupport/WebSystemInterface.mm: * WebInspector/WebInspector.h: * WebInspector/WebInspector.mm: * WebInspector/WebInspectorPrivate.h: * WebInspector/WebNodeHighlight.h: * WebInspector/WebNodeHighlight.mm: * WebInspector/WebNodeHighlightView.h: * WebInspector/WebNodeHighlightView.mm: * WebInspector/WebNodeHighlighter.h: * WebInspector/WebNodeHighlighter.mm: * WebKitLegacy/MigrateHeadersToLegacy.make: * WebKitPrefix.h: * WebView/WebArchive.h: * WebView/WebArchive.mm: * WebView/WebArchiveInternal.h: * WebView/WebClipView.h: * WebView/WebClipView.mm: * WebView/WebDashboardRegion.h: * WebView/WebDashboardRegion.mm: * WebView/WebDataSource.h: * WebView/WebDataSource.mm: * WebView/WebDataSourceInternal.h: * WebView/WebDataSourcePrivate.h: * WebView/WebDelegateImplementationCaching.h: * WebView/WebDelegateImplementationCaching.mm: * WebView/WebDocument.h: * WebView/WebDocumentInternal.h: * WebView/WebDocumentLoaderMac.h: * WebView/WebDocumentLoaderMac.mm: * WebView/WebDocumentPrivate.h: * WebView/WebDynamicScrollBarsViewInternal.h: * WebView/WebEditingDelegate.h: * WebView/WebEditingDelegatePrivate.h: * WebView/WebFormDelegate.h: * WebView/WebFormDelegate.m: * WebView/WebFormDelegatePrivate.h: * WebView/WebFrame.h: * WebView/WebFrame.mm: * WebView/WebFrameInternal.h: * WebView/WebFrameLoadDelegate.h: * WebView/WebFrameLoadDelegatePrivate.h: * WebView/WebFramePrivate.h: * WebView/WebFrameView.h: * WebView/WebFrameView.mm: * WebView/WebFrameViewInternal.h: * WebView/WebFrameViewPrivate.h: * WebView/WebHTMLRepresentation.h: * WebView/WebHTMLRepresentation.mm: * WebView/WebHTMLRepresentationPrivate.h: * WebView/WebHTMLView.h: * WebView/WebHTMLView.mm: * WebView/WebHTMLViewInternal.h: * WebView/WebHTMLViewPrivate.h: * WebView/WebNotification.h: * WebView/WebNotification.mm: * WebView/WebNotificationInternal.h: * WebView/WebPDFRepresentation.h: * WebView/WebPDFRepresentation.mm: * WebView/WebPDFView.h: * WebView/WebPDFView.mm: * WebView/WebPolicyDelegate.h: * WebView/WebPolicyDelegate.mm: * WebView/WebPolicyDelegatePrivate.h: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: * WebView/WebPreferencesPrivate.h: * WebView/WebRenderLayer.h: * WebView/WebRenderLayer.mm: * WebView/WebRenderNode.h: * WebView/WebRenderNode.mm: * WebView/WebResource.h: * WebView/WebResource.mm: * WebView/WebResourceInternal.h: * WebView/WebResourceLoadDelegate.h: * WebView/WebResourceLoadDelegatePrivate.h: * WebView/WebResourcePrivate.h: * WebView/WebScriptDebugDelegate.h: * WebView/WebScriptDebugDelegate.mm: * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: * WebView/WebTextCompletionController.mm: * WebView/WebUIDelegate.h: * WebView/WebUIDelegatePrivate.h: * WebView/WebView.h: * WebView/WebView.mm: * WebView/WebViewData.h: * WebView/WebViewData.mm: * WebView/WebViewInternal.h: * WebView/WebViewPrivate.h: Source/WebKit/win: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * CFDictionaryPropertyBag.cpp: * CFDictionaryPropertyBag.h: * CodeAnalysisConfig.h: * DOMCSSClasses.cpp: * DOMCSSClasses.h: * DOMCoreClasses.cpp: * DOMCoreClasses.h: * DOMEventsClasses.cpp: * DOMEventsClasses.h: * DOMHTMLClasses.cpp: * DOMHTMLClasses.h: * DefaultDownloadDelegate.cpp: * DefaultDownloadDelegate.h: * DefaultPolicyDelegate.cpp: * DefaultPolicyDelegate.h: * ForEachCoClass.cpp: * ForEachCoClass.h: * FullscreenVideoController.cpp: * FullscreenVideoController.h: * Interfaces/AccessibilityDelegate.idl: * Interfaces/DOMCSS.idl: * Interfaces/DOMCore.idl: * Interfaces/DOMEvents.idl: * Interfaces/DOMExtensions.idl: * Interfaces/DOMHTML.idl: * Interfaces/DOMPrivate.idl: * Interfaces/DOMRange.idl: * Interfaces/DOMWindow.idl: * Interfaces/IGEN_DOMObject.idl: * Interfaces/IWebArchive.idl: * Interfaces/IWebBackForwardList.idl: * Interfaces/IWebBackForwardListPrivate.idl: * Interfaces/IWebCache.idl: * Interfaces/IWebDataSource.idl: * Interfaces/IWebDatabaseManager.idl: * Interfaces/IWebDocument.idl: * Interfaces/IWebDownload.idl: * Interfaces/IWebEditingDelegate.idl: * Interfaces/IWebError.idl: * Interfaces/IWebErrorPrivate.idl: * Interfaces/IWebFormDelegate.idl: * Interfaces/IWebFrame.idl: * Interfaces/IWebFrameLoadDelegate.idl: * Interfaces/IWebFrameLoadDelegatePrivate.idl: * Interfaces/IWebFrameLoadDelegatePrivate2.idl: * Interfaces/IWebFramePrivate.idl: * Interfaces/IWebFrameView.idl: * Interfaces/IWebHTMLRepresentation.idl: * Interfaces/IWebHTTPURLResponse.idl: * Interfaces/IWebHistory.idl: * Interfaces/IWebHistoryDelegate.idl: * Interfaces/IWebHistoryItem.idl: * Interfaces/IWebHistoryItemPrivate.idl: * Interfaces/IWebHistoryPrivate.idl: * Interfaces/IWebIconDatabase.idl: * Interfaces/IWebInspector.idl: * Interfaces/IWebInspectorPrivate.idl: * Interfaces/IWebJavaScriptCollector.idl: * Interfaces/IWebKitStatistics.idl: * Interfaces/IWebMutableURLRequest.idl: * Interfaces/IWebMutableURLRequestPrivate.idl: * Interfaces/IWebNavigationData.idl: * Interfaces/IWebNotification.idl: * Interfaces/IWebNotificationCenter.idl: * Interfaces/IWebNotificationObserver.idl: * Interfaces/IWebPolicyDelegate.idl: * Interfaces/IWebPolicyDelegatePrivate.idl: * Interfaces/IWebPreferences.idl: * Interfaces/IWebPreferencesPrivate.idl: * Interfaces/IWebResource.idl: * Interfaces/IWebResourceLoadDelegate.idl: * Interfaces/IWebResourceLoadDelegatePrivate.idl: * Interfaces/IWebResourceLoadDelegatePrivate2.idl: * Interfaces/IWebScriptObject.idl: * Interfaces/IWebSecurityOrigin.idl: * Interfaces/IWebSerializedJSValuePrivate.idl: * Interfaces/IWebTextRenderer.idl: * Interfaces/IWebUIDelegate.idl: * Interfaces/IWebUIDelegatePrivate.idl: * Interfaces/IWebURLAuthenticationChallenge.idl: * Interfaces/IWebURLRequest.idl: * Interfaces/IWebURLResponse.idl: * Interfaces/IWebURLResponsePrivate.idl: * Interfaces/IWebUndoManager.idl: * Interfaces/IWebUndoTarget.idl: * Interfaces/IWebView.idl: * Interfaces/IWebViewPrivate.idl: * Interfaces/WebKit.idl: * Interfaces/WebScrollbarTypes.idl: * MarshallingHelpers.cpp: * MarshallingHelpers.h: * MemoryStream.cpp: * MemoryStream.h: * ProgIDMacros.h: * WebActionPropertyBag.cpp: * WebActionPropertyBag.h: * WebBackForwardList.cpp: * WebBackForwardList.h: * WebCache.cpp: * WebCache.h: * WebCachedFramePlatformData.h: * WebCoreSupport/WebChromeClient.cpp: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebContextMenuClient.cpp: * WebCoreSupport/WebContextMenuClient.h: * WebCoreSupport/WebDragClient.cpp: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebEditorClient.cpp: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebFrameLoaderClient.cpp: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebInspectorClient.cpp: * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorDelegate.cpp: * WebCoreSupport/WebInspectorDelegate.h: * WebDataSource.cpp: * WebDataSource.h: * WebDatabaseManager.cpp: * WebDatabaseManager.h: * WebDocumentLoader.cpp: * WebDocumentLoader.h: * WebDownload.cpp: * WebDownload.h: * WebDownloadCFNet.cpp: * WebDownloadCurl.cpp: * WebDropSource.cpp: * WebDropSource.h: * WebElementPropertyBag.cpp: * WebElementPropertyBag.h: * WebError.cpp: * WebError.h: * WebFrame.cpp: * WebFrame.h: * WebFramePolicyListener.cpp: * WebFramePolicyListener.h: * WebHTMLRepresentation.cpp: * WebHTMLRepresentation.h: * WebHistory.cpp: * WebHistory.h: * WebHistoryItem.cpp: * WebHistoryItem.h: * WebIconDatabase.cpp: * WebIconDatabase.h: * WebInspector.cpp: * WebInspector.h: * WebJavaScriptCollector.cpp: * WebJavaScriptCollector.h: * WebKitCOMAPI.cpp: * WebKitCOMAPI.h: * WebKitClassFactory.cpp: * WebKitClassFactory.h: * WebKitDLL.cpp: * WebKitDLL.h: * WebKitGraphics.cpp: * WebKitGraphics.h: * WebKitLogging.cpp: * WebKitLogging.h: * WebKitPrefix.cpp: * WebKitPrefix.h: * WebKitStatistics.cpp: * WebKitStatistics.h: * WebKitStatisticsPrivate.h: * WebKitSystemBits.cpp: * WebKitSystemBits.h: * WebLocalizableStrings.cpp: * WebLocalizableStrings.h: * WebMutableURLRequest.cpp: * WebMutableURLRequest.h: * WebNavigationData.cpp: * WebNavigationData.h: * WebNodeHighlight.cpp: * WebNodeHighlight.h: * WebNotification.cpp: * WebNotification.h: * WebNotificationCenter.cpp: * WebNotificationCenter.h: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: * WebPreferences.h: * WebResource.cpp: * WebResource.h: * WebScriptObject.cpp: * WebScriptObject.h: * WebSecurityOrigin.cpp: * WebSecurityOrigin.h: * WebTextRenderer.cpp: * WebTextRenderer.h: * WebURLAuthenticationChallenge.cpp: * WebURLAuthenticationChallenge.h: * WebURLAuthenticationChallengeSender.cpp: * WebURLAuthenticationChallengeSender.h: * WebURLAuthenticationChallengeSenderCFNet.cpp: * WebURLAuthenticationChallengeSenderCurl.cpp: * WebURLCredential.cpp: * WebURLCredential.h: * WebURLProtectionSpace.cpp: * WebURLProtectionSpace.h: * WebURLResponse.cpp: * WebURLResponse.h: * WebView.cpp: * WebView.h: Source/WebKit2: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Shared/AsyncRequest.cpp: * Shared/AsyncRequest.h: * Shared/ContextMenuContextData.cpp: * Shared/ContextMenuContextData.h: * Shared/Databases/DatabaseProcessCreationParameters.h: * Shared/Databases/IndexedDB/IDBUtilities.cpp: * Shared/Databases/IndexedDB/IDBUtilities.h: * Shared/mac/RemoteLayerBackingStore.h: * Shared/mac/RemoteLayerBackingStore.mm: * UIProcess/API/Cocoa/WKBackForwardList.h: * UIProcess/API/Cocoa/WKBackForwardListItem.h: Removed. * UIProcess/API/Cocoa/WKNavigation.h: * UIProcess/API/Cocoa/WKNavigationAction.h: Removed. * UIProcess/API/Cocoa/WKNavigationDelegate.h: * UIProcess/API/Cocoa/WKNavigationResponse.h: Removed. * UIProcess/API/Cocoa/WKNavigationTrigger.h: Added. (NS_ENUM): * UIProcess/API/Cocoa/WKWebView.h: * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp: * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h: * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h: * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: * WebProcess/Databases/WebToDatabaseProcessConnection.h: * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: * WebProcess/WebPage/mac/PlatformCALayerRemote.h: * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Source/WTF: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * wtf/ASCIICType.h: * wtf/AVLTree.h: * wtf/Assertions.cpp: * wtf/Assertions.h: * wtf/Atomics.cpp: * wtf/Atomics.h: * wtf/AutodrainedPool.h: * wtf/AutodrainedPoolMac.mm: * wtf/BoundsCheckedPointer.h: * wtf/CryptographicUtilities.cpp: * wtf/CryptographicallyRandomNumber.h: * wtf/CurrentTime.h: * wtf/Deque.h: * wtf/DisallowCType.h: * wtf/ExportMacros.h: * wtf/FeatureDefines.h: * wtf/GetPtr.h: * wtf/HashIterators.h: * wtf/Locker.h: * wtf/MainThread.cpp: * wtf/MainThread.h: * wtf/MathExtras.h: * wtf/MediaTime.cpp: * wtf/MediaTime.h: * wtf/MessageQueue.h: * wtf/MetaAllocator.cpp: * wtf/MetaAllocator.h: * wtf/MetaAllocatorHandle.h: * wtf/OSRandomSource.cpp: * wtf/OSRandomSource.h: * wtf/Platform.h: * wtf/RandomNumber.cpp: * wtf/RandomNumber.h: * wtf/RandomNumberSeed.h: * wtf/RedBlackTree.h: * wtf/RunLoopTimer.h: * wtf/RunLoopTimerCF.cpp: * wtf/SchedulePair.h: * wtf/SchedulePairCF.cpp: * wtf/SchedulePairMac.mm: * wtf/SegmentedVector.h: * wtf/StackBounds.h: * wtf/StaticConstructors.h: * wtf/StringExtras.h: * wtf/ThreadFunctionInvocation.h: * wtf/ThreadSafeRefCounted.h: * wtf/ThreadSpecific.h: * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: * wtf/ThreadingWin.cpp: * wtf/WTFThreadData.cpp: * wtf/WTFThreadData.h: * wtf/efl/OwnPtrEfl.cpp: * wtf/mac/MainThreadMac.mm: * wtf/text/AtomicStringHash.h: * wtf/text/AtomicStringImpl.h: * wtf/text/Base64.h: * wtf/text/CString.cpp: * wtf/text/CString.h: * wtf/text/LChar.h: * wtf/text/cf/StringCF.cpp: * wtf/text/mac/StringMac.mm: * wtf/unicode/CharacterNames.h: * wtf/unicode/Collator.h: * wtf/unicode/CollatorDefault.cpp: * wtf/unicode/UTF8.cpp: * wtf/unicode/UTF8.h: * wtf/unicode/icu/CollatorICU.cpp: * wtf/win/MainThreadWin.cpp: Tools: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * BuildSlaveSupport/build-launcher-app: * BuildSlaveSupport/build-launcher-dmg: * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/DumpRenderTreePrefix.h: * DumpRenderTree/GCController.cpp: * DumpRenderTree/GCController.h: * DumpRenderTree/JavaScriptThreading.cpp: * DumpRenderTree/JavaScriptThreading.h: * DumpRenderTree/PixelDumpSupport.cpp: * DumpRenderTree/PixelDumpSupport.h: * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: * DumpRenderTree/TestRunner.cpp: * DumpRenderTree/TestRunner.h: * DumpRenderTree/WorkQueue.cpp: * DumpRenderTree/WorkQueue.h: * DumpRenderTree/WorkQueueItem.h: * DumpRenderTree/atk/AccessibilityCallbacks.h: * DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: * DumpRenderTree/cairo/PixelDumpSupportCairo.h: * DumpRenderTree/cg/PixelDumpSupportCG.cpp: * DumpRenderTree/cg/PixelDumpSupportCG.h: * DumpRenderTree/efl/EditingCallbacks.cpp: * DumpRenderTree/efl/EditingCallbacks.h: * DumpRenderTree/efl/EventSender.cpp: * DumpRenderTree/efl/EventSender.h: * DumpRenderTree/efl/GCControllerEfl.cpp: * DumpRenderTree/efl/PixelDumpSupportEfl.cpp: * DumpRenderTree/efl/TestRunnerEfl.cpp: * DumpRenderTree/gtk/DumpRenderTree.cpp: * DumpRenderTree/gtk/DumpRenderTreeGtk.h: * DumpRenderTree/gtk/EditingCallbacks.cpp: * DumpRenderTree/gtk/EditingCallbacks.h: * DumpRenderTree/gtk/EventSender.cpp: * DumpRenderTree/gtk/EventSender.h: * DumpRenderTree/gtk/GCControllerGtk.cpp: * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: * DumpRenderTree/gtk/SelfScrollingWebKitWebView.cpp: * DumpRenderTree/gtk/SelfScrollingWebKitWebView.h: * DumpRenderTree/gtk/TestRunnerGtk.cpp: * DumpRenderTree/gtk/TextInputController.cpp: * DumpRenderTree/gtk/TextInputController.h: * DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL: * DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm: * DumpRenderTree/ios/PixelDumpSupportIOS.mm: * DumpRenderTree/mac/AppleScriptController.h: * DumpRenderTree/mac/AppleScriptController.m: * DumpRenderTree/mac/CheckedMalloc.cpp: * DumpRenderTree/mac/CheckedMalloc.h: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/DumpRenderTreePasteboard.h: * DumpRenderTree/mac/DumpRenderTreePasteboard.m: * DumpRenderTree/mac/DumpRenderTreeWindow.h: * DumpRenderTree/mac/DumpRenderTreeWindow.mm: * DumpRenderTree/mac/EditingDelegate.h: * DumpRenderTree/mac/EditingDelegate.mm: * DumpRenderTree/mac/EventSendingController.h: * DumpRenderTree/mac/EventSendingController.mm: * DumpRenderTree/mac/FrameLoadDelegate.h: * DumpRenderTree/mac/FrameLoadDelegate.mm: * DumpRenderTree/mac/GCControllerMac.mm: * DumpRenderTree/mac/MockWebNotificationProvider.h: * DumpRenderTree/mac/MockWebNotificationProvider.mm: * DumpRenderTree/mac/NavigationController.h: * DumpRenderTree/mac/NavigationController.m: * DumpRenderTree/mac/ObjCController.h: * DumpRenderTree/mac/ObjCController.m: * DumpRenderTree/mac/ObjCPlugin.h: * DumpRenderTree/mac/ObjCPlugin.m: * DumpRenderTree/mac/ObjCPluginFunction.h: * DumpRenderTree/mac/ObjCPluginFunction.m: * DumpRenderTree/mac/PixelDumpSupportMac.mm: * DumpRenderTree/mac/PolicyDelegate.h: * DumpRenderTree/mac/PolicyDelegate.mm: * DumpRenderTree/mac/ResourceLoadDelegate.h: * DumpRenderTree/mac/ResourceLoadDelegate.mm: * DumpRenderTree/mac/TestRunnerMac.mm: * DumpRenderTree/mac/TextInputController.h: * DumpRenderTree/mac/TextInputController.m: * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: * DumpRenderTree/mac/WorkQueueItemMac.mm: * DumpRenderTree/win/DRTDataObject.cpp: * DumpRenderTree/win/DRTDataObject.h: * DumpRenderTree/win/DRTDesktopNotificationPresenter.h: * DumpRenderTree/win/DRTDropSource.cpp: * DumpRenderTree/win/DRTDropSource.h: * DumpRenderTree/win/DraggingInfo.h: * DumpRenderTree/win/DumpRenderTree.cpp: * DumpRenderTree/win/DumpRenderTreeWin.h: * DumpRenderTree/win/EditingDelegate.cpp: * DumpRenderTree/win/EditingDelegate.h: * DumpRenderTree/win/EventSender.cpp: * DumpRenderTree/win/EventSender.h: * DumpRenderTree/win/FrameLoadDelegate.cpp: * DumpRenderTree/win/FrameLoadDelegate.h: * DumpRenderTree/win/GCControllerWin.cpp: * DumpRenderTree/win/HistoryDelegate.cpp: * DumpRenderTree/win/HistoryDelegate.h: * DumpRenderTree/win/MD5.cpp: * DumpRenderTree/win/MD5.h: * DumpRenderTree/win/PixelDumpSupportWin.cpp: * DumpRenderTree/win/PolicyDelegate.cpp: * DumpRenderTree/win/PolicyDelegate.h: * DumpRenderTree/win/ResourceLoadDelegate.cpp: * DumpRenderTree/win/ResourceLoadDelegate.h: * DumpRenderTree/win/TestRunnerWin.cpp: * DumpRenderTree/win/TextInputController.cpp: * DumpRenderTree/win/TextInputController.h: * DumpRenderTree/win/TextInputControllerWin.cpp: * DumpRenderTree/win/UIDelegate.cpp: * DumpRenderTree/win/UIDelegate.h: * DumpRenderTree/win/WorkQueueItemWin.cpp: * EWebLauncher/main.c: * GtkLauncher/main.c: * ImageDiff/efl/ImageDiff.cpp: * ImageDiff/gtk/ImageDiff.cpp: * MiniBrowser/gtk/main.c: * Scripts/SpacingHeuristics.pm: * Scripts/VCSUtils.pm: * Scripts/bisect-builds: * Scripts/build-dumprendertree: * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/check-dom-results: * Scripts/check-for-exit-time-destructors: * Scripts/check-for-global-initializers: * Scripts/commit-log-editor: * Scripts/compare-timing-files: * Scripts/debug-minibrowser: * Scripts/debug-safari: * Scripts/do-file-rename: * Scripts/find-extra-includes: * Scripts/generate-coverage-data: * Scripts/make-script-test-wrappers: * Scripts/malloc-tree: * Scripts/old-run-webkit-tests: * Scripts/parse-malloc-history: * Scripts/report-include-statistics: * Scripts/resolve-ChangeLogs: * Scripts/run-bindings-tests: * Scripts/run-iexploder-tests: * Scripts/run-javascriptcore-tests: * Scripts/run-jsc: * Scripts/run-launcher: * Scripts/run-leaks: * Scripts/run-mangleme-tests: * Scripts/run-minibrowser: * Scripts/run-pageloadtest: * Scripts/run-regexp-tests: * Scripts/run-safari: * Scripts/run-sunspider: * Scripts/run-webkit-app: * Scripts/sampstat: * Scripts/set-webkit-configuration: * Scripts/sort-Xcode-project-file: * Scripts/sort-export-file: * Scripts/split-file-by-class: * Scripts/sunspider-compare-results: * Scripts/svn-apply: * Scripts/svn-create-patch: * Scripts/svn-unapply: * Scripts/test-webkit-scripts: * Scripts/update-javascriptcore-test-results: * Scripts/update-webkit: * Scripts/update-webkit-auxiliary-libs: * Scripts/update-webkit-dependency: * Scripts/update-webkit-localizable-strings: * Scripts/update-webkit-support-libs: * Scripts/update-webkit-wincairo-libs: * Scripts/webkit-build-directory: * Scripts/webkitdirs.pm: (installedSafariPath): * Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl: * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: * Scripts/webkitperl/features.pm: * Scripts/webkitperl/httpd.pm: * Scripts/webkitpy/bindings/main.py: * Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py: * TestWebKitAPI/Tests/WTF/MediaTime.cpp: * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: * TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: * TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp: * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp: * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.h: * WebKitTestRunner/PixelDumpSupport.cpp: * WebKitTestRunner/PixelDumpSupport.h: * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp: * WinLauncher/WinLauncher.cpp: * WinLauncher/WinLauncher.h: * WinLauncher/stdafx.cpp: * WinLauncher/stdafx.h: WebKitLibraries: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * win/include/WebKitSystemInterface/WebKitSystemInterface.h: * win/tools/scripts/auto-version.sh: Websites/webkit.org: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * blog/wp-content/textfield_screenshot.jpg: * misc/WebKitDetect.html: * misc/WebKitDetect.js: * perf/sunspider-0.9.1/sunspider-0.9.1/driver.html: * perf/sunspider-0.9.1/sunspider-0.9.1/results.html: * perf/sunspider-0.9.1/sunspider-0.9.1/sunspider-test-contents.js: * perf/sunspider-0.9.1/sunspider-0.9/driver.html: * perf/sunspider-0.9.1/sunspider-0.9/results.html: * perf/sunspider-0.9.1/sunspider-0.9/sunspider-test-contents.js: * perf/sunspider-0.9.1/sunspider-analyze-results.js: * perf/sunspider-0.9.1/sunspider-compare-results.js: * perf/sunspider-0.9/3d-cube.html: * perf/sunspider-0.9/3d-morph.html: * perf/sunspider-0.9/3d-raytrace.html: * perf/sunspider-0.9/access-binary-trees.html: * perf/sunspider-0.9/access-fannkuch.html: * perf/sunspider-0.9/access-nbody.html: * perf/sunspider-0.9/access-nsieve.html: * perf/sunspider-0.9/bitops-3bit-bits-in-byte.html: * perf/sunspider-0.9/bitops-bits-in-byte.html: * perf/sunspider-0.9/bitops-bitwise-and.html: * perf/sunspider-0.9/bitops-nsieve-bits.html: * perf/sunspider-0.9/controlflow-recursive.html: * perf/sunspider-0.9/crypto-aes.html: * perf/sunspider-0.9/crypto-md5.html: * perf/sunspider-0.9/crypto-sha1.html: * perf/sunspider-0.9/date-format-tofte.html: * perf/sunspider-0.9/date-format-xparb.html: * perf/sunspider-0.9/math-cordic.html: * perf/sunspider-0.9/math-partial-sums.html: * perf/sunspider-0.9/math-spectral-norm.html: * perf/sunspider-0.9/regexp-dna.html: * perf/sunspider-0.9/string-base64.html: * perf/sunspider-0.9/string-fasta.html: * perf/sunspider-0.9/string-tagcloud.html: * perf/sunspider-0.9/string-unpack-code.html: * perf/sunspider-0.9/string-validate-input.html: * perf/sunspider-0.9/sunspider-analyze-results.js: * perf/sunspider-0.9/sunspider-compare-results.js: * perf/sunspider-0.9/sunspider-driver.html: * perf/sunspider-0.9/sunspider-record-result.js: * perf/sunspider-0.9/sunspider-results.html: * perf/sunspider-1.0.1/sunspider-1.0.1/driver.html: * perf/sunspider-1.0.1/sunspider-1.0.1/results.html: * perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-contents.js: * perf/sunspider-1.0.1/sunspider-analyze-results.js: * perf/sunspider-1.0.1/sunspider-compare-results.js: * perf/sunspider-1.0.1/sunspider.html: * perf/sunspider-1.0.2/sunspider-1.0.2/driver.html: * perf/sunspider-1.0.2/sunspider-1.0.2/results.html: * perf/sunspider-1.0.2/sunspider-1.0.2/sunspider-test-contents.js: * perf/sunspider-1.0.2/sunspider-analyze-results.js: * perf/sunspider-1.0.2/sunspider-compare-results.js: * perf/sunspider-1.0.2/sunspider.html: * perf/sunspider-1.0/sunspider-1.0/driver.html: * perf/sunspider-1.0/sunspider-1.0/results.html: * perf/sunspider-1.0/sunspider-1.0/sunspider-test-contents.js: * perf/sunspider-1.0/sunspider-analyze-results.js: * perf/sunspider-1.0/sunspider-compare-results.js: * perf/sunspider-1.0/sunspider.html: * perf/sunspider/sunspider.html: * perf/sunspider/versions.html: * quality/reporting.html: LayoutTests: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * editing/resources/TIFF-pasteboard-data.dat: * fast/backgrounds/repeat/resources/gradient.gif: * fast/forms/resources/apple.gif: * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * platform/wk2/TestExpectations: * webgl/1.0.1/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer-offsets.html: * webgl/1.0.1/resources/webgl_test_files/conformance/context/context-attribute-preserve-drawing-buffer.html: * webgl/1.0.1/resources/webgl_test_files/conformance/context/incorrect-context-object-behaviour.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/bad-arguments-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/invalid-passed-params.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/null-object-behaviour.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/type-conversion-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/programs/get-active-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/line-loop-tri-fan.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/triangle.html: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/vertexShader.vert: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/webgl-test.js: * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-get-calls.html: * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-object-get-calls.html: * webgl/1.0.1/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html: * webgl/1.0.1/resources/webgl_test_files/extra/canvas-compositing-test.html: * webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: * webgl/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/resources/webgl_test_files/conformance/resources/vertexShader.vert: Canonical link: https://commits.webkit.org/148261@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-15 04:08:27 +00:00
* THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
.: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * ManualTests/NPN_Invoke/Info.plist: * ManualTests/NPN_Invoke/main.c: * ManualTests/accessibility/resources/AppletTest.java: Examples: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * NetscapeCocoaPlugin/MenuHandler.h: * NetscapeCocoaPlugin/MenuHandler.m: * NetscapeCocoaPlugin/main.m: * NetscapeCoreAnimationPlugin/main.m: * NetscapeInputMethodPlugin/main.m: PerformanceTests: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Dromaeo/resources/dromaeo/web/tests/sunspider-3d-raytrace.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-bitops-bitwise-and.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-math-cordic.html: * Dromaeo/resources/dromaeo/web/tests/sunspider-string-tagcloud.html: * LongSpider/3d-morph.js: * LongSpider/3d-raytrace.js: * LongSpider/math-cordic.js: * LongSpider/string-tagcloud.js: * Parser/resources/html5-8266.html: * Parser/resources/html5.html: PerformanceTests/SunSpider: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * hosted/sunspider.html: * hosted/versions.html: * make-hosted: * resources/TEMPLATE.html: * resources/driver-TEMPLATE.html: * resources/results-TEMPLATE.html: * resources/sunspider-analyze-results.js: * resources/sunspider-compare-results.js: * resources/sunspider-standalone-compare.js: * resources/sunspider-standalone-driver.js: * sunspider: * sunspider-compare-results: * tests/sunspider-0.9.1/3d-morph.js: * tests/sunspider-0.9.1/3d-raytrace.js: * tests/sunspider-0.9.1/bitops-bitwise-and.js: * tests/sunspider-0.9.1/math-cordic.js: * tests/sunspider-0.9.1/string-tagcloud.js: * tests/sunspider-0.9/3d-morph.js: * tests/sunspider-0.9/3d-raytrace.js: * tests/sunspider-0.9/bitops-bitwise-and.js: * tests/sunspider-0.9/math-cordic.js: * tests/sunspider-0.9/string-tagcloud.js: * tests/sunspider-1.0.1/3d-morph.js: * tests/sunspider-1.0.1/3d-raytrace.js: * tests/sunspider-1.0.1/bitops-bitwise-and.js: * tests/sunspider-1.0.1/math-cordic.js: * tests/sunspider-1.0.1/string-tagcloud.js: * tests/sunspider-1.0.2/3d-morph.js: * tests/sunspider-1.0.2/3d-raytrace.js: * tests/sunspider-1.0.2/bitops-bitwise-and.js: * tests/sunspider-1.0.2/math-cordic.js: * tests/sunspider-1.0.2/string-tagcloud.js: * tests/sunspider-1.0/3d-morph.js: * tests/sunspider-1.0/3d-raytrace.js: * tests/sunspider-1.0/bitops-bitwise-and.js: * tests/sunspider-1.0/math-cordic.js: * tests/sunspider-1.0/string-tagcloud.js: Source/JavaScriptCore: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * API/APICast.h: * API/JSBase.cpp: * API/JSBase.h: * API/JSBasePrivate.h: * API/JSCallbackConstructor.cpp: * API/JSCallbackConstructor.h: * API/JSCallbackFunction.cpp: * API/JSCallbackFunction.h: * API/JSCallbackObject.cpp: * API/JSCallbackObject.h: * API/JSCallbackObjectFunctions.h: * API/JSClassRef.cpp: * API/JSClassRef.h: * API/JSContextRef.cpp: * API/JSContextRef.h: * API/JSContextRefPrivate.h: * API/JSObjectRef.cpp: * API/JSObjectRef.h: * API/JSProfilerPrivate.cpp: * API/JSProfilerPrivate.h: * API/JSRetainPtr.h: * API/JSStringRef.cpp: * API/JSStringRef.h: * API/JSStringRefBSTR.cpp: * API/JSStringRefBSTR.h: * API/JSStringRefCF.cpp: * API/JSStringRefCF.h: * API/JSValueRef.cpp: * API/JSValueRef.h: * API/JavaScript.h: * API/JavaScriptCore.h: * API/OpaqueJSString.cpp: * API/OpaqueJSString.h: * API/tests/JSNode.c: * API/tests/JSNode.h: * API/tests/JSNodeList.c: * API/tests/JSNodeList.h: * API/tests/Node.c: * API/tests/Node.h: * API/tests/NodeList.c: * API/tests/NodeList.h: * API/tests/minidom.c: * API/tests/minidom.js: * API/tests/testapi.c: * API/tests/testapi.js: * DerivedSources.make: * bindings/ScriptValue.cpp: * bytecode/CodeBlock.cpp: * bytecode/CodeBlock.h: * bytecode/EvalCodeCache.h: * bytecode/Instruction.h: * bytecode/JumpTable.cpp: * bytecode/JumpTable.h: * bytecode/Opcode.cpp: * bytecode/Opcode.h: * bytecode/SamplingTool.cpp: * bytecode/SamplingTool.h: * bytecode/SpeculatedType.cpp: * bytecode/SpeculatedType.h: * bytecode/ValueProfile.h: * bytecompiler/BytecodeGenerator.cpp: * bytecompiler/BytecodeGenerator.h: * bytecompiler/Label.h: * bytecompiler/LabelScope.h: * bytecompiler/RegisterID.h: * debugger/DebuggerCallFrame.cpp: * debugger/DebuggerCallFrame.h: * dfg/DFGDesiredStructureChains.cpp: * dfg/DFGDesiredStructureChains.h: * heap/GCActivityCallback.cpp: * heap/GCActivityCallback.h: * inspector/ConsoleMessage.cpp: * inspector/ConsoleMessage.h: * inspector/IdentifiersFactory.cpp: * inspector/IdentifiersFactory.h: * inspector/InjectedScriptManager.cpp: * inspector/InjectedScriptManager.h: * inspector/InjectedScriptSource.js: * inspector/ScriptBreakpoint.h: * inspector/ScriptDebugListener.h: * inspector/ScriptDebugServer.cpp: * inspector/ScriptDebugServer.h: * inspector/agents/InspectorAgent.cpp: * inspector/agents/InspectorAgent.h: * inspector/agents/InspectorDebuggerAgent.cpp: * inspector/agents/InspectorDebuggerAgent.h: * interpreter/Interpreter.cpp: * interpreter/Interpreter.h: * interpreter/JSStack.cpp: * interpreter/JSStack.h: * interpreter/Register.h: * jit/CompactJITCodeMap.h: * jit/JITStubs.cpp: * jit/JITStubs.h: * jit/JITStubsARM.h: * jit/JITStubsARMv7.h: * jit/JITStubsX86.h: * jit/JITStubsX86_64.h: * os-win32/stdbool.h: * parser/SourceCode.h: * parser/SourceProvider.h: * profiler/LegacyProfiler.cpp: * profiler/LegacyProfiler.h: * profiler/ProfileNode.cpp: * profiler/ProfileNode.h: * runtime/ArrayBufferView.cpp: * runtime/ArrayBufferView.h: * runtime/BatchedTransitionOptimizer.h: * runtime/CallData.h: * runtime/ConstructData.h: * runtime/DumpContext.cpp: * runtime/DumpContext.h: * runtime/ExceptionHelpers.cpp: * runtime/ExceptionHelpers.h: * runtime/InitializeThreading.cpp: * runtime/InitializeThreading.h: * runtime/IntegralTypedArrayBase.h: * runtime/IntendedStructureChain.cpp: * runtime/IntendedStructureChain.h: * runtime/JSActivation.cpp: * runtime/JSActivation.h: * runtime/JSExportMacros.h: * runtime/JSGlobalObject.cpp: * runtime/JSNotAnObject.cpp: * runtime/JSNotAnObject.h: * runtime/JSPropertyNameIterator.cpp: * runtime/JSPropertyNameIterator.h: * runtime/JSSegmentedVariableObject.cpp: * runtime/JSSegmentedVariableObject.h: * runtime/JSSymbolTableObject.cpp: * runtime/JSSymbolTableObject.h: * runtime/JSTypeInfo.h: * runtime/JSVariableObject.cpp: * runtime/JSVariableObject.h: * runtime/PropertyTable.cpp: * runtime/PutPropertySlot.h: * runtime/SamplingCounter.cpp: * runtime/SamplingCounter.h: * runtime/Structure.cpp: * runtime/Structure.h: * runtime/StructureChain.cpp: * runtime/StructureChain.h: * runtime/StructureInlines.h: * runtime/StructureTransitionTable.h: * runtime/SymbolTable.cpp: * runtime/SymbolTable.h: * runtime/TypedArrayBase.h: * runtime/TypedArrayType.cpp: * runtime/TypedArrayType.h: * runtime/VM.cpp: * runtime/VM.h: * yarr/RegularExpression.cpp: * yarr/RegularExpression.h: Source/WebCore: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. No new tests because no behavior changes. * DerivedSources.make: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.cpp: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.h: * Modules/airplay/WebKitPlaybackTargetAvailabilityEvent.idl: * Modules/encryptedmedia/MediaKeyMessageEvent.cpp: * Modules/encryptedmedia/MediaKeyMessageEvent.h: * Modules/encryptedmedia/MediaKeyMessageEvent.idl: * Modules/encryptedmedia/MediaKeyNeededEvent.cpp: * Modules/encryptedmedia/MediaKeyNeededEvent.h: * Modules/encryptedmedia/MediaKeyNeededEvent.idl: * Modules/encryptedmedia/MediaKeySession.idl: * Modules/encryptedmedia/MediaKeys.idl: * Modules/geolocation/NavigatorGeolocation.cpp: * Modules/indexeddb/DOMWindowIndexedDatabase.idl: * Modules/indexeddb/IDBCallbacks.h: * Modules/indexeddb/IDBDatabaseException.cpp: * Modules/indexeddb/IDBDatabaseMetadata.h: * Modules/indexeddb/IDBEventDispatcher.cpp: * Modules/indexeddb/IDBEventDispatcher.h: * Modules/indexeddb/IDBFactory.cpp: * Modules/indexeddb/IDBFactory.h: * Modules/indexeddb/IDBFactoryBackendInterface.cpp: * Modules/indexeddb/IDBFactoryBackendInterface.h: * Modules/indexeddb/IDBHistograms.h: * Modules/indexeddb/IDBIndexMetadata.h: * Modules/indexeddb/IDBObjectStoreMetadata.h: * Modules/indexeddb/IDBRecordIdentifier.h: * Modules/indexeddb/IDBRequest.cpp: * Modules/indexeddb/IDBRequest.h: * Modules/indexeddb/IDBRequest.idl: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.cpp: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.h: * Modules/indexeddb/WorkerGlobalScopeIndexedDatabase.idl: * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp: * Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h: * Modules/mediacontrols/MediaControlsHost.cpp: * Modules/mediacontrols/MediaControlsHost.h: * Modules/mediacontrols/MediaControlsHost.idl: * Modules/mediacontrols/mediaControlsApple.css: * Modules/mediacontrols/mediaControlsiOS.css: * Modules/mediasource/AudioTrackMediaSource.h: * Modules/mediasource/AudioTrackMediaSource.idl: * Modules/mediasource/TextTrackMediaSource.h: * Modules/mediasource/TextTrackMediaSource.idl: * Modules/mediasource/VideoTrackMediaSource.h: * Modules/mediasource/VideoTrackMediaSource.idl: * Modules/mediastream/AllAudioCapabilities.h: * Modules/mediastream/AllAudioCapabilities.idl: * Modules/mediastream/AllVideoCapabilities.h: * Modules/mediastream/AllVideoCapabilities.idl: * Modules/mediastream/AudioStreamTrack.cpp: * Modules/mediastream/AudioStreamTrack.h: * Modules/mediastream/AudioStreamTrack.idl: * Modules/mediastream/CapabilityRange.cpp: * Modules/mediastream/CapabilityRange.h: * Modules/mediastream/CapabilityRange.idl: * Modules/mediastream/MediaSourceStates.cpp: * Modules/mediastream/MediaSourceStates.h: * Modules/mediastream/MediaSourceStates.idl: * Modules/mediastream/MediaStreamCapabilities.cpp: * Modules/mediastream/MediaStreamCapabilities.h: * Modules/mediastream/MediaStreamCapabilities.idl: * Modules/mediastream/MediaTrackConstraint.cpp: * Modules/mediastream/MediaTrackConstraint.h: * Modules/mediastream/MediaTrackConstraint.idl: * Modules/mediastream/MediaTrackConstraintSet.cpp: * Modules/mediastream/MediaTrackConstraintSet.h: * Modules/mediastream/MediaTrackConstraints.cpp: * Modules/mediastream/MediaTrackConstraints.h: * Modules/mediastream/MediaTrackConstraints.idl: * Modules/mediastream/NavigatorMediaStream.cpp: * Modules/mediastream/NavigatorUserMediaError.cpp: * Modules/mediastream/RTCConfiguration.idl: * Modules/mediastream/RTCIceServer.idl: * Modules/mediastream/RTCOfferAnswerOptions.cpp: * Modules/mediastream/RTCOfferAnswerOptions.h: * Modules/mediastream/VideoStreamTrack.cpp: * Modules/mediastream/VideoStreamTrack.h: * Modules/mediastream/VideoStreamTrack.idl: * Modules/networkinfo/NetworkInfo.cpp: * Modules/networkinfo/NetworkInfo.h: * Modules/networkinfo/NetworkInfoConnection.cpp: * Modules/networkinfo/NetworkInfoConnection.h: * Modules/networkinfo/NetworkInfoController.cpp: * Modules/notifications/DOMWindowNotifications.cpp: * Modules/notifications/DOMWindowNotifications.h: * Modules/notifications/DOMWindowNotifications.idl: * Modules/notifications/NotificationController.cpp: * Modules/notifications/NotificationController.h: * Modules/notifications/NotificationPermissionCallback.h: * Modules/notifications/NotificationPermissionCallback.idl: * Modules/notifications/WorkerGlobalScopeNotifications.cpp: * Modules/notifications/WorkerGlobalScopeNotifications.h: * Modules/notifications/WorkerGlobalScopeNotifications.idl: * Modules/plugins/PluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.cpp: * Modules/plugins/QuickTimePluginReplacement.css: * Modules/plugins/QuickTimePluginReplacement.h: * Modules/plugins/QuickTimePluginReplacement.idl: * Modules/quota/DOMWindowQuota.idl: * Modules/speech/DOMWindowSpeechSynthesis.h: * Modules/speech/DOMWindowSpeechSynthesis.idl: * Modules/speech/SpeechSynthesis.cpp: * Modules/speech/SpeechSynthesis.h: * Modules/speech/SpeechSynthesis.idl: * Modules/speech/SpeechSynthesisEvent.cpp: * Modules/speech/SpeechSynthesisEvent.h: * Modules/speech/SpeechSynthesisEvent.idl: * Modules/speech/SpeechSynthesisUtterance.cpp: * Modules/speech/SpeechSynthesisUtterance.h: * Modules/speech/SpeechSynthesisUtterance.idl: * Modules/speech/SpeechSynthesisVoice.cpp: * Modules/speech/SpeechSynthesisVoice.h: * Modules/speech/SpeechSynthesisVoice.idl: * Modules/webaudio/AudioBuffer.cpp: * Modules/webaudio/AudioBuffer.h: * Modules/webaudio/AudioBuffer.idl: * Modules/webaudio/AudioListener.cpp: * Modules/webaudio/AudioListener.h: * Modules/webaudio/AudioListener.idl: * Modules/webaudio/AudioParam.h: * Modules/webaudio/AudioParam.idl: * Modules/webaudio/AudioParamTimeline.h: * Modules/webaudio/AudioScheduledSourceNode.h: * Modules/webaudio/ChannelMergerNode.cpp: * Modules/webaudio/ChannelMergerNode.h: * Modules/webaudio/ChannelMergerNode.idl: * Modules/webaudio/MediaStreamAudioSource.cpp: * Modules/webaudio/MediaStreamAudioSource.h: * Modules/webaudio/PeriodicWave.cpp: * Modules/webaudio/PeriodicWave.h: * Modules/webdatabase/ChangeVersionWrapper.cpp: * Modules/webdatabase/ChangeVersionWrapper.h: * Modules/webdatabase/DOMWindowWebDatabase.cpp: * Modules/webdatabase/DOMWindowWebDatabase.h: * Modules/webdatabase/DOMWindowWebDatabase.idl: * Modules/webdatabase/Database.cpp: * Modules/webdatabase/Database.h: * Modules/webdatabase/Database.idl: * Modules/webdatabase/DatabaseAuthorizer.cpp: * Modules/webdatabase/DatabaseAuthorizer.h: * Modules/webdatabase/DatabaseBackendBase.cpp: * Modules/webdatabase/DatabaseBackendBase.h: * Modules/webdatabase/DatabaseCallback.idl: * Modules/webdatabase/DatabaseContext.cpp: * Modules/webdatabase/DatabaseContext.h: * Modules/webdatabase/DatabaseDetails.h: * Modules/webdatabase/DatabaseTask.cpp: * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: * Modules/webdatabase/DatabaseThread.h: * Modules/webdatabase/DatabaseTracker.cpp: * Modules/webdatabase/DatabaseTracker.h: * Modules/webdatabase/SQLCallbackWrapper.h: * Modules/webdatabase/SQLError.h: * Modules/webdatabase/SQLError.idl: * Modules/webdatabase/SQLException.cpp: * Modules/webdatabase/SQLResultSet.cpp: * Modules/webdatabase/SQLResultSet.h: * Modules/webdatabase/SQLResultSet.idl: * Modules/webdatabase/SQLResultSetRowList.cpp: * Modules/webdatabase/SQLResultSetRowList.h: * Modules/webdatabase/SQLResultSetRowList.idl: * Modules/webdatabase/SQLStatement.cpp: * Modules/webdatabase/SQLStatement.h: * Modules/webdatabase/SQLStatementBackend.cpp: * Modules/webdatabase/SQLStatementBackend.h: * Modules/webdatabase/SQLStatementCallback.h: * Modules/webdatabase/SQLStatementCallback.idl: * Modules/webdatabase/SQLStatementErrorCallback.h: * Modules/webdatabase/SQLStatementErrorCallback.idl: * Modules/webdatabase/SQLStatementSync.cpp: * Modules/webdatabase/SQLTransaction.cpp: * Modules/webdatabase/SQLTransaction.h: * Modules/webdatabase/SQLTransaction.idl: * Modules/webdatabase/SQLTransactionBackend.cpp: * Modules/webdatabase/SQLTransactionBackend.h: * Modules/webdatabase/SQLTransactionCallback.h: * Modules/webdatabase/SQLTransactionCallback.idl: * Modules/webdatabase/SQLTransactionErrorCallback.h: * Modules/webdatabase/SQLTransactionErrorCallback.idl: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.cpp: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.h: * Modules/webdatabase/WorkerGlobalScopeWebDatabase.idl: * Resources/deleteButton.tiff: * Resources/deleteButtonPressed.tiff: * WebCore.vcxproj/MigrateScripts: * WebCorePrefix.cpp: * accessibility/AXObjectCache.cpp: * accessibility/AXObjectCache.h: * accessibility/AccessibilityARIAGrid.cpp: * accessibility/AccessibilityARIAGrid.h: * accessibility/AccessibilityARIAGridCell.cpp: * accessibility/AccessibilityARIAGridCell.h: * accessibility/AccessibilityARIAGridRow.cpp: * accessibility/AccessibilityARIAGridRow.h: * accessibility/AccessibilityImageMapLink.cpp: * accessibility/AccessibilityImageMapLink.h: * accessibility/AccessibilityList.cpp: * accessibility/AccessibilityList.h: * accessibility/AccessibilityListBox.cpp: * accessibility/AccessibilityListBox.h: * accessibility/AccessibilityListBoxOption.cpp: * accessibility/AccessibilityListBoxOption.h: * accessibility/AccessibilityMediaControls.cpp: * accessibility/AccessibilityMediaControls.h: * accessibility/AccessibilityNodeObject.cpp: * accessibility/AccessibilityNodeObject.h: * accessibility/AccessibilityObject.cpp: * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilityRenderObject.h: * accessibility/AccessibilitySVGRoot.cpp: * accessibility/AccessibilitySVGRoot.h: * accessibility/AccessibilityScrollbar.cpp: * accessibility/AccessibilityScrollbar.h: * accessibility/AccessibilitySlider.cpp: * accessibility/AccessibilitySlider.h: * accessibility/AccessibilityTable.cpp: * accessibility/AccessibilityTable.h: * accessibility/AccessibilityTableCell.cpp: * accessibility/AccessibilityTableCell.h: * accessibility/AccessibilityTableColumn.cpp: * accessibility/AccessibilityTableColumn.h: * accessibility/AccessibilityTableHeaderContainer.cpp: * accessibility/AccessibilityTableHeaderContainer.h: * accessibility/AccessibilityTableRow.cpp: * accessibility/AccessibilityTableRow.h: * accessibility/ios/AXObjectCacheIOS.mm: * accessibility/ios/AccessibilityObjectIOS.mm: * accessibility/ios/WebAccessibilityObjectWrapperIOS.h: * accessibility/ios/WebAccessibilityObjectWrapperIOS.mm: * accessibility/mac/AXObjectCacheMac.mm: * accessibility/mac/AccessibilityObjectMac.mm: * accessibility/mac/WebAccessibilityObjectWrapperBase.h: * accessibility/mac/WebAccessibilityObjectWrapperBase.mm: * accessibility/mac/WebAccessibilityObjectWrapperMac.h: * accessibility/mac/WebAccessibilityObjectWrapperMac.mm: * bindings/gobject/WebKitDOMEventTarget.cpp: * bindings/gobject/WebKitDOMHTMLPrivate.cpp: * bindings/gobject/WebKitDOMHTMLPrivate.h: * bindings/js/Dictionary.cpp: * bindings/js/GCController.cpp: * bindings/js/GCController.h: * bindings/js/JSAttrCustom.cpp: * bindings/js/JSAudioTrackCustom.cpp: * bindings/js/JSAudioTrackListCustom.cpp: * bindings/js/JSCSSRuleCustom.cpp: * bindings/js/JSCSSRuleCustom.h: * bindings/js/JSCSSRuleListCustom.cpp: * bindings/js/JSCSSStyleDeclarationCustom.cpp: * bindings/js/JSCSSValueCustom.cpp: * bindings/js/JSCallbackData.cpp: * bindings/js/JSCallbackData.h: * bindings/js/JSCanvasRenderingContextCustom.cpp: * bindings/js/JSClipboardCustom.cpp: * bindings/js/JSCustomSQLStatementErrorCallback.cpp: * bindings/js/JSCustomXPathNSResolver.cpp: * bindings/js/JSCustomXPathNSResolver.h: * bindings/js/JSDOMGlobalObject.cpp: * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMWindowShell.cpp: * bindings/js/JSDOMWindowShell.h: * bindings/js/JSElementCustom.cpp: * bindings/js/JSEventCustom.cpp: * bindings/js/JSHTMLAppletElementCustom.cpp: * bindings/js/JSHTMLCanvasElementCustom.cpp: * bindings/js/JSHTMLDocumentCustom.cpp: * bindings/js/JSHTMLElementCustom.cpp: * bindings/js/JSHTMLEmbedElementCustom.cpp: * bindings/js/JSHTMLFormElementCustom.cpp: * bindings/js/JSHTMLFrameElementCustom.cpp: * bindings/js/JSHTMLFrameSetElementCustom.cpp: * bindings/js/JSHTMLObjectElementCustom.cpp: * bindings/js/JSHTMLSelectElementCustom.h: * bindings/js/JSHistoryCustom.cpp: * bindings/js/JSMediaListCustom.h: * bindings/js/JSMediaSourceStatesCustom.cpp: * bindings/js/JSMediaStreamCapabilitiesCustom.cpp: * bindings/js/JSNamedNodeMapCustom.cpp: * bindings/js/JSNodeCustom.cpp: * bindings/js/JSNodeCustom.h: * bindings/js/JSNodeFilterCustom.cpp: * bindings/js/JSNodeListCustom.cpp: * bindings/js/JSSQLResultSetRowListCustom.cpp: * bindings/js/JSSQLTransactionCustom.cpp: * bindings/js/JSSQLTransactionSyncCustom.cpp: * bindings/js/JSSVGElementInstanceCustom.cpp: * bindings/js/JSStyleSheetCustom.cpp: * bindings/js/JSStyleSheetCustom.h: * bindings/js/JSStyleSheetListCustom.cpp: * bindings/js/JSTextTrackCueCustom.cpp: * bindings/js/JSTextTrackCustom.cpp: * bindings/js/JSTextTrackListCustom.cpp: * bindings/js/JSTouchCustom.cpp: * bindings/js/JSTouchListCustom.cpp: * bindings/js/JSTrackCustom.cpp: * bindings/js/JSTrackCustom.h: * bindings/js/JSTrackEventCustom.cpp: * bindings/js/JSVideoTrackCustom.cpp: * bindings/js/JSVideoTrackListCustom.cpp: * bindings/js/JSWebGLRenderingContextCustom.cpp: * bindings/js/JSWebKitPointCustom.cpp: * bindings/js/JSWorkerGlobalScopeBase.cpp: * bindings/js/JSWorkerGlobalScopeBase.h: * bindings/js/JSXMLHttpRequestCustom.cpp: * bindings/js/JSXSLTProcessorCustom.cpp: * bindings/js/ScriptControllerMac.mm: * bindings/js/ScriptProfile.cpp: * bindings/js/ScriptProfile.h: * bindings/js/ScriptProfileNode.h: * bindings/js/ScriptProfiler.cpp: * bindings/js/ScriptProfiler.h: * bindings/js/SerializedScriptValue.cpp: * bindings/js/SerializedScriptValue.h: * bindings/js/WorkerScriptController.cpp: * bindings/js/WorkerScriptController.h: * bindings/objc/DOM.h: * bindings/objc/DOM.mm: * bindings/objc/DOMAbstractView.mm: * bindings/objc/DOMAbstractViewFrame.h: * bindings/objc/DOMCSS.h: * bindings/objc/DOMCSS.mm: * bindings/objc/DOMCore.h: * bindings/objc/DOMCustomXPathNSResolver.h: * bindings/objc/DOMCustomXPathNSResolver.mm: * bindings/objc/DOMEventException.h: * bindings/objc/DOMEvents.h: * bindings/objc/DOMEvents.mm: * bindings/objc/DOMException.h: * bindings/objc/DOMExtensions.h: * bindings/objc/DOMHTML.h: * bindings/objc/DOMHTML.mm: * bindings/objc/DOMInternal.h: * bindings/objc/DOMInternal.mm: * bindings/objc/DOMObject.h: * bindings/objc/DOMObject.mm: * bindings/objc/DOMPrivate.h: * bindings/objc/DOMRangeException.h: * bindings/objc/DOMRanges.h: * bindings/objc/DOMStylesheets.h: * bindings/objc/DOMTraversal.h: * bindings/objc/DOMUIKitExtensions.h: * bindings/objc/DOMUIKitExtensions.mm: * bindings/objc/DOMUtility.mm: * bindings/objc/DOMViews.h: * bindings/objc/DOMXPath.h: * bindings/objc/DOMXPath.mm: * bindings/objc/DOMXPathException.h: * bindings/objc/ExceptionHandlers.h: * bindings/objc/ExceptionHandlers.mm: * bindings/objc/ObjCEventListener.h: * bindings/objc/ObjCEventListener.mm: * bindings/objc/ObjCNodeFilterCondition.h: * bindings/objc/ObjCNodeFilterCondition.mm: * bindings/objc/PublicDOMInterfaces.h: * bindings/objc/WebScriptObject.mm: * bindings/scripts/CodeGeneratorObjC.pm: * bindings/scripts/InFilesCompiler.pm: (license): * bindings/scripts/InFilesParser.pm: * bindings/scripts/generate-bindings.pl: * bindings/scripts/test/ObjC/DOMFloat64Array.h: * bindings/scripts/test/ObjC/DOMFloat64Array.mm: * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.h: * bindings/scripts/test/ObjC/DOMTestActiveDOMObject.mm: * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: * bindings/scripts/test/ObjC/DOMTestCallback.h: * bindings/scripts/test/ObjC/DOMTestCallback.mm: * bindings/scripts/test/ObjC/DOMTestCallbackInternal.h: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: * bindings/scripts/test/ObjC/DOMTestEventTarget.h: * bindings/scripts/test/ObjC/DOMTestEventTarget.mm: * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: * bindings/scripts/test/ObjC/DOMTestException.h: * bindings/scripts/test/ObjC/DOMTestException.mm: * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.h: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachable.mm: * bindings/scripts/test/ObjC/DOMTestGenerateIsReachableInternal.h: * bindings/scripts/test/ObjC/DOMTestInterface.h: * bindings/scripts/test/ObjC/DOMTestInterface.mm: * bindings/scripts/test/ObjC/DOMTestInterfaceInternal.h: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.h: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListener.mm: * bindings/scripts/test/ObjC/DOMTestMediaQueryListListenerInternal.h: * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: * bindings/scripts/test/ObjC/DOMTestNode.h: * bindings/scripts/test/ObjC/DOMTestNode.mm: * bindings/scripts/test/ObjC/DOMTestNodeInternal.h: * bindings/scripts/test/ObjC/DOMTestObj.h: * bindings/scripts/test/ObjC/DOMTestObj.mm: * bindings/scripts/test/ObjC/DOMTestObjInternal.h: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.h: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructors.mm: * bindings/scripts/test/ObjC/DOMTestOverloadedConstructorsInternal.h: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: * bindings/scripts/test/ObjC/DOMTestTypedefs.h: * bindings/scripts/test/ObjC/DOMTestTypedefs.mm: * bindings/scripts/test/ObjC/DOMTestTypedefsInternal.h: * bindings/scripts/test/ObjC/DOMattribute.h: * bindings/scripts/test/ObjC/DOMattribute.mm: * bindings/scripts/test/ObjC/DOMattributeInternal.h: * bindings/scripts/test/ObjC/DOMreadonly.h: * bindings/scripts/test/ObjC/DOMreadonly.mm: * bindings/scripts/test/ObjC/DOMreadonlyInternal.h: * bindings/scripts/test/TestCallback.idl: * bindings/scripts/test/TestCustomNamedGetter.idl: * bindings/scripts/test/TestDomainSecurity.idl: * bindings/scripts/test/TestEventConstructor.idl: * bindings/scripts/test/TestEventTarget.idl: * bindings/scripts/test/TestException.idl: * bindings/scripts/test/TestImplements.idl: * bindings/scripts/test/TestInterface.idl: * bindings/scripts/test/TestMediaQueryListListener.idl: * bindings/scripts/test/TestNamedConstructor.idl: * bindings/scripts/test/TestObj.idl: * bindings/scripts/test/TestOverloadedConstructors.idl: * bindings/scripts/test/TestSupplemental.idl: * bridge/Bridge.h: * bridge/IdentifierRep.cpp: * bridge/IdentifierRep.h: * bridge/NP_jsobject.cpp: * bridge/NP_jsobject.h: * bridge/c/CRuntimeObject.cpp: * bridge/c/CRuntimeObject.h: * bridge/c/c_class.cpp: * bridge/c/c_class.h: * bridge/c/c_instance.cpp: * bridge/c/c_instance.h: * bridge/c/c_runtime.cpp: * bridge/c/c_runtime.h: * bridge/c/c_utility.cpp: * bridge/c/c_utility.h: * bridge/jsc/BridgeJSC.cpp: * bridge/jsc/BridgeJSC.h: * bridge/npruntime.cpp: * bridge/npruntime_impl.h: * bridge/npruntime_priv.h: * bridge/objc/ObjCRuntimeObject.h: * bridge/objc/ObjCRuntimeObject.mm: * bridge/objc/WebScriptObject.h: * bridge/objc/objc_class.h: * bridge/objc/objc_class.mm: * bridge/objc/objc_header.h: * bridge/objc/objc_instance.h: * bridge/objc/objc_instance.mm: * bridge/objc/objc_runtime.h: * bridge/objc/objc_runtime.mm: * bridge/objc/objc_utility.h: * bridge/objc/objc_utility.mm: * bridge/runtime_array.cpp: * bridge/runtime_array.h: * bridge/runtime_method.cpp: * bridge/runtime_method.h: * bridge/runtime_object.cpp: * bridge/runtime_object.h: * bridge/runtime_root.cpp: * bridge/runtime_root.h: * bridge/testbindings.mm: * css/CSSAllInOne.cpp: * css/CSSAspectRatioValue.cpp: * css/CSSAspectRatioValue.h: * css/CSSBorderImageSliceValue.cpp: * css/CSSBorderImageSliceValue.h: * css/CSSCanvasValue.cpp: * css/CSSCanvasValue.h: * css/CSSCrossfadeValue.cpp: * css/CSSCrossfadeValue.h: * css/CSSFontFace.cpp: * css/CSSFontFace.h: * css/CSSFontFaceSource.cpp: * css/CSSFontFaceSource.h: * css/CSSFontFaceSrcValue.cpp: * css/CSSFontFaceSrcValue.h: * css/CSSFontFeatureValue.cpp: * css/CSSFontFeatureValue.h: * css/CSSFontSelector.cpp: * css/CSSFontSelector.h: * css/CSSFontValue.cpp: * css/CSSGradientValue.cpp: * css/CSSGradientValue.h: * css/CSSImageGeneratorValue.cpp: * css/CSSImageGeneratorValue.h: * css/CSSMediaRule.cpp: * css/CSSProperty.cpp: * css/CSSProperty.h: * css/CSSReflectValue.cpp: * css/CSSReflectValue.h: * css/CSSReflectionDirection.h: * css/CSSRuleList.cpp: * css/CSSRuleList.h: * css/CSSRuleList.idl: * css/CSSSegmentedFontFace.cpp: * css/CSSSegmentedFontFace.h: * css/CSSShadowValue.cpp: * css/CSSTimingFunctionValue.cpp: * css/CSSTimingFunctionValue.h: * css/CSSUnicodeRangeValue.cpp: * css/CSSUnicodeRangeValue.h: * css/CSSUnknownRule.idl: * css/CSSValue.cpp: * css/CSSValueList.idl: * css/MediaAllInOne.cpp: * css/MediaFeatureNames.cpp: * css/MediaList.idl: * css/MediaQuery.cpp: * css/MediaQuery.h: * css/MediaQueryEvaluator.cpp: * css/MediaQueryEvaluator.h: * css/MediaQueryExp.cpp: * css/MediaQueryExp.h: * css/Pair.h: * css/PropertySetCSSStyleDeclaration.h: * css/RGBColor.cpp: * css/RGBColor.h: * css/SVGCSSParser.cpp: * css/SVGCSSStyleSelector.cpp: * css/StyleInvalidationAnalysis.cpp: * css/StyleInvalidationAnalysis.h: * css/StyleMedia.cpp: * css/StyleMedia.h: * css/StyleMedia.idl: * css/StyleSheet.cpp: * css/WebKitCSSFilterValue.cpp: * css/WebKitCSSFilterValue.h: * css/WebKitCSSFilterValue.idl: * css/WebKitCSSKeyframeRule.cpp: * css/WebKitCSSKeyframeRule.h: * css/WebKitCSSKeyframeRule.idl: * css/WebKitCSSKeyframesRule.cpp: * css/WebKitCSSKeyframesRule.h: * css/WebKitCSSKeyframesRule.idl: * css/WebKitCSSTransformValue.cpp: * css/WebKitCSSTransformValue.h: * css/WebKitCSSTransformValue.idl: * css/make-css-file-arrays.pl: * css/mediaControls.css: * css/mediaControlsEfl.css: * css/mediaControlsEflFullscreen.css: * css/mediaControlsGtk.css: * css/mediaControlsiOS.css: * css/svg.css: * dom/ActiveDOMObject.cpp: * dom/ActiveDOMObject.h: * dom/BeforeLoadEvent.h: * dom/BeforeLoadEvent.idl: * dom/BeforeTextInsertedEvent.cpp: * dom/BeforeTextInsertedEvent.h: * dom/BeforeUnloadEvent.cpp: * dom/BeforeUnloadEvent.h: * dom/BeforeUnloadEvent.idl: * dom/ClassNodeList.cpp: * dom/ClassNodeList.h: * dom/ClientRect.cpp: * dom/ClientRect.h: * dom/ClientRect.idl: * dom/ClientRectList.cpp: * dom/ClientRectList.h: * dom/ClientRectList.idl: * dom/Clipboard.cpp: * dom/Clipboard.idl: * dom/ClipboardAccessPolicy.h: * dom/ClipboardMac.mm: * dom/CompositionEvent.cpp: * dom/CompositionEvent.h: * dom/CompositionEvent.idl: * dom/ContextDestructionObserver.cpp: * dom/ContextDestructionObserver.h: * dom/CurrentScriptIncrementer.h: * dom/CustomEvent.cpp: * dom/CustomEvent.h: * dom/CustomEvent.idl: * dom/DOMCoreException.cpp: * dom/DOMCoreException.h: * dom/DOMCoreException.idl: * dom/DOMError.idl: * dom/DeviceMotionEvent.cpp: * dom/DeviceMotionEvent.h: * dom/DeviceMotionEvent.idl: * dom/DocumentEventQueue.cpp: * dom/DocumentEventQueue.h: * dom/DocumentMarker.h: * dom/DocumentParser.h: * dom/DocumentSharedObjectPool.cpp: * dom/DocumentSharedObjectPool.h: * dom/Entity.idl: * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventException.cpp: * dom/EventException.h: * dom/EventException.idl: * dom/EventListener.idl: * dom/EventListenerMap.cpp: * dom/EventListenerMap.h: * dom/EventNames.cpp: * dom/EventQueue.h: * dom/EventTarget.cpp: * dom/EventTarget.h: * dom/ExceptionBase.cpp: * dom/ExceptionBase.h: * dom/GenericEventQueue.cpp: * dom/GenericEventQueue.h: * dom/KeyboardEvent.idl: * dom/MessageChannel.cpp: * dom/MessageChannel.h: * dom/MessageChannel.idl: * dom/MessageEvent.cpp: * dom/MessageEvent.h: * dom/MessageEvent.idl: * dom/MessagePort.cpp: * dom/MessagePort.h: * dom/MessagePort.idl: * dom/MouseRelatedEvent.h: * dom/MutationEvent.idl: * dom/Notation.idl: * dom/OverflowEvent.cpp: * dom/OverflowEvent.h: * dom/OverflowEvent.idl: * dom/PopStateEvent.cpp: * dom/PopStateEvent.h: * dom/PopStateEvent.idl: * dom/Position.cpp: * dom/Position.h: * dom/ProcessingInstruction.idl: * dom/ProgressEvent.cpp: * dom/ProgressEvent.h: * dom/ProgressEvent.idl: * dom/Range.idl: * dom/RangeException.cpp: * dom/RangeException.h: * dom/ScriptExecutionContext.cpp: * dom/ScriptExecutionContext.h: * dom/SecurityContext.cpp: * dom/SecurityContext.h: * dom/StaticNodeList.cpp: * dom/StaticNodeList.h: * dom/Text.idl: * dom/TextEvent.cpp: * dom/TextEvent.h: * dom/TextEvent.idl: * dom/Touch.cpp: * dom/Touch.h: * dom/Touch.idl: * dom/TouchEvent.cpp: * dom/TouchEvent.h: * dom/TouchEvent.idl: * dom/TouchList.cpp: * dom/TouchList.h: * dom/TouchList.idl: * dom/TransitionEvent.cpp: * dom/TransitionEvent.h: * dom/TransitionEvent.idl: * dom/TreeWalker.idl: * dom/UIEvent.idl: * dom/UIEventWithKeyState.cpp: * dom/WebKitAnimationEvent.cpp: * dom/WebKitAnimationEvent.h: * dom/WebKitAnimationEvent.idl: * dom/WebKitTransitionEvent.cpp: * dom/WebKitTransitionEvent.h: * dom/WebKitTransitionEvent.idl: * dom/make_dom_exceptions.pl: * dom/make_event_factory.pl: * dom/make_names.pl: (printLicenseHeader): * editing/AlternativeTextController.cpp: * editing/AlternativeTextController.h: * editing/AppendNodeCommand.cpp: * editing/AppendNodeCommand.h: * editing/ApplyStyleCommand.cpp: * editing/ApplyStyleCommand.h: * editing/BreakBlockquoteCommand.cpp: * editing/BreakBlockquoteCommand.h: * editing/CompositeEditCommand.cpp: * editing/CompositeEditCommand.h: * editing/CreateLinkCommand.cpp: * editing/CreateLinkCommand.h: * editing/DeleteButton.cpp: * editing/DeleteButton.h: * editing/DeleteButtonController.cpp: * editing/DeleteButtonController.h: * editing/DeleteFromTextNodeCommand.cpp: * editing/DeleteFromTextNodeCommand.h: * editing/DeleteSelectionCommand.cpp: * editing/DeleteSelectionCommand.h: * editing/EditAction.h: * editing/EditCommand.cpp: * editing/EditCommand.h: * editing/EditingBoundary.h: * editing/EditingStyle.cpp: * editing/Editor.cpp: * editing/Editor.h: * editing/EditorCommand.cpp: * editing/EditorDeleteAction.h: * editing/EditorInsertAction.h: * editing/FormatBlockCommand.cpp: * editing/FormatBlockCommand.h: * editing/FrameSelection.cpp: * editing/FrameSelection.h: * editing/HTMLInterchange.cpp: * editing/HTMLInterchange.h: * editing/IndentOutdentCommand.cpp: * editing/IndentOutdentCommand.h: * editing/InsertIntoTextNodeCommand.cpp: * editing/InsertIntoTextNodeCommand.h: * editing/InsertLineBreakCommand.cpp: * editing/InsertLineBreakCommand.h: * editing/InsertListCommand.cpp: * editing/InsertListCommand.h: * editing/InsertNodeBeforeCommand.cpp: * editing/InsertNodeBeforeCommand.h: * editing/InsertParagraphSeparatorCommand.cpp: * editing/InsertParagraphSeparatorCommand.h: * editing/InsertTextCommand.cpp: * editing/InsertTextCommand.h: * editing/MarkupAccumulator.h: * editing/MergeIdenticalElementsCommand.cpp: * editing/MergeIdenticalElementsCommand.h: * editing/ModifySelectionListLevel.cpp: * editing/ModifySelectionListLevel.h: * editing/MoveSelectionCommand.cpp: * editing/MoveSelectionCommand.h: * editing/RemoveCSSPropertyCommand.cpp: * editing/RemoveCSSPropertyCommand.h: * editing/RemoveFormatCommand.cpp: * editing/RemoveFormatCommand.h: * editing/RemoveNodeCommand.cpp: * editing/RemoveNodeCommand.h: * editing/RemoveNodePreservingChildrenCommand.cpp: * editing/RemoveNodePreservingChildrenCommand.h: * editing/ReplaceSelectionCommand.cpp: * editing/ReplaceSelectionCommand.h: * editing/SetNodeAttributeCommand.cpp: * editing/SetNodeAttributeCommand.h: * editing/SetSelectionCommand.cpp: * editing/SetSelectionCommand.h: * editing/SimplifyMarkupCommand.cpp: * editing/SimplifyMarkupCommand.h: * editing/SmartReplace.cpp: * editing/SmartReplace.h: * editing/SmartReplaceCF.cpp: * editing/SpellChecker.cpp: * editing/SpellChecker.h: * editing/SpellingCorrectionCommand.cpp: * editing/SpellingCorrectionCommand.h: * editing/SplitElementCommand.cpp: * editing/SplitElementCommand.h: * editing/SplitTextNodeCommand.cpp: * editing/SplitTextNodeCommand.h: * editing/SplitTextNodeContainingElementCommand.cpp: * editing/SplitTextNodeContainingElementCommand.h: * editing/TextAffinity.h: * editing/TextCheckingHelper.cpp: * editing/TextGranularity.h: * editing/TextIterator.cpp: * editing/TextIterator.h: * editing/TextIteratorBehavior.h: * editing/TypingCommand.cpp: * editing/TypingCommand.h: * editing/UnlinkCommand.cpp: * editing/UnlinkCommand.h: * editing/VisiblePosition.cpp: * editing/VisiblePosition.h: * editing/VisibleSelection.cpp: * editing/VisibleSelection.h: * editing/VisibleUnits.cpp: * editing/VisibleUnits.h: * editing/WrapContentsInDummySpanCommand.cpp: * editing/WrapContentsInDummySpanCommand.h: * editing/WritingDirection.h: * editing/efl/EditorEfl.cpp: * editing/htmlediting.cpp: * editing/htmlediting.h: * editing/mac/EditorMac.mm: * editing/mac/FrameSelectionMac.mm: * editing/markup.cpp: * editing/markup.h: * extract-localizable-strings.pl: * fileapi/FileException.cpp: * history/BackForwardClient.h: * history/BackForwardList.cpp: * history/BackForwardList.h: * history/CachedFrame.cpp: * history/CachedFrame.h: * history/CachedFramePlatformData.h: * history/CachedPage.cpp: * history/CachedPage.h: * history/HistoryItem.cpp: * history/HistoryItem.h: * history/PageCache.cpp: * history/PageCache.h: * history/mac/HistoryItemMac.mm: * html/FTPDirectoryDocument.cpp: * html/FTPDirectoryDocument.h: * html/HTMLAudioElement.cpp: * html/HTMLAudioElement.h: * html/HTMLAudioElement.idl: * html/HTMLCanvasElement.cpp: * html/HTMLCanvasElement.h: * html/HTMLCanvasElement.idl: * html/HTMLFieldSetElement.idl: * html/HTMLImageLoader.h: * html/HTMLMediaElement.cpp: * html/HTMLMediaElement.h: * html/HTMLMediaElement.idl: * html/HTMLOptionsCollection.cpp: * html/HTMLPlugInElement.cpp: * html/HTMLSourceElement.cpp: * html/HTMLSourceElement.h: * html/HTMLSourceElement.idl: * html/HTMLTablePartElement.cpp: * html/HTMLTableRowsCollection.cpp: * html/HTMLTableRowsCollection.h: * html/HTMLTitleElement.idl: * html/HTMLTrackElement.cpp: * html/HTMLTrackElement.h: * html/HTMLTrackElement.idl: * html/HTMLVideoElement.cpp: * html/HTMLVideoElement.h: * html/HTMLVideoElement.idl: * html/ImageData.cpp: * html/ImageData.h: * html/ImageData.idl: * html/ImageDocument.cpp: * html/ImageDocument.h: * html/MediaController.cpp: * html/MediaController.h: * html/MediaController.idl: * html/MediaControllerInterface.h: * html/MediaError.h: * html/MediaError.idl: * html/MediaFragmentURIParser.cpp: * html/MediaFragmentURIParser.h: * html/MediaKeyError.h: * html/MediaKeyError.idl: * html/MediaKeyEvent.cpp: * html/MediaKeyEvent.h: * html/MediaKeyEvent.idl: * html/PluginDocument.cpp: * html/PluginDocument.h: * html/TextDocument.cpp: * html/TextDocument.h: * html/TimeRanges.cpp: * html/TimeRanges.h: * html/TimeRanges.idl: * html/VoidCallback.h: * html/VoidCallback.idl: * html/canvas/CanvasGradient.cpp: * html/canvas/CanvasGradient.h: * html/canvas/CanvasGradient.idl: * html/canvas/CanvasPattern.cpp: * html/canvas/CanvasPattern.h: * html/canvas/CanvasPattern.idl: * html/canvas/CanvasRenderingContext.cpp: * html/canvas/CanvasRenderingContext.h: * html/canvas/CanvasRenderingContext.idl: * html/canvas/CanvasRenderingContext2D.cpp: * html/canvas/CanvasRenderingContext2D.h: * html/canvas/CanvasRenderingContext2D.idl: * html/canvas/CanvasStyle.cpp: * html/canvas/CanvasStyle.h: * html/canvas/DOMPath.idl: * html/canvas/OESVertexArrayObject.cpp: * html/canvas/OESVertexArrayObject.h: * html/canvas/OESVertexArrayObject.idl: * html/canvas/WebGLBuffer.cpp: * html/canvas/WebGLBuffer.h: * html/canvas/WebGLBuffer.idl: * html/canvas/WebGLContextGroup.cpp: * html/canvas/WebGLContextGroup.h: * html/canvas/WebGLContextObject.cpp: * html/canvas/WebGLContextObject.h: * html/canvas/WebGLFramebuffer.cpp: * html/canvas/WebGLFramebuffer.h: * html/canvas/WebGLFramebuffer.idl: * html/canvas/WebGLObject.cpp: * html/canvas/WebGLObject.h: * html/canvas/WebGLProgram.cpp: * html/canvas/WebGLProgram.h: * html/canvas/WebGLProgram.idl: * html/canvas/WebGLRenderbuffer.cpp: * html/canvas/WebGLRenderbuffer.h: * html/canvas/WebGLRenderbuffer.idl: * html/canvas/WebGLRenderingContext.cpp: * html/canvas/WebGLRenderingContext.h: * html/canvas/WebGLRenderingContext.idl: * html/canvas/WebGLShader.cpp: * html/canvas/WebGLShader.h: * html/canvas/WebGLShader.idl: * html/canvas/WebGLSharedObject.cpp: * html/canvas/WebGLSharedObject.h: * html/canvas/WebGLTexture.cpp: * html/canvas/WebGLTexture.h: * html/canvas/WebGLTexture.idl: * html/canvas/WebGLUniformLocation.cpp: * html/canvas/WebGLUniformLocation.h: * html/canvas/WebGLUniformLocation.idl: * html/canvas/WebGLVertexArrayObjectOES.cpp: * html/canvas/WebGLVertexArrayObjectOES.h: * html/canvas/WebGLVertexArrayObjectOES.idl: * html/forms/FileIconLoader.cpp: * html/forms/FileIconLoader.h: * html/parser/TextDocumentParser.cpp: * html/parser/TextDocumentParser.h: * html/shadow/MediaControlElementTypes.cpp: * html/shadow/MediaControlElementTypes.h: * html/shadow/MediaControlElements.cpp: * html/shadow/MediaControlElements.h: * html/shadow/MediaControls.cpp: * html/shadow/MediaControls.h: * html/shadow/MediaControlsApple.cpp: * html/shadow/MediaControlsApple.h: * html/shadow/MediaControlsGtk.cpp: * html/shadow/MediaControlsGtk.h: * html/shadow/SpinButtonElement.cpp: * html/shadow/SpinButtonElement.h: * html/shadow/TextControlInnerElements.cpp: * html/shadow/TextControlInnerElements.h: * html/track/AudioTrack.h: * html/track/AudioTrack.idl: * html/track/AudioTrackList.cpp: * html/track/AudioTrackList.h: * html/track/AudioTrackList.idl: * html/track/DataCue.cpp: * html/track/DataCue.h: * html/track/DataCue.idl: * html/track/InbandGenericTextTrack.cpp: * html/track/InbandGenericTextTrack.h: * html/track/InbandTextTrack.cpp: * html/track/InbandTextTrack.h: * html/track/InbandWebVTTTextTrack.cpp: * html/track/InbandWebVTTTextTrack.h: * html/track/LoadableTextTrack.cpp: * html/track/LoadableTextTrack.h: * html/track/TextTrack.h: * html/track/TextTrack.idl: * html/track/TextTrackCue.idl: * html/track/TextTrackCueGeneric.cpp: * html/track/TextTrackCueGeneric.h: * html/track/TextTrackCueList.cpp: * html/track/TextTrackCueList.h: * html/track/TextTrackCueList.idl: * html/track/TextTrackList.cpp: * html/track/TextTrackList.h: * html/track/TextTrackList.idl: * html/track/TextTrackRegion.idl: * html/track/TextTrackRegionList.cpp: * html/track/TextTrackRegionList.h: * html/track/TextTrackRegionList.idl: * html/track/TrackBase.cpp: * html/track/TrackBase.h: * html/track/TrackEvent.cpp: * html/track/TrackEvent.h: * html/track/TrackEvent.idl: * html/track/TrackListBase.cpp: * html/track/TrackListBase.h: * html/track/VTTCue.idl: * html/track/VideoTrack.h: * html/track/VideoTrack.idl: * html/track/VideoTrackList.cpp: * html/track/VideoTrackList.h: * html/track/VideoTrackList.idl: * html/track/WebVTTElement.cpp: * html/track/WebVTTElement.h: * inspector/CommandLineAPIHost.cpp: * inspector/CommandLineAPIHost.h: * inspector/CommandLineAPIModuleSource.js: * inspector/InspectorAllInOne.cpp: * inspector/InspectorClient.h: * inspector/InspectorDOMAgent.cpp: * inspector/InspectorDOMAgent.h: * inspector/InspectorDOMStorageAgent.cpp: * inspector/InspectorDOMStorageAgent.h: * inspector/InspectorDatabaseAgent.cpp: * inspector/InspectorDatabaseAgent.h: * inspector/InspectorDatabaseResource.cpp: * inspector/InspectorDatabaseResource.h: * inspector/InspectorForwarding.h: * inspector/InspectorFrontendHost.cpp: * inspector/InspectorFrontendHost.h: * inspector/InspectorLayerTreeAgent.h: * inspector/InspectorNodeFinder.cpp: * inspector/InspectorNodeFinder.h: * inspector/InspectorOverlay.cpp: * inspector/InspectorOverlay.h: * inspector/InspectorOverlayPage.html: * inspector/InspectorProfilerAgent.cpp: * inspector/InspectorProfilerAgent.h: * inspector/ScriptProfile.idl: * inspector/ScriptProfileNode.idl: * loader/CookieJar.h: * loader/CrossOriginAccessControl.cpp: * loader/CrossOriginAccessControl.h: * loader/CrossOriginPreflightResultCache.cpp: * loader/CrossOriginPreflightResultCache.h: * loader/DocumentLoader.cpp: * loader/DocumentLoader.h: * loader/DocumentWriter.cpp: * loader/EmptyClients.h: * loader/FormState.cpp: * loader/FormState.h: * loader/FrameLoadRequest.h: * loader/FrameLoader.cpp: * loader/FrameLoader.h: * loader/FrameLoaderClient.h: * loader/FrameLoaderTypes.h: * loader/HistoryController.cpp: * loader/HistoryController.h: * loader/MixedContentChecker.cpp: * loader/NavigationAction.cpp: * loader/NavigationAction.h: * loader/NavigationScheduler.cpp: * loader/NavigationScheduler.h: * loader/NetscapePlugInStreamLoader.cpp: * loader/NetscapePlugInStreamLoader.h: * loader/PolicyCallback.cpp: * loader/PolicyCallback.h: * loader/PolicyChecker.cpp: * loader/PolicyChecker.h: * loader/ProgressTracker.cpp: * loader/ProgressTracker.h: * loader/ResourceBuffer.cpp: * loader/ResourceBuffer.h: * loader/ResourceLoadNotifier.cpp: * loader/ResourceLoadNotifier.h: * loader/ResourceLoader.cpp: * loader/ResourceLoader.h: * loader/SinkDocument.cpp: * loader/SinkDocument.h: * loader/SubframeLoader.cpp: * loader/SubframeLoader.h: * loader/SubresourceLoader.cpp: * loader/SubresourceLoader.h: * loader/SubstituteData.h: * loader/TextTrackLoader.cpp: * loader/appcache/ApplicationCacheAllInOne.cpp: * loader/archive/Archive.cpp: * loader/archive/Archive.h: * loader/archive/ArchiveFactory.cpp: * loader/archive/ArchiveFactory.h: * loader/archive/ArchiveResource.cpp: * loader/archive/ArchiveResource.h: * loader/archive/ArchiveResourceCollection.cpp: * loader/archive/ArchiveResourceCollection.h: * loader/archive/cf/LegacyWebArchive.cpp: * loader/archive/cf/LegacyWebArchive.h: * loader/archive/cf/LegacyWebArchiveMac.mm: * loader/cache/CachePolicy.h: * loader/cache/CachedCSSStyleSheet.cpp: * loader/cache/CachedFont.cpp: * loader/cache/CachedFont.h: * loader/cache/CachedResourceRequest.cpp: * loader/cache/CachedResourceRequest.h: * loader/cache/CachedResourceRequestInitiators.cpp: * loader/cache/CachedResourceRequestInitiators.h: * loader/cf/ResourceLoaderCFNet.cpp: * loader/icon/IconController.cpp: * loader/icon/IconController.h: * loader/icon/IconDatabase.cpp: * loader/icon/IconDatabase.h: * loader/icon/IconDatabaseBase.cpp: * loader/icon/IconDatabaseBase.h: * loader/icon/IconDatabaseClient.h: * loader/icon/IconLoader.cpp: * loader/icon/IconLoader.h: * loader/icon/IconRecord.cpp: * loader/icon/IconRecord.h: * loader/icon/PageURLRecord.cpp: * loader/icon/PageURLRecord.h: * loader/mac/DocumentLoaderMac.cpp: * loader/mac/LoaderNSURLExtras.h: * loader/mac/LoaderNSURLExtras.mm: * loader/mac/ResourceBuffer.mm: * loader/mac/ResourceLoaderMac.mm: * loader/win/DocumentLoaderWin.cpp: * loader/win/FrameLoaderWin.cpp: * mathml/MathMLAllInOne.cpp: * page/AbstractView.idl: * page/AlternativeTextClient.h: * page/AutoscrollController.cpp: * page/AutoscrollController.h: * page/BarProp.cpp: * page/BarProp.h: * page/BarProp.idl: * page/ContentSecurityPolicy.cpp: * page/ContentSecurityPolicy.h: * page/ContextMenuClient.h: * page/ContextMenuContext.cpp: * page/ContextMenuContext.h: * page/ContextMenuController.cpp: * page/ContextMenuController.h: * page/DOMSecurityPolicy.cpp: * page/DOMSecurityPolicy.h: * page/DOMSelection.cpp: * page/DOMSelection.h: * page/DOMSelection.idl: * page/DOMTimer.cpp: * page/DOMTimer.h: * page/DOMWindow.cpp: * page/DOMWindow.h: * page/DOMWindow.idl: * page/DragActions.h: * page/DragClient.h: * page/DragController.cpp: * page/DragController.h: * page/DragSession.h: * page/DragState.h: * page/EditorClient.h: * page/EventHandler.cpp: * page/EventHandler.h: * page/FocusController.cpp: * page/FocusController.h: * page/FocusDirection.h: * page/FrameTree.h: * page/GestureTapHighlighter.cpp: * page/GestureTapHighlighter.h: * page/History.cpp: * page/History.h: * page/History.idl: * page/Location.cpp: * page/Location.h: * page/Location.idl: * page/MouseEventWithHitTestResults.cpp: * page/MouseEventWithHitTestResults.h: * page/Navigator.cpp: * page/NavigatorBase.cpp: * page/NavigatorBase.h: * page/PageConsole.cpp: * page/PageConsole.h: * page/Screen.cpp: * page/Screen.h: * page/Screen.idl: * page/SecurityOrigin.cpp: * page/SecurityOrigin.h: * page/SecurityOriginHash.h: * page/Settings.cpp: * page/Settings.h: * page/SpatialNavigation.cpp: * page/SuspendableTimer.cpp: * page/SuspendableTimer.h: * page/UserContentTypes.h: * page/UserContentURLPattern.cpp: * page/UserContentURLPattern.h: * page/UserScript.h: * page/UserScriptTypes.h: * page/UserStyleSheet.h: * page/UserStyleSheetTypes.h: * page/WebCoreKeyboardUIMode.h: * page/WebKitPoint.h: * page/WebKitPoint.idl: * page/WindowBase64.idl: * page/WindowFeatures.h: * page/WindowFocusAllowedIndicator.cpp: * page/WindowFocusAllowedIndicator.h: * page/WindowTimers.idl: * page/WorkerNavigator.cpp: * page/WorkerNavigator.h: * page/WorkerNavigator.idl: * page/animation/AnimationBase.cpp: * page/animation/AnimationBase.h: * page/animation/AnimationController.cpp: * page/animation/AnimationController.h: * page/animation/AnimationControllerPrivate.h: * page/animation/CSSPropertyAnimation.cpp: * page/animation/CSSPropertyAnimation.h: * page/animation/CompositeAnimation.cpp: * page/animation/CompositeAnimation.h: * page/animation/ImplicitAnimation.cpp: * page/animation/ImplicitAnimation.h: * page/animation/KeyframeAnimation.cpp: * page/animation/KeyframeAnimation.h: * page/efl/DragControllerEfl.cpp: * page/efl/EventHandlerEfl.cpp: * page/gtk/DragControllerGtk.cpp: * page/gtk/EventHandlerGtk.cpp: * page/ios/EventHandlerIOS.mm: * page/mac/DragControllerMac.mm: * page/mac/EventHandlerMac.mm: * page/mac/PageMac.cpp: * page/mac/WebCoreFrameView.h: * page/make_settings.pl: * page/win/DragControllerWin.cpp: * page/win/EventHandlerWin.cpp: * page/win/FrameCGWin.cpp: * page/win/FrameCairoWin.cpp: * page/win/FrameGdiWin.cpp: * page/win/FrameWin.cpp: * page/win/FrameWin.h: * pdf/ios/PDFDocument.h: * platform/Clock.cpp: * platform/Clock.h: * platform/ClockGeneric.cpp: * platform/ClockGeneric.h: * platform/ColorChooser.h: * platform/ColorChooserClient.h: * platform/ContentType.cpp: * platform/ContentType.h: * platform/ContextMenu.h: * platform/ContextMenuItem.h: * platform/Cookie.h: * platform/Cursor.h: * platform/DragData.cpp: * platform/DragData.h: * platform/DragImage.cpp: * platform/DragImage.h: * platform/FileChooser.cpp: * platform/FileChooser.h: * platform/FileSystem.h: * platform/FloatConversion.h: * platform/KillRing.h: * platform/LinkHash.h: * platform/LocalizedStrings.cpp: * platform/LocalizedStrings.h: * platform/Logging.cpp: * platform/Logging.h: * platform/MIMETypeRegistry.cpp: * platform/MIMETypeRegistry.h: * platform/MediaDescription.h: * platform/MediaSample.h: * platform/NotImplemented.h: * platform/PODFreeListArena.h: * platform/Pasteboard.h: * platform/PasteboardStrategy.h: * platform/PlatformExportMacros.h: * platform/PlatformKeyboardEvent.h: * platform/PlatformMenuDescription.h: * platform/PlatformMouseEvent.h: * platform/PlatformPasteboard.h: * platform/PlatformScreen.h: * platform/PlatformSpeechSynthesis.h: * platform/PlatformSpeechSynthesisUtterance.cpp: * platform/PlatformSpeechSynthesisUtterance.h: * platform/PlatformSpeechSynthesisVoice.cpp: * platform/PlatformSpeechSynthesisVoice.h: * platform/PlatformSpeechSynthesizer.cpp: * platform/PlatformSpeechSynthesizer.h: * platform/PlatformWheelEvent.h: * platform/PopupMenuClient.h: * platform/RemoteCommandListener.cpp: * platform/RemoteCommandListener.h: * platform/SSLKeyGenerator.h: * platform/SchemeRegistry.cpp: * platform/SchemeRegistry.h: * platform/ScrollTypes.h: * platform/ScrollView.cpp: * platform/ScrollView.h: * platform/Scrollbar.cpp: * platform/Scrollbar.h: * platform/SharedBuffer.cpp: * platform/SharedBuffer.h: * platform/SharedTimer.h: * platform/Sound.h: * platform/ThreadCheck.h: * platform/ThreadGlobalData.cpp: * platform/ThreadGlobalData.h: * platform/ThreadTimers.cpp: * platform/ThreadTimers.h: * platform/Timer.cpp: * platform/Timer.h: * platform/URL.cpp: * platform/URL.h: * platform/Widget.cpp: * platform/Widget.h: * platform/animation/AnimationUtilities.h: * platform/audio/AudioArray.h: * platform/audio/AudioBus.cpp: * platform/audio/AudioBus.h: * platform/audio/AudioChannel.cpp: * platform/audio/AudioChannel.h: * platform/audio/AudioDestination.h: * platform/audio/AudioFIFO.cpp: * platform/audio/AudioFIFO.h: * platform/audio/AudioFileReader.h: * platform/audio/AudioIOCallback.h: * platform/audio/AudioPullFIFO.cpp: * platform/audio/AudioPullFIFO.h: * platform/audio/AudioSourceProvider.h: * platform/audio/Biquad.cpp: * platform/audio/Biquad.h: * platform/audio/Cone.cpp: * platform/audio/Cone.h: * platform/audio/DirectConvolver.cpp: * platform/audio/DirectConvolver.h: * platform/audio/Distance.cpp: * platform/audio/Distance.h: * platform/audio/DownSampler.cpp: * platform/audio/DownSampler.h: * platform/audio/DynamicsCompressor.cpp: * platform/audio/DynamicsCompressor.h: * platform/audio/DynamicsCompressorKernel.cpp: * platform/audio/DynamicsCompressorKernel.h: * platform/audio/FFTConvolver.cpp: * platform/audio/FFTConvolver.h: * platform/audio/FFTFrame.cpp: * platform/audio/FFTFrame.h: * platform/audio/HRTFDatabase.cpp: * platform/audio/HRTFDatabase.h: * platform/audio/HRTFDatabaseLoader.cpp: * platform/audio/HRTFDatabaseLoader.h: * platform/audio/HRTFElevation.cpp: * platform/audio/HRTFElevation.h: * platform/audio/HRTFKernel.cpp: * platform/audio/HRTFKernel.h: * platform/audio/MultiChannelResampler.cpp: * platform/audio/MultiChannelResampler.h: * platform/audio/Panner.cpp: * platform/audio/Panner.h: * platform/audio/Reverb.cpp: * platform/audio/Reverb.h: * platform/audio/ReverbAccumulationBuffer.cpp: * platform/audio/ReverbAccumulationBuffer.h: * platform/audio/ReverbConvolver.cpp: * platform/audio/ReverbConvolver.h: * platform/audio/ReverbConvolverStage.cpp: * platform/audio/ReverbConvolverStage.h: * platform/audio/ReverbInputBuffer.cpp: * platform/audio/ReverbInputBuffer.h: * platform/audio/SincResampler.cpp: * platform/audio/SincResampler.h: * platform/audio/UpSampler.cpp: * platform/audio/UpSampler.h: * platform/audio/ZeroPole.cpp: * platform/audio/ZeroPole.h: * platform/audio/ios/AudioDestinationIOS.cpp: * platform/audio/ios/AudioDestinationIOS.h: * platform/audio/ios/AudioFileReaderIOS.cpp: * platform/audio/ios/AudioFileReaderIOS.h: * platform/audio/mac/AudioDestinationMac.cpp: * platform/audio/mac/AudioDestinationMac.h: * platform/audio/mac/AudioFileReaderMac.cpp: * platform/audio/mac/AudioFileReaderMac.h: * platform/audio/mac/FFTFrameMac.cpp: * platform/cf/FileSystemCF.cpp: * platform/cf/SharedBufferCF.cpp: * platform/cf/URLCF.cpp: * platform/cocoa/KeyEventCocoa.h: * platform/cocoa/KeyEventCocoa.mm: * platform/efl/CursorEfl.cpp: * platform/efl/EflKeyboardUtilities.cpp: * platform/efl/EflKeyboardUtilities.h: * platform/efl/FileSystemEfl.cpp: * platform/efl/LanguageEfl.cpp: * platform/efl/LocalizedStringsEfl.cpp: * platform/efl/MIMETypeRegistryEfl.cpp: * platform/efl/PlatformKeyboardEventEfl.cpp: * platform/efl/PlatformMouseEventEfl.cpp: * platform/efl/PlatformScreenEfl.cpp: * platform/efl/PlatformWheelEventEfl.cpp: * platform/efl/RenderThemeEfl.h: * platform/efl/ScrollbarEfl.h: * platform/efl/SharedTimerEfl.cpp: * platform/efl/SoundEfl.cpp: * platform/efl/TemporaryLinkStubs.cpp: * platform/efl/WidgetEfl.cpp: * platform/graphics/ANGLEWebKitBridge.cpp: * platform/graphics/ANGLEWebKitBridge.h: * platform/graphics/AudioTrackPrivate.h: * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Color.cpp: * platform/graphics/Color.h: * platform/graphics/CrossfadeGeneratedImage.cpp: * platform/graphics/CrossfadeGeneratedImage.h: * platform/graphics/DashArray.h: * platform/graphics/DisplayRefreshMonitor.cpp: * platform/graphics/DisplayRefreshMonitor.h: * platform/graphics/FloatPoint.cpp: * platform/graphics/FloatPoint.h: * platform/graphics/FloatQuad.cpp: * platform/graphics/FloatQuad.h: * platform/graphics/FloatRect.cpp: * platform/graphics/FloatRect.h: * platform/graphics/FloatSize.cpp: * platform/graphics/FloatSize.h: * platform/graphics/FontBaseline.h: * platform/graphics/FontCache.cpp: * platform/graphics/FontCache.h: * platform/graphics/FontData.cpp: * platform/graphics/FontData.h: * platform/graphics/FontDescription.cpp: * platform/graphics/FontFeatureSettings.cpp: * platform/graphics/FontFeatureSettings.h: * platform/graphics/FontGlyphs.cpp: * platform/graphics/FontOrientation.h: * platform/graphics/FontRenderingMode.h: * platform/graphics/FontSelector.h: * platform/graphics/FontWidthVariant.h: * platform/graphics/FormatConverter.cpp: * platform/graphics/FormatConverter.h: * platform/graphics/GeneratedImage.h: * platform/graphics/Glyph.h: * platform/graphics/GlyphBuffer.h: * platform/graphics/GlyphMetricsMap.h: * platform/graphics/GlyphPage.h: * platform/graphics/GlyphPageTreeNode.cpp: * platform/graphics/GlyphPageTreeNode.h: * platform/graphics/Gradient.cpp: * platform/graphics/Gradient.h: * platform/graphics/GradientImage.h: * platform/graphics/GraphicsContext.h: * platform/graphics/GraphicsContext3D.cpp: * platform/graphics/GraphicsContext3D.h: * platform/graphics/GraphicsLayer.cpp: * platform/graphics/GraphicsLayer.h: * platform/graphics/GraphicsLayerClient.h: * platform/graphics/GraphicsTypes.cpp: * platform/graphics/GraphicsTypes.h: * platform/graphics/GraphicsTypes3D.h: * platform/graphics/Image.cpp: * platform/graphics/Image.h: * platform/graphics/ImageBuffer.cpp: * platform/graphics/ImageBuffer.h: * platform/graphics/ImageBufferData.h: * platform/graphics/ImageObserver.h: * platform/graphics/ImageSource.cpp: * platform/graphics/ImageSource.h: * platform/graphics/InbandTextTrackPrivate.h: * platform/graphics/InbandTextTrackPrivateClient.h: * platform/graphics/IntPoint.cpp: * platform/graphics/IntPoint.h: * platform/graphics/IntSize.cpp: * platform/graphics/IntSize.h: * platform/graphics/MediaPlayer.cpp: * platform/graphics/MediaPlayer.h: * platform/graphics/MediaPlayerPrivate.h: * platform/graphics/MediaSourcePrivateClient.h: * platform/graphics/NativeImagePtr.h: * platform/graphics/OpenGLESShims.h: * platform/graphics/Path.cpp: * platform/graphics/Path.h: * platform/graphics/PathTraversalState.h: * platform/graphics/Pattern.cpp: * platform/graphics/Pattern.h: * platform/graphics/PlatformLayer.h: * platform/graphics/PlatformTimeRanges.cpp: * platform/graphics/PlatformTimeRanges.h: * platform/graphics/SegmentedFontData.cpp: * platform/graphics/SegmentedFontData.h: * platform/graphics/ShadowBlur.cpp: * platform/graphics/ShadowBlur.h: * platform/graphics/SimpleFontData.cpp: * platform/graphics/SourceBufferPrivateClient.h: * platform/graphics/StringTruncator.cpp: * platform/graphics/StringTruncator.h: * platform/graphics/TrackPrivateBase.h: * platform/graphics/VideoTrackPrivate.h: * platform/graphics/WindRule.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.h: * platform/graphics/avfoundation/AVTrackPrivateAVFObjCImpl.mm: * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: * platform/graphics/avfoundation/cf/CoreMediaSoftLinking.h: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.h: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.cpp: * platform/graphics/avfoundation/cf/InbandTextTrackPrivateLegacyAVCF.h: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp: * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: * platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.h: * platform/graphics/avfoundation/objc/InbandTextTrackPrivateLegacyAVFObjC.mm: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: * platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: * platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: * platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.mm: * platform/graphics/ca/GraphicsLayerCA.cpp: * platform/graphics/ca/GraphicsLayerCA.h: * platform/graphics/ca/LayerFlushScheduler.cpp: * platform/graphics/ca/LayerFlushScheduler.h: * platform/graphics/ca/LayerFlushSchedulerClient.h: * platform/graphics/ca/PlatformCAAnimation.h: * platform/graphics/ca/PlatformCAFilters.h: * platform/graphics/ca/PlatformCALayer.cpp: * platform/graphics/ca/PlatformCALayer.h: * platform/graphics/ca/PlatformCALayerClient.h: * platform/graphics/ca/TransformationMatrixCA.cpp: * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: * platform/graphics/ca/mac/LayerPool.mm: * platform/graphics/ca/mac/PlatformCAAnimationMac.mm: * platform/graphics/ca/mac/PlatformCAFiltersMac.h: * platform/graphics/ca/mac/PlatformCAFiltersMac.mm: * platform/graphics/ca/mac/PlatformCALayerMac.h: * platform/graphics/ca/mac/PlatformCALayerMac.mm: * platform/graphics/ca/mac/WebTiledBackingLayer.h: * platform/graphics/ca/mac/WebTiledBackingLayer.mm: * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: * platform/graphics/ca/win/CACFLayerTreeHost.cpp: * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/ca/win/CACFLayerTreeHostClient.h: * platform/graphics/ca/win/LayerChangesFlusher.cpp: * platform/graphics/ca/win/LayerChangesFlusher.h: * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp: * platform/graphics/ca/win/LegacyCACFLayerTreeHost.h: * platform/graphics/ca/win/PlatformCAAnimationWin.cpp: * platform/graphics/ca/win/PlatformCAFiltersWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.cpp: * platform/graphics/ca/win/PlatformCALayerWin.h: * platform/graphics/ca/win/PlatformCALayerWinInternal.cpp: * platform/graphics/ca/win/PlatformCALayerWinInternal.h: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h: * platform/graphics/cairo/BitmapImageCairo.cpp: * platform/graphics/cairo/CairoUtilities.cpp: * platform/graphics/cairo/CairoUtilities.h: * platform/graphics/cairo/DrawingBufferCairo.cpp: * platform/graphics/cairo/FloatRectCairo.cpp: * platform/graphics/cairo/FontCairo.cpp: * platform/graphics/cairo/FontCairoHarfbuzzNG.cpp: * platform/graphics/cairo/GradientCairo.cpp: * platform/graphics/cairo/GraphicsContext3DCairo.cpp: * platform/graphics/cairo/GraphicsContextCairo.cpp: * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: * platform/graphics/cairo/ImageBufferCairo.cpp: * platform/graphics/cairo/ImageBufferDataCairo.h: * platform/graphics/cairo/ImageCairo.cpp: * platform/graphics/cairo/PatternCairo.cpp: * platform/graphics/cairo/PlatformContextCairo.cpp: * platform/graphics/cairo/PlatformContextCairo.h: * platform/graphics/cairo/TransformationMatrixCairo.cpp: * platform/graphics/cg/BitmapImageCG.cpp: * platform/graphics/cg/ColorCG.cpp: * platform/graphics/cg/FloatPointCG.cpp: * platform/graphics/cg/FloatRectCG.cpp: * platform/graphics/cg/FloatSizeCG.cpp: * platform/graphics/cg/GradientCG.cpp: * platform/graphics/cg/GraphicsContext3DCG.cpp: * platform/graphics/cg/GraphicsContextCG.cpp: * platform/graphics/cg/GraphicsContextCG.h: * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h: * platform/graphics/cg/ImageBufferCG.cpp: * platform/graphics/cg/ImageBufferDataCG.cpp: * platform/graphics/cg/ImageBufferDataCG.h: * platform/graphics/cg/ImageCG.cpp: * platform/graphics/cg/ImageSourceCG.cpp: * platform/graphics/cg/IntPointCG.cpp: * platform/graphics/cg/IntRectCG.cpp: * platform/graphics/cg/IntSizeCG.cpp: * platform/graphics/cg/PDFDocumentImage.cpp: * platform/graphics/cg/PDFDocumentImage.h: * platform/graphics/cg/PathCG.cpp: * platform/graphics/cg/PatternCG.cpp: * platform/graphics/cg/TransformationMatrixCG.cpp: * platform/graphics/efl/IconEfl.cpp: * platform/graphics/efl/ImageEfl.cpp: * platform/graphics/filters/FilterOperation.cpp: * platform/graphics/filters/FilterOperation.h: * platform/graphics/filters/FilterOperations.cpp: * platform/graphics/filters/FilterOperations.h: * platform/graphics/freetype/FontPlatformDataFreeType.cpp: * platform/graphics/freetype/GlyphPageTreeNodeFreeType.cpp: * platform/graphics/freetype/SimpleFontDataFreeType.cpp: * platform/graphics/gpu/mac/DrawingBufferMac.mm: * platform/graphics/gtk/GdkCairoUtilities.cpp: * platform/graphics/gtk/GdkCairoUtilities.h: * platform/graphics/gtk/IconGtk.cpp: * platform/graphics/gtk/ImageGtk.cpp: * platform/graphics/ios/DisplayRefreshMonitorIOS.mm: * platform/graphics/ios/FontCacheIOS.mm: * platform/graphics/ios/GraphicsContext3DIOS.h: * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.h: * platform/graphics/ios/InbandTextTrackPrivateAVFIOS.mm: * platform/graphics/ios/MediaPlayerPrivateIOS.h: * platform/graphics/ios/MediaPlayerPrivateIOS.mm: * platform/graphics/mac/ColorMac.h: * platform/graphics/mac/ColorMac.mm: * platform/graphics/mac/DisplayRefreshMonitorMac.cpp: * platform/graphics/mac/FloatPointMac.mm: * platform/graphics/mac/FloatRectMac.mm: * platform/graphics/mac/FloatSizeMac.mm: * platform/graphics/mac/FontCacheMac.mm: * platform/graphics/mac/FontCustomPlatformData.h: * platform/graphics/mac/GlyphPageTreeNodeMac.cpp: * platform/graphics/mac/GraphicsContext3DMac.mm: * platform/graphics/mac/GraphicsContextMac.mm: * platform/graphics/mac/ImageMac.mm: * platform/graphics/mac/IntPointMac.mm: * platform/graphics/mac/IntRectMac.mm: * platform/graphics/mac/IntSizeMac.mm: * platform/graphics/mac/MediaPlayerPrivateQTKit.h: * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: * platform/graphics/mac/MediaPlayerProxy.h: * platform/graphics/mac/WebCoreCALayerExtras.h: * platform/graphics/mac/WebCoreCALayerExtras.mm: * platform/graphics/mac/WebGLLayer.h: * platform/graphics/mac/WebGLLayer.mm: * platform/graphics/mac/WebLayer.h: * platform/graphics/mac/WebLayer.mm: * platform/graphics/mac/WebTiledLayer.h: * platform/graphics/mac/WebTiledLayer.mm: * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: * platform/graphics/opentype/OpenTypeUtilities.cpp: * platform/graphics/opentype/OpenTypeUtilities.h: * platform/graphics/transforms/AffineTransform.cpp: * platform/graphics/transforms/AffineTransform.h: * platform/graphics/transforms/Matrix3DTransformOperation.cpp: * platform/graphics/transforms/Matrix3DTransformOperation.h: * platform/graphics/transforms/PerspectiveTransformOperation.cpp: * platform/graphics/transforms/PerspectiveTransformOperation.h: * platform/graphics/transforms/TransformState.cpp: * platform/graphics/transforms/TransformState.h: * platform/graphics/transforms/TransformationMatrix.cpp: * platform/graphics/transforms/TransformationMatrix.h: * platform/graphics/win/FontCGWin.cpp: * platform/graphics/win/FontCacheWin.cpp: * platform/graphics/win/FontCustomPlatformDataCairo.cpp: * platform/graphics/win/FontWin.cpp: * platform/graphics/win/FullScreenController.cpp: * platform/graphics/win/FullScreenController.h: * platform/graphics/win/FullScreenControllerClient.h: * platform/graphics/win/GlyphPageTreeNodeCGWin.cpp: * platform/graphics/win/GlyphPageTreeNodeCairoWin.cpp: * platform/graphics/win/GraphicsContextCGWin.cpp: * platform/graphics/win/GraphicsContextCairoWin.cpp: * platform/graphics/win/GraphicsContextWin.cpp: * platform/graphics/win/ImageCGWin.cpp: * platform/graphics/win/ImageCairoWin.cpp: * platform/graphics/win/ImageWin.cpp: * platform/graphics/win/IntPointWin.cpp: * platform/graphics/win/IntRectWin.cpp: * platform/graphics/win/IntSizeWin.cpp: * platform/graphics/win/LocalWindowsContext.h: * platform/graphics/win/MediaPlayerPrivateTaskTimer.cpp: * platform/graphics/win/MediaPlayerPrivateTaskTimer.h: * platform/graphics/win/SimpleFontDataCGWin.cpp: * platform/graphics/win/SimpleFontDataCairoWin.cpp: * platform/graphics/win/SimpleFontDataWin.cpp: * platform/graphics/win/TransformationMatrixWin.cpp: * platform/graphics/wince/FontCacheWinCE.cpp: * platform/graphics/wince/FontWinCE.cpp: * platform/graphics/wince/MediaPlayerPrivateWinCE.h: * platform/graphics/wince/SimpleFontDataWinCE.cpp: * platform/gtk/CompositionResults.h: * platform/gtk/CursorGtk.cpp: * platform/gtk/GtkPluginWidget.cpp: * platform/gtk/GtkPluginWidget.h: * platform/gtk/LocalizedStringsGtk.cpp: * platform/gtk/MIMETypeRegistryGtk.cpp: * platform/gtk/PlatformKeyboardEventGtk.cpp: * platform/gtk/PlatformMouseEventGtk.cpp: * platform/gtk/PlatformScreenGtk.cpp: * platform/gtk/PlatformWheelEventGtk.cpp: * platform/gtk/RedirectedXCompositeWindow.cpp: * platform/gtk/RedirectedXCompositeWindow.h: * platform/gtk/RenderThemeGtk.h: * platform/gtk/ScrollViewGtk.cpp: * platform/gtk/SharedTimerGtk.cpp: * platform/gtk/TemporaryLinkStubs.cpp: * platform/gtk/UserAgentGtk.cpp: * platform/gtk/UserAgentGtk.h: * platform/gtk/WidgetGtk.cpp: * platform/gtk/WidgetRenderingContext.cpp: * platform/image-decoders/ImageDecoder.h: * platform/image-decoders/cairo/ImageDecoderCairo.cpp: * platform/image-decoders/gif/GIFImageDecoder.cpp: * platform/image-decoders/gif/GIFImageDecoder.h: * platform/image-decoders/gif/GIFImageReader.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: * platform/image-decoders/jpeg/JPEGImageDecoder.h: * platform/image-decoders/png/PNGImageDecoder.cpp: * platform/image-decoders/png/PNGImageDecoder.h: * platform/image-decoders/webp/WEBPImageDecoder.cpp: * platform/image-decoders/webp/WEBPImageDecoder.h: * platform/ios/CursorIOS.cpp: * platform/ios/DragImageIOS.mm: * platform/ios/KeyEventCodesIOS.h: * platform/ios/KeyEventIOS.mm: * platform/ios/PlatformPasteboardIOS.mm: * platform/ios/PlatformScreenIOS.mm: * platform/ios/PlatformSpeechSynthesizerIOS.mm: * platform/ios/RemoteCommandListenerIOS.h: * platform/ios/RemoteCommandListenerIOS.mm: * platform/ios/ScrollViewIOS.mm: * platform/ios/SoundIOS.mm: * platform/ios/SystemMemory.h: * platform/ios/SystemMemoryIOS.cpp: * platform/ios/WebCoreSystemInterfaceIOS.h: * platform/ios/WebCoreSystemInterfaceIOS.mm: * platform/ios/WidgetIOS.mm: * platform/mac/BlockExceptions.h: * platform/mac/BlockExceptions.mm: * platform/mac/ContextMenuItemMac.mm: * platform/mac/ContextMenuMac.mm: * platform/mac/CursorMac.mm: * platform/mac/DragDataMac.mm: * platform/mac/DragImageMac.mm: * platform/mac/FileSystemMac.mm: * platform/mac/KeyEventMac.mm: * platform/mac/LocalCurrentGraphicsContext.h: * platform/mac/LocalCurrentGraphicsContext.mm: * platform/mac/LoggingMac.mm: * platform/mac/MIMETypeRegistryMac.mm: * platform/mac/MediaTimeMac.cpp: * platform/mac/MediaTimeMac.h: * platform/mac/PasteboardMac.mm: * platform/mac/PlatformClockCA.cpp: * platform/mac/PlatformClockCA.h: * platform/mac/PlatformClockCM.h: * platform/mac/PlatformClockCM.mm: * platform/mac/PlatformPasteboardMac.mm: * platform/mac/PlatformScreenMac.mm: * platform/mac/PlatformSpeechSynthesisMac.mm: * platform/mac/PlatformSpeechSynthesizerMac.mm: * platform/mac/ScrollViewMac.mm: * platform/mac/SharedBufferMac.mm: * platform/mac/SharedTimerMac.mm: * platform/mac/SoftLinking.h: * platform/mac/SoundMac.mm: * platform/mac/ThreadCheck.mm: * platform/mac/URLMac.mm: * platform/mac/WebCoreNSStringExtras.h: * platform/mac/WebCoreNSStringExtras.mm: * platform/mac/WebCoreNSURLExtras.h: * platform/mac/WebCoreNSURLExtras.mm: * platform/mac/WebCoreObjCExtras.h: * platform/mac/WebCoreObjCExtras.mm: * platform/mac/WebCoreSystemInterface.h: * platform/mac/WebCoreSystemInterface.mm: * platform/mac/WebCoreView.h: * platform/mac/WebCoreView.m: * platform/mac/WebFontCache.h: * platform/mac/WebFontCache.mm: * platform/mac/WebWindowAnimation.h: * platform/mac/WebWindowAnimation.mm: * platform/mac/WidgetMac.mm: * platform/mediastream/MediaStreamConstraintsValidationClient.h: * platform/mediastream/MediaStreamCreationClient.h: * platform/mediastream/MediaStreamSourceCapabilities.h: * platform/mediastream/MediaStreamSourceStates.h: * platform/mediastream/MediaStreamTrackSourcesRequestClient.h: * platform/mediastream/RTCIceServer.h: * platform/mediastream/mac/AVAudioCaptureSource.h: * platform/mediastream/mac/AVAudioCaptureSource.mm: * platform/mediastream/mac/AVCaptureDeviceManager.h: * platform/mediastream/mac/AVCaptureDeviceManager.mm: * platform/mediastream/mac/AVMediaCaptureSource.h: * platform/mediastream/mac/AVMediaCaptureSource.mm: * platform/mediastream/mac/AVVideoCaptureSource.h: * platform/mediastream/mac/AVVideoCaptureSource.mm: * platform/mock/MockMediaStreamCenter.cpp: * platform/mock/MockMediaStreamCenter.h: * platform/mock/PlatformSpeechSynthesizerMock.cpp: * platform/mock/PlatformSpeechSynthesizerMock.h: * platform/mock/mediasource/MockBox.cpp: * platform/mock/mediasource/MockBox.h: * platform/mock/mediasource/MockMediaPlayerMediaSource.cpp: * platform/mock/mediasource/MockMediaPlayerMediaSource.h: * platform/mock/mediasource/MockMediaSourcePrivate.cpp: * platform/mock/mediasource/MockMediaSourcePrivate.h: * platform/mock/mediasource/MockSourceBufferPrivate.cpp: * platform/mock/mediasource/MockSourceBufferPrivate.h: * platform/mock/mediasource/MockTracks.cpp: * platform/mock/mediasource/MockTracks.h: * platform/network/AuthenticationChallengeBase.cpp: * platform/network/AuthenticationChallengeBase.h: * platform/network/Credential.cpp: * platform/network/Credential.h: * platform/network/DNS.h: * platform/network/DNSResolveQueue.cpp: * platform/network/DNSResolveQueue.h: * platform/network/DataURL.cpp: * platform/network/DataURL.h: * platform/network/HTTPHeaderMap.h: * platform/network/HTTPParsers.cpp: * platform/network/HTTPParsers.h: * platform/network/PlatformCookieJar.h: * platform/network/ProtectionSpace.cpp: * platform/network/ProtectionSpace.h: * platform/network/ResourceErrorBase.cpp: * platform/network/ResourceErrorBase.h: * platform/network/ResourceHandle.cpp: * platform/network/ResourceHandle.h: * platform/network/ResourceHandleClient.h: * platform/network/ResourceHandleInternal.h: * platform/network/ResourceRequestBase.cpp: * platform/network/ResourceRequestBase.h: * platform/network/ResourceResponseBase.cpp: * platform/network/ResourceResponseBase.h: * platform/network/cf/AuthenticationCF.cpp: * platform/network/cf/AuthenticationCF.h: * platform/network/cf/AuthenticationChallenge.h: * platform/network/cf/CookieJarCFNet.cpp: * platform/network/cf/CookieStorageCFNet.cpp: * platform/network/cf/DNSCFNet.cpp: * platform/network/cf/DownloadBundle.h: * platform/network/cf/FormDataStreamCFNet.cpp: * platform/network/cf/FormDataStreamCFNet.h: * platform/network/cf/ResourceError.h: * platform/network/cf/ResourceErrorCF.cpp: * platform/network/cf/ResourceHandleCFNet.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.cpp: * platform/network/cf/ResourceHandleCFURLConnectionDelegateWithOperationQueue.h: * platform/network/cf/ResourceRequest.h: * platform/network/cf/ResourceRequestCFNet.cpp: * platform/network/cf/ResourceRequestCFNet.h: * platform/network/cf/ResourceResponse.h: * platform/network/cf/ResourceResponseCFNet.cpp: * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: * platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: * platform/network/curl/AuthenticationChallenge.h: * platform/network/curl/CurlDownload.cpp: * platform/network/curl/CurlDownload.h: * platform/network/curl/DNSCurl.cpp: * platform/network/curl/DownloadBundle.h: * platform/network/curl/FormDataStreamCurl.cpp: * platform/network/curl/FormDataStreamCurl.h: * platform/network/curl/ResourceError.h: * platform/network/curl/ResourceHandleCurl.cpp: * platform/network/curl/ResourceHandleManager.cpp: * platform/network/curl/ResourceHandleManager.h: * platform/network/curl/ResourceRequest.h: * platform/network/curl/ResourceResponse.h: * platform/network/curl/SSLHandle.cpp: * platform/network/curl/SSLHandle.h: * platform/network/gtk/CredentialBackingStore.cpp: * platform/network/gtk/CredentialBackingStore.h: * platform/network/ios/WebCoreURLResponseIOS.h: * platform/network/ios/WebCoreURLResponseIOS.mm: * platform/network/mac/AuthenticationMac.h: * platform/network/mac/AuthenticationMac.mm: * platform/network/mac/CookieJarMac.mm: * platform/network/mac/CookieStorageMac.mm: * platform/network/mac/FormDataStreamMac.h: * platform/network/mac/FormDataStreamMac.mm: * platform/network/mac/ResourceErrorMac.mm: * platform/network/mac/ResourceHandleMac.mm: * platform/network/mac/ResourceRequestMac.mm: * platform/network/mac/ResourceResponseMac.mm: * platform/network/mac/WebCoreURLResponse.h: * platform/network/mac/WebCoreURLResponse.mm: * platform/network/soup/AuthenticationChallenge.h: * platform/network/soup/AuthenticationChallengeSoup.cpp: * platform/network/soup/CookieJarSoup.h: * platform/network/soup/DNSSoup.cpp: * platform/network/soup/ResourceError.h: * platform/network/soup/ResourceErrorSoup.cpp: * platform/network/soup/ResourceRequest.h: * platform/network/soup/ResourceResponse.h: * platform/network/soup/SoupNetworkSession.cpp: * platform/network/soup/SoupNetworkSession.h: * platform/network/win/CookieJarWin.cpp: * platform/network/win/DownloadBundleWin.cpp: * platform/network/win/ResourceError.h: * platform/network/win/ResourceHandleWin.cpp: * platform/network/win/ResourceRequest.h: * platform/network/win/ResourceResponse.h: * platform/posix/FileSystemPOSIX.cpp: * platform/posix/SharedBufferPOSIX.cpp: * platform/soup/URLSoup.cpp: * platform/sql/SQLValue.cpp: * platform/sql/SQLValue.h: * platform/sql/SQLiteAuthorizer.cpp: * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: * platform/sql/SQLiteStatement.h: * platform/sql/SQLiteTransaction.cpp: * platform/sql/SQLiteTransaction.h: * platform/text/SuffixTree.h: * platform/text/TextAllInOne.cpp: * platform/text/TextBoundaries.cpp: * platform/text/TextBoundaries.h: * platform/text/TextCodec.cpp: * platform/text/TextCodec.h: * platform/text/TextCodecASCIIFastPath.h: * platform/text/TextCodecICU.cpp: * platform/text/TextCodecICU.h: * platform/text/TextCodecLatin1.cpp: * platform/text/TextCodecLatin1.h: * platform/text/TextCodecUTF16.cpp: * platform/text/TextCodecUTF16.h: * platform/text/TextCodecUTF8.cpp: * platform/text/TextCodecUTF8.h: * platform/text/TextCodecUserDefined.cpp: * platform/text/TextCodecUserDefined.h: * platform/text/TextDirection.h: * platform/text/TextEncoding.cpp: * platform/text/TextEncoding.h: * platform/text/TextEncodingRegistry.cpp: * platform/text/TextEncodingRegistry.h: * platform/text/TextStream.cpp: * platform/text/TextStream.h: * platform/text/UnicodeBidi.h: * platform/text/mac/CharsetData.h: * platform/text/mac/TextBoundaries.mm: * platform/text/mac/TextCodecMac.cpp: * platform/text/mac/TextCodecMac.h: * platform/text/mac/character-sets.txt: * platform/text/mac/make-charset-table.pl: * platform/text/win/TextCodecWin.h: * platform/win/BString.cpp: * platform/win/BString.h: * platform/win/COMPtr.h: * platform/win/ClipboardUtilitiesWin.cpp: * platform/win/ClipboardUtilitiesWin.h: * platform/win/ContextMenuItemWin.cpp: * platform/win/ContextMenuWin.cpp: * platform/win/CursorWin.cpp: * platform/win/DragDataWin.cpp: * platform/win/DragImageCGWin.cpp: * platform/win/DragImageCairoWin.cpp: * platform/win/DragImageWin.cpp: * platform/win/FileSystemWin.cpp: * platform/win/GDIObjectCounter.cpp: * platform/win/GDIObjectCounter.h: * platform/win/HWndDC.h: * platform/win/KeyEventWin.cpp: * platform/win/LanguageWin.cpp: * platform/win/MIMETypeRegistryWin.cpp: * platform/win/PasteboardWin.cpp: * platform/win/PlatformMouseEventWin.cpp: * platform/win/PlatformScreenWin.cpp: * platform/win/SharedBufferWin.cpp: * platform/win/SharedTimerWin.cpp: * platform/win/SoftLinking.h: * platform/win/SoundWin.cpp: * platform/win/StructuredExceptionHandlerSuppressor.cpp: * platform/win/TemporaryLinkStubs.cpp: * platform/win/WCDataObject.cpp: * platform/win/WCDataObject.h: * platform/win/WebCoreTextRenderer.cpp: * platform/win/WebCoreTextRenderer.h: * platform/win/WheelEventWin.cpp: * platform/win/WidgetWin.cpp: * platform/win/WindowMessageBroadcaster.cpp: * platform/win/WindowMessageBroadcaster.h: * platform/win/WindowMessageListener.h: * platform/win/WindowsTouch.h: * platform/win/makesafeseh.asm: * plugins/PluginDatabase.cpp: * plugins/PluginDatabase.h: * plugins/PluginDebug.cpp: * plugins/PluginDebug.h: * plugins/PluginPackage.cpp: * plugins/PluginPackage.h: * plugins/PluginQuirkSet.h: * plugins/PluginStream.cpp: * plugins/PluginStream.h: * plugins/PluginView.cpp: * plugins/PluginView.h: * plugins/efl/PluginPackageEfl.cpp: * plugins/efl/PluginViewEfl.cpp: * plugins/gtk/PluginPackageGtk.cpp: * plugins/gtk/PluginViewGtk.cpp: * plugins/mac/PluginPackageMac.cpp: * plugins/mac/PluginViewMac.mm: * plugins/npapi.cpp: * plugins/npfunctions.h: * plugins/npruntime.h: * plugins/win/PluginDatabaseWin.cpp: * plugins/win/PluginPackageWin.cpp: * plugins/win/PluginViewWin.cpp: * plugins/x11/PluginViewX11.cpp: * rendering/EllipsisBox.cpp: * rendering/EllipsisBox.h: * rendering/FilterEffectRenderer.cpp: * rendering/FilterEffectRenderer.h: * rendering/HitTestLocation.h: * rendering/HitTestRequest.h: * rendering/HitTestResult.h: * rendering/HitTestingTransformState.cpp: * rendering/HitTestingTransformState.h: * rendering/RenderBoxRegionInfo.h: * rendering/RenderButton.cpp: * rendering/RenderButton.h: * rendering/RenderDeprecatedFlexibleBox.cpp: * rendering/RenderDeprecatedFlexibleBox.h: * rendering/RenderFieldset.cpp: * rendering/RenderFrameBase.cpp: * rendering/RenderFrameBase.h: * rendering/RenderFrameSet.cpp: * rendering/RenderGeometryMap.cpp: * rendering/RenderGeometryMap.h: * rendering/RenderGrid.cpp: * rendering/RenderGrid.h: * rendering/RenderHTMLCanvas.cpp: * rendering/RenderHTMLCanvas.h: * rendering/RenderIFrame.cpp: * rendering/RenderIFrame.h: * rendering/RenderLayerBacking.cpp: * rendering/RenderLayerBacking.h: * rendering/RenderLayerCompositor.cpp: * rendering/RenderLayerCompositor.h: * rendering/RenderLineBoxList.cpp: * rendering/RenderLineBoxList.h: * rendering/RenderListBox.cpp: * rendering/RenderListBox.h: * rendering/RenderMarquee.h: * rendering/RenderMedia.cpp: * rendering/RenderMedia.h: * rendering/RenderMultiColumnFlowThread.cpp: * rendering/RenderMultiColumnFlowThread.h: * rendering/RenderMultiColumnSet.cpp: * rendering/RenderMultiColumnSet.h: * rendering/RenderNamedFlowThread.cpp: * rendering/RenderNamedFlowThread.h: * rendering/RenderRegionSet.cpp: * rendering/RenderRegionSet.h: * rendering/RenderReplica.cpp: * rendering/RenderReplica.h: * rendering/RenderTheme.cpp: * rendering/RenderTheme.h: * rendering/RenderThemeMac.h: * rendering/RenderThemeWin.h: * rendering/RenderThemeWinCE.cpp: * rendering/RenderThemeWinCE.h: * rendering/RenderTreeAsText.cpp: * rendering/RenderTreeAsText.h: * rendering/RenderVTTCue.cpp: * rendering/RenderVTTCue.h: * rendering/RenderVideo.cpp: * rendering/RenderVideo.h: * rendering/RenderView.h: * rendering/style/SVGRenderStyle.cpp: * rendering/style/SVGRenderStyle.h: * rendering/style/SVGRenderStyleDefs.cpp: * rendering/style/SVGRenderStyleDefs.h: * rendering/style/StyleFilterData.cpp: * rendering/style/StyleFilterData.h: * rendering/style/StylePendingImage.h: * rendering/svg/RenderSVGBlock.cpp: * rendering/svg/RenderSVGBlock.h: * rendering/svg/RenderSVGForeignObject.cpp: * rendering/svg/RenderSVGForeignObject.h: * rendering/svg/RenderSVGImage.cpp: * rendering/svg/RenderSVGInline.h: * rendering/svg/RenderSVGInlineText.cpp: * rendering/svg/RenderSVGPath.h: * rendering/svg/RenderSVGShape.h: * rendering/svg/RenderSVGTSpan.h: * rendering/svg/RenderSVGText.cpp: * rendering/svg/RenderSVGText.h: * rendering/svg/SVGInlineFlowBox.cpp: * rendering/svg/SVGInlineFlowBox.h: * rendering/svg/SVGRenderTreeAsText.cpp: * rendering/svg/SVGRenderTreeAsText.h: * rendering/svg/SVGRootInlineBox.cpp: * rendering/svg/SVGRootInlineBox.h: * storage/StorageEventDispatcher.h: * svg/SVGException.cpp: * svg/graphics/SVGImageChromeClient.h: * workers/Worker.cpp: * workers/Worker.h: * workers/Worker.idl: * workers/WorkerEventQueue.cpp: * workers/WorkerEventQueue.h: * workers/WorkerGlobalScope.cpp: * workers/WorkerGlobalScope.h: * workers/WorkerGlobalScope.idl: * workers/WorkerLocation.cpp: * workers/WorkerLocation.h: * workers/WorkerLocation.idl: * workers/WorkerMessagingProxy.cpp: * workers/WorkerMessagingProxy.h: * workers/WorkerScriptLoader.cpp: * workers/WorkerScriptLoader.h: * workers/WorkerScriptLoaderClient.h: * workers/WorkerThread.cpp: * workers/WorkerThread.h: * xml/DOMParser.h: * xml/DOMParser.idl: * xml/NativeXPathNSResolver.cpp: * xml/NativeXPathNSResolver.h: * xml/XMLHttpRequest.idl: * xml/XMLHttpRequestException.cpp: * xml/XMLHttpRequestException.h: * xml/XMLHttpRequestException.idl: * xml/XMLHttpRequestProgressEvent.h: * xml/XMLHttpRequestProgressEvent.idl: * xml/XMLHttpRequestUpload.idl: * xml/XMLSerializer.h: * xml/XMLSerializer.idl: * xml/XPathEvaluator.cpp: * xml/XPathEvaluator.h: * xml/XPathEvaluator.idl: * xml/XPathException.cpp: * xml/XPathException.h: * xml/XPathException.idl: * xml/XPathExpression.idl: * xml/XPathExpressionNode.cpp: * xml/XPathNSResolver.cpp: * xml/XPathNSResolver.h: * xml/XPathNSResolver.idl: * xml/XPathNodeSet.h: * xml/XPathResult.idl: * xml/XPathUtil.h: * xml/XPathVariableReference.cpp: * xml/XSLTProcessor.idl: * xml/XSLTUnicodeSort.cpp: * xml/XSLTUnicodeSort.h: Source/WebInspectorUI: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * APPLE_IMAGES_LICENSE.rtf: * UserInterface/Base/DOMUtilities.js: * UserInterface/Models/Color.js: * UserInterface/Views/ConsoleCommand.js: * UserInterface/Views/ConsoleCommandResult.js: * UserInterface/Views/ConsoleGroup.js: * UserInterface/Views/ConsoleMessage.js: * UserInterface/Views/ConsoleMessageImpl.js: * UserInterface/Views/DOMTreeElement.js: * UserInterface/Views/DOMTreeOutline.js: * UserInterface/Views/DOMTreeUpdater.js: * UserInterface/Views/GradientSlider.css: * UserInterface/Views/GradientSlider.js: * UserInterface/Views/TreeOutline.js: Source/WebKit: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * scripts/generate-webkitversion.pl: (printLicenseHeader): Source/WebKit/efl: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/ChromeClientEfl.cpp: * WebCoreSupport/ContextMenuClientEfl.cpp: * WebCoreSupport/ContextMenuClientEfl.h: * WebCoreSupport/DeviceMotionClientEfl.cpp: * WebCoreSupport/DeviceOrientationClientEfl.cpp: * WebCoreSupport/DragClientEfl.cpp: * WebCoreSupport/EditorClientEfl.h: * WebCoreSupport/FrameLoaderClientEfl.cpp: * WebCoreSupport/FrameLoaderClientEfl.h: * WebCoreSupport/FrameNetworkingContextEfl.cpp: * WebCoreSupport/FrameNetworkingContextEfl.h: * WebCoreSupport/InspectorClientEfl.h: * WebCoreSupport/NavigatorContentUtilsClientEfl.cpp: * WebCoreSupport/NavigatorContentUtilsClientEfl.h: * WebCoreSupport/NetworkInfoClientEfl.cpp: Source/WebKit/gtk: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/ContextMenuClientGtk.h: * WebCoreSupport/DocumentLoaderGtk.cpp: * WebCoreSupport/DocumentLoaderGtk.h: * WebCoreSupport/EditorClientGtk.h: * WebCoreSupport/FrameLoaderClientGtk.h: * WebCoreSupport/InspectorClientGtk.h: * WebCoreSupport/TextCheckerClientGtk.h: Source/WebKit/ios: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * WebCoreSupport/WebCaretChangeListener.h: * WebCoreSupport/WebInspectorClientIOS.mm: * WebView/WebPlainWhiteView.h: * WebView/WebPlainWhiteView.mm: Source/WebKit/mac: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Carbon/CarbonUtils.h: * Carbon/CarbonUtils.m: * Carbon/CarbonWindowAdapter.h: * Carbon/CarbonWindowAdapter.mm: * Carbon/CarbonWindowContentView.h: * Carbon/CarbonWindowContentView.m: * Carbon/CarbonWindowFrame.h: * Carbon/CarbonWindowFrame.m: * Carbon/HIViewAdapter.h: * Carbon/HIViewAdapter.m: * Carbon/HIWebView.h: * Carbon/HIWebView.mm: * DOM/WebDOMOperations.h: * DOM/WebDOMOperations.mm: * DOM/WebDOMOperationsInternal.h: * DOM/WebDOMOperationsPrivate.h: * DefaultDelegates/WebDefaultContextMenuDelegate.h: * DefaultDelegates/WebDefaultContextMenuDelegate.mm: * DefaultDelegates/WebDefaultEditingDelegate.h: * DefaultDelegates/WebDefaultEditingDelegate.m: * DefaultDelegates/WebDefaultPolicyDelegate.h: * DefaultDelegates/WebDefaultPolicyDelegate.m: * DefaultDelegates/WebDefaultUIDelegate.h: * DefaultDelegates/WebDefaultUIDelegate.m: * History/WebBackForwardList.h: * History/WebBackForwardList.mm: * History/WebBackForwardListInternal.h: * History/WebBackForwardListPrivate.h: * History/WebHistory.h: * History/WebHistory.mm: * History/WebHistoryInternal.h: * History/WebHistoryItem.h: * History/WebHistoryItem.mm: * History/WebHistoryItemInternal.h: * History/WebHistoryItemPrivate.h: * History/WebHistoryPrivate.h: * History/WebURLsWithTitles.h: * History/WebURLsWithTitles.m: * MigrateHeaders.make: * Misc/OldWebAssertions.c: * Misc/WebCache.h: * Misc/WebCache.mm: * Misc/WebCoreStatistics.h: * Misc/WebCoreStatistics.mm: * Misc/WebDownload.h: * Misc/WebDownload.mm: * Misc/WebDownloadInternal.h: * Misc/WebElementDictionary.h: * Misc/WebElementDictionary.mm: * Misc/WebIconDatabase.h: * Misc/WebIconDatabase.mm: * Misc/WebIconDatabaseDelegate.h: * Misc/WebIconDatabaseInternal.h: * Misc/WebIconDatabasePrivate.h: * Misc/WebKit.h: * Misc/WebKitErrors.h: * Misc/WebKitErrors.m: * Misc/WebKitErrorsPrivate.h: * Misc/WebKitLogging.h: * Misc/WebKitLogging.m: * Misc/WebKitNSStringExtras.h: * Misc/WebKitNSStringExtras.mm: * Misc/WebKitStatistics.h: * Misc/WebKitStatistics.m: * Misc/WebKitStatisticsPrivate.h: * Misc/WebKitSystemBits.h: * Misc/WebKitSystemBits.m: * Misc/WebKitVersionChecks.h: * Misc/WebKitVersionChecks.m: * Misc/WebLocalizableStrings.h: * Misc/WebLocalizableStrings.mm: * Misc/WebNSArrayExtras.h: * Misc/WebNSArrayExtras.m: * Misc/WebNSControlExtras.h: * Misc/WebNSControlExtras.m: * Misc/WebNSDataExtras.h: * Misc/WebNSDataExtras.m: * Misc/WebNSDataExtrasPrivate.h: * Misc/WebNSDictionaryExtras.h: * Misc/WebNSDictionaryExtras.m: * Misc/WebNSEventExtras.h: * Misc/WebNSEventExtras.m: * Misc/WebNSFileManagerExtras.h: * Misc/WebNSFileManagerExtras.mm: * Misc/WebNSImageExtras.h: * Misc/WebNSImageExtras.m: * Misc/WebNSObjectExtras.h: * Misc/WebNSObjectExtras.mm: * Misc/WebNSPasteboardExtras.h: * Misc/WebNSPasteboardExtras.mm: * Misc/WebNSPrintOperationExtras.h: * Misc/WebNSPrintOperationExtras.m: * Misc/WebNSURLExtras.h: * Misc/WebNSURLExtras.mm: * Misc/WebNSURLRequestExtras.h: * Misc/WebNSURLRequestExtras.m: * Misc/WebNSUserDefaultsExtras.h: * Misc/WebNSUserDefaultsExtras.mm: * Misc/WebNSViewExtras.h: * Misc/WebNSViewExtras.m: * Misc/WebNSWindowExtras.h: * Misc/WebNSWindowExtras.m: * Misc/WebStringTruncator.h: * Misc/WebStringTruncator.mm: * Misc/WebTypesInternal.h: * Panels/WebAuthenticationPanel.h: * Panels/WebAuthenticationPanel.m: * Panels/WebPanelAuthenticationHandler.h: * Panels/WebPanelAuthenticationHandler.m: * Plugins/Hosted/ProxyRuntimeObject.h: * Plugins/Hosted/ProxyRuntimeObject.mm: * Plugins/WebBaseNetscapePluginView.h: * Plugins/WebBaseNetscapePluginView.mm: * Plugins/WebBasePluginPackage.h: * Plugins/WebBasePluginPackage.mm: * Plugins/WebJavaPlugIn.h: * Plugins/WebNetscapeContainerCheckContextInfo.h: * Plugins/WebNetscapeContainerCheckPrivate.h: * Plugins/WebNetscapeContainerCheckPrivate.mm: * Plugins/WebNetscapePluginPackage.h: * Plugins/WebNetscapePluginPackage.mm: * Plugins/WebNetscapePluginStream.h: * Plugins/WebNetscapePluginStream.mm: * Plugins/WebNetscapePluginView.h: * Plugins/WebNetscapePluginView.mm: * Plugins/WebPlugin.h: * Plugins/WebPluginContainer.h: * Plugins/WebPluginContainerCheck.h: * Plugins/WebPluginContainerCheck.mm: * Plugins/WebPluginContainerPrivate.h: * Plugins/WebPluginController.h: * Plugins/WebPluginController.mm: * Plugins/WebPluginDatabase.h: * Plugins/WebPluginDatabase.mm: * Plugins/WebPluginPackage.h: * Plugins/WebPluginPackage.mm: * Plugins/WebPluginRequest.h: * Plugins/WebPluginRequest.m: * Plugins/WebPluginViewFactory.h: * Plugins/WebPluginViewFactoryPrivate.h: * Plugins/WebPluginsPrivate.h: * Plugins/WebPluginsPrivate.m: * Plugins/npapi.mm: * Storage/WebDatabaseManager.mm: * Storage/WebDatabaseManagerInternal.h: * Storage/WebDatabaseManagerPrivate.h: * WebCoreSupport/SearchPopupMenuMac.mm: * WebCoreSupport/WebAlternativeTextClient.h: * WebCoreSupport/WebAlternativeTextClient.mm: * WebCoreSupport/WebCachedFramePlatformData.h: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebChromeClient.mm: * WebCoreSupport/WebContextMenuClient.h: * WebCoreSupport/WebContextMenuClient.mm: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebDragClient.mm: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebEditorClient.mm: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebFrameLoaderClient.mm: * WebCoreSupport/WebIconDatabaseClient.h: * WebCoreSupport/WebIconDatabaseClient.mm: * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorClient.mm: * WebCoreSupport/WebJavaScriptTextInputPanel.h: * WebCoreSupport/WebJavaScriptTextInputPanel.m: * WebCoreSupport/WebSecurityOrigin.mm: * WebCoreSupport/WebSecurityOriginInternal.h: * WebCoreSupport/WebSecurityOriginPrivate.h: * WebCoreSupport/WebSystemInterface.h: * WebCoreSupport/WebSystemInterface.mm: * WebInspector/WebInspector.h: * WebInspector/WebInspector.mm: * WebInspector/WebInspectorPrivate.h: * WebInspector/WebNodeHighlight.h: * WebInspector/WebNodeHighlight.mm: * WebInspector/WebNodeHighlightView.h: * WebInspector/WebNodeHighlightView.mm: * WebInspector/WebNodeHighlighter.h: * WebInspector/WebNodeHighlighter.mm: * WebKitLegacy/MigrateHeadersToLegacy.make: * WebKitPrefix.h: * WebView/WebArchive.h: * WebView/WebArchive.mm: * WebView/WebArchiveInternal.h: * WebView/WebClipView.h: * WebView/WebClipView.mm: * WebView/WebDashboardRegion.h: * WebView/WebDashboardRegion.mm: * WebView/WebDataSource.h: * WebView/WebDataSource.mm: * WebView/WebDataSourceInternal.h: * WebView/WebDataSourcePrivate.h: * WebView/WebDelegateImplementationCaching.h: * WebView/WebDelegateImplementationCaching.mm: * WebView/WebDocument.h: * WebView/WebDocumentInternal.h: * WebView/WebDocumentLoaderMac.h: * WebView/WebDocumentLoaderMac.mm: * WebView/WebDocumentPrivate.h: * WebView/WebDynamicScrollBarsViewInternal.h: * WebView/WebEditingDelegate.h: * WebView/WebEditingDelegatePrivate.h: * WebView/WebFormDelegate.h: * WebView/WebFormDelegate.m: * WebView/WebFormDelegatePrivate.h: * WebView/WebFrame.h: * WebView/WebFrame.mm: * WebView/WebFrameInternal.h: * WebView/WebFrameLoadDelegate.h: * WebView/WebFrameLoadDelegatePrivate.h: * WebView/WebFramePrivate.h: * WebView/WebFrameView.h: * WebView/WebFrameView.mm: * WebView/WebFrameViewInternal.h: * WebView/WebFrameViewPrivate.h: * WebView/WebHTMLRepresentation.h: * WebView/WebHTMLRepresentation.mm: * WebView/WebHTMLRepresentationPrivate.h: * WebView/WebHTMLView.h: * WebView/WebHTMLView.mm: * WebView/WebHTMLViewInternal.h: * WebView/WebHTMLViewPrivate.h: * WebView/WebNotification.h: * WebView/WebNotification.mm: * WebView/WebNotificationInternal.h: * WebView/WebPDFRepresentation.h: * WebView/WebPDFRepresentation.mm: * WebView/WebPDFView.h: * WebView/WebPDFView.mm: * WebView/WebPolicyDelegate.h: * WebView/WebPolicyDelegate.mm: * WebView/WebPolicyDelegatePrivate.h: * WebView/WebPreferenceKeysPrivate.h: * WebView/WebPreferences.h: * WebView/WebPreferences.mm: * WebView/WebPreferencesPrivate.h: * WebView/WebRenderLayer.h: * WebView/WebRenderLayer.mm: * WebView/WebRenderNode.h: * WebView/WebRenderNode.mm: * WebView/WebResource.h: * WebView/WebResource.mm: * WebView/WebResourceInternal.h: * WebView/WebResourceLoadDelegate.h: * WebView/WebResourceLoadDelegatePrivate.h: * WebView/WebResourcePrivate.h: * WebView/WebScriptDebugDelegate.h: * WebView/WebScriptDebugDelegate.mm: * WebView/WebScriptDebugger.h: * WebView/WebScriptDebugger.mm: * WebView/WebTextCompletionController.mm: * WebView/WebUIDelegate.h: * WebView/WebUIDelegatePrivate.h: * WebView/WebView.h: * WebView/WebView.mm: * WebView/WebViewData.h: * WebView/WebViewData.mm: * WebView/WebViewInternal.h: * WebView/WebViewPrivate.h: Source/WebKit/win: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * CFDictionaryPropertyBag.cpp: * CFDictionaryPropertyBag.h: * CodeAnalysisConfig.h: * DOMCSSClasses.cpp: * DOMCSSClasses.h: * DOMCoreClasses.cpp: * DOMCoreClasses.h: * DOMEventsClasses.cpp: * DOMEventsClasses.h: * DOMHTMLClasses.cpp: * DOMHTMLClasses.h: * DefaultDownloadDelegate.cpp: * DefaultDownloadDelegate.h: * DefaultPolicyDelegate.cpp: * DefaultPolicyDelegate.h: * ForEachCoClass.cpp: * ForEachCoClass.h: * FullscreenVideoController.cpp: * FullscreenVideoController.h: * Interfaces/AccessibilityDelegate.idl: * Interfaces/DOMCSS.idl: * Interfaces/DOMCore.idl: * Interfaces/DOMEvents.idl: * Interfaces/DOMExtensions.idl: * Interfaces/DOMHTML.idl: * Interfaces/DOMPrivate.idl: * Interfaces/DOMRange.idl: * Interfaces/DOMWindow.idl: * Interfaces/IGEN_DOMObject.idl: * Interfaces/IWebArchive.idl: * Interfaces/IWebBackForwardList.idl: * Interfaces/IWebBackForwardListPrivate.idl: * Interfaces/IWebCache.idl: * Interfaces/IWebDataSource.idl: * Interfaces/IWebDatabaseManager.idl: * Interfaces/IWebDocument.idl: * Interfaces/IWebDownload.idl: * Interfaces/IWebEditingDelegate.idl: * Interfaces/IWebError.idl: * Interfaces/IWebErrorPrivate.idl: * Interfaces/IWebFormDelegate.idl: * Interfaces/IWebFrame.idl: * Interfaces/IWebFrameLoadDelegate.idl: * Interfaces/IWebFrameLoadDelegatePrivate.idl: * Interfaces/IWebFrameLoadDelegatePrivate2.idl: * Interfaces/IWebFramePrivate.idl: * Interfaces/IWebFrameView.idl: * Interfaces/IWebHTMLRepresentation.idl: * Interfaces/IWebHTTPURLResponse.idl: * Interfaces/IWebHistory.idl: * Interfaces/IWebHistoryDelegate.idl: * Interfaces/IWebHistoryItem.idl: * Interfaces/IWebHistoryItemPrivate.idl: * Interfaces/IWebHistoryPrivate.idl: * Interfaces/IWebIconDatabase.idl: * Interfaces/IWebInspector.idl: * Interfaces/IWebInspectorPrivate.idl: * Interfaces/IWebJavaScriptCollector.idl: * Interfaces/IWebKitStatistics.idl: * Interfaces/IWebMutableURLRequest.idl: * Interfaces/IWebMutableURLRequestPrivate.idl: * Interfaces/IWebNavigationData.idl: * Interfaces/IWebNotification.idl: * Interfaces/IWebNotificationCenter.idl: * Interfaces/IWebNotificationObserver.idl: * Interfaces/IWebPolicyDelegate.idl: * Interfaces/IWebPolicyDelegatePrivate.idl: * Interfaces/IWebPreferences.idl: * Interfaces/IWebPreferencesPrivate.idl: * Interfaces/IWebResource.idl: * Interfaces/IWebResourceLoadDelegate.idl: * Interfaces/IWebResourceLoadDelegatePrivate.idl: * Interfaces/IWebResourceLoadDelegatePrivate2.idl: * Interfaces/IWebScriptObject.idl: * Interfaces/IWebSecurityOrigin.idl: * Interfaces/IWebSerializedJSValuePrivate.idl: * Interfaces/IWebTextRenderer.idl: * Interfaces/IWebUIDelegate.idl: * Interfaces/IWebUIDelegatePrivate.idl: * Interfaces/IWebURLAuthenticationChallenge.idl: * Interfaces/IWebURLRequest.idl: * Interfaces/IWebURLResponse.idl: * Interfaces/IWebURLResponsePrivate.idl: * Interfaces/IWebUndoManager.idl: * Interfaces/IWebUndoTarget.idl: * Interfaces/IWebView.idl: * Interfaces/IWebViewPrivate.idl: * Interfaces/WebKit.idl: * Interfaces/WebScrollbarTypes.idl: * MarshallingHelpers.cpp: * MarshallingHelpers.h: * MemoryStream.cpp: * MemoryStream.h: * ProgIDMacros.h: * WebActionPropertyBag.cpp: * WebActionPropertyBag.h: * WebBackForwardList.cpp: * WebBackForwardList.h: * WebCache.cpp: * WebCache.h: * WebCachedFramePlatformData.h: * WebCoreSupport/WebChromeClient.cpp: * WebCoreSupport/WebChromeClient.h: * WebCoreSupport/WebContextMenuClient.cpp: * WebCoreSupport/WebContextMenuClient.h: * WebCoreSupport/WebDragClient.cpp: * WebCoreSupport/WebDragClient.h: * WebCoreSupport/WebEditorClient.cpp: * WebCoreSupport/WebEditorClient.h: * WebCoreSupport/WebFrameLoaderClient.cpp: * WebCoreSupport/WebFrameLoaderClient.h: * WebCoreSupport/WebInspectorClient.cpp: * WebCoreSupport/WebInspectorClient.h: * WebCoreSupport/WebInspectorDelegate.cpp: * WebCoreSupport/WebInspectorDelegate.h: * WebDataSource.cpp: * WebDataSource.h: * WebDatabaseManager.cpp: * WebDatabaseManager.h: * WebDocumentLoader.cpp: * WebDocumentLoader.h: * WebDownload.cpp: * WebDownload.h: * WebDownloadCFNet.cpp: * WebDownloadCurl.cpp: * WebDropSource.cpp: * WebDropSource.h: * WebElementPropertyBag.cpp: * WebElementPropertyBag.h: * WebError.cpp: * WebError.h: * WebFrame.cpp: * WebFrame.h: * WebFramePolicyListener.cpp: * WebFramePolicyListener.h: * WebHTMLRepresentation.cpp: * WebHTMLRepresentation.h: * WebHistory.cpp: * WebHistory.h: * WebHistoryItem.cpp: * WebHistoryItem.h: * WebIconDatabase.cpp: * WebIconDatabase.h: * WebInspector.cpp: * WebInspector.h: * WebJavaScriptCollector.cpp: * WebJavaScriptCollector.h: * WebKitCOMAPI.cpp: * WebKitCOMAPI.h: * WebKitClassFactory.cpp: * WebKitClassFactory.h: * WebKitDLL.cpp: * WebKitDLL.h: * WebKitGraphics.cpp: * WebKitGraphics.h: * WebKitLogging.cpp: * WebKitLogging.h: * WebKitPrefix.cpp: * WebKitPrefix.h: * WebKitStatistics.cpp: * WebKitStatistics.h: * WebKitStatisticsPrivate.h: * WebKitSystemBits.cpp: * WebKitSystemBits.h: * WebLocalizableStrings.cpp: * WebLocalizableStrings.h: * WebMutableURLRequest.cpp: * WebMutableURLRequest.h: * WebNavigationData.cpp: * WebNavigationData.h: * WebNodeHighlight.cpp: * WebNodeHighlight.h: * WebNotification.cpp: * WebNotification.h: * WebNotificationCenter.cpp: * WebNotificationCenter.h: * WebPreferenceKeysPrivate.h: * WebPreferences.cpp: * WebPreferences.h: * WebResource.cpp: * WebResource.h: * WebScriptObject.cpp: * WebScriptObject.h: * WebSecurityOrigin.cpp: * WebSecurityOrigin.h: * WebTextRenderer.cpp: * WebTextRenderer.h: * WebURLAuthenticationChallenge.cpp: * WebURLAuthenticationChallenge.h: * WebURLAuthenticationChallengeSender.cpp: * WebURLAuthenticationChallengeSender.h: * WebURLAuthenticationChallengeSenderCFNet.cpp: * WebURLAuthenticationChallengeSenderCurl.cpp: * WebURLCredential.cpp: * WebURLCredential.h: * WebURLProtectionSpace.cpp: * WebURLProtectionSpace.h: * WebURLResponse.cpp: * WebURLResponse.h: * WebView.cpp: * WebView.h: Source/WebKit2: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * Shared/AsyncRequest.cpp: * Shared/AsyncRequest.h: * Shared/ContextMenuContextData.cpp: * Shared/ContextMenuContextData.h: * Shared/Databases/DatabaseProcessCreationParameters.h: * Shared/Databases/IndexedDB/IDBUtilities.cpp: * Shared/Databases/IndexedDB/IDBUtilities.h: * Shared/mac/RemoteLayerBackingStore.h: * Shared/mac/RemoteLayerBackingStore.mm: * UIProcess/API/Cocoa/WKBackForwardList.h: * UIProcess/API/Cocoa/WKBackForwardListItem.h: Removed. * UIProcess/API/Cocoa/WKNavigation.h: * UIProcess/API/Cocoa/WKNavigationAction.h: Removed. * UIProcess/API/Cocoa/WKNavigationDelegate.h: * UIProcess/API/Cocoa/WKNavigationResponse.h: Removed. * UIProcess/API/Cocoa/WKNavigationTrigger.h: Added. (NS_ENUM): * UIProcess/API/Cocoa/WKWebView.h: * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp: * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.h: * UIProcess/CoordinatedGraphics/WKCoordinatedSceneAPICast.h: * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp: * WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h: * WebProcess/Databases/IndexedDB/WebIDBServerConnection.cpp: * WebProcess/Databases/IndexedDB/WebIDBServerConnection.h: * WebProcess/Databases/WebToDatabaseProcessConnection.cpp: * WebProcess/Databases/WebToDatabaseProcessConnection.h: * WebProcess/WebCoreSupport/WebAlternativeTextClient.h: * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp: * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm: * WebProcess/WebPage/mac/GraphicsLayerCARemote.cpp: * WebProcess/WebPage/mac/GraphicsLayerCARemote.h: * WebProcess/WebPage/mac/PlatformCALayerRemote.cpp: * WebProcess/WebPage/mac/PlatformCALayerRemote.h: * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp: * WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h: Source/WTF: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * wtf/ASCIICType.h: * wtf/AVLTree.h: * wtf/Assertions.cpp: * wtf/Assertions.h: * wtf/Atomics.cpp: * wtf/Atomics.h: * wtf/AutodrainedPool.h: * wtf/AutodrainedPoolMac.mm: * wtf/BoundsCheckedPointer.h: * wtf/CryptographicUtilities.cpp: * wtf/CryptographicallyRandomNumber.h: * wtf/CurrentTime.h: * wtf/Deque.h: * wtf/DisallowCType.h: * wtf/ExportMacros.h: * wtf/FeatureDefines.h: * wtf/GetPtr.h: * wtf/HashIterators.h: * wtf/Locker.h: * wtf/MainThread.cpp: * wtf/MainThread.h: * wtf/MathExtras.h: * wtf/MediaTime.cpp: * wtf/MediaTime.h: * wtf/MessageQueue.h: * wtf/MetaAllocator.cpp: * wtf/MetaAllocator.h: * wtf/MetaAllocatorHandle.h: * wtf/OSRandomSource.cpp: * wtf/OSRandomSource.h: * wtf/Platform.h: * wtf/RandomNumber.cpp: * wtf/RandomNumber.h: * wtf/RandomNumberSeed.h: * wtf/RedBlackTree.h: * wtf/RunLoopTimer.h: * wtf/RunLoopTimerCF.cpp: * wtf/SchedulePair.h: * wtf/SchedulePairCF.cpp: * wtf/SchedulePairMac.mm: * wtf/SegmentedVector.h: * wtf/StackBounds.h: * wtf/StaticConstructors.h: * wtf/StringExtras.h: * wtf/ThreadFunctionInvocation.h: * wtf/ThreadSafeRefCounted.h: * wtf/ThreadSpecific.h: * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: * wtf/ThreadingWin.cpp: * wtf/WTFThreadData.cpp: * wtf/WTFThreadData.h: * wtf/efl/OwnPtrEfl.cpp: * wtf/mac/MainThreadMac.mm: * wtf/text/AtomicStringHash.h: * wtf/text/AtomicStringImpl.h: * wtf/text/Base64.h: * wtf/text/CString.cpp: * wtf/text/CString.h: * wtf/text/LChar.h: * wtf/text/cf/StringCF.cpp: * wtf/text/mac/StringMac.mm: * wtf/unicode/CharacterNames.h: * wtf/unicode/Collator.h: * wtf/unicode/CollatorDefault.cpp: * wtf/unicode/UTF8.cpp: * wtf/unicode/UTF8.h: * wtf/unicode/icu/CollatorICU.cpp: * wtf/win/MainThreadWin.cpp: Tools: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * BuildSlaveSupport/build-launcher-app: * BuildSlaveSupport/build-launcher-dmg: * DumpRenderTree/DumpRenderTree.h: * DumpRenderTree/DumpRenderTreePrefix.h: * DumpRenderTree/GCController.cpp: * DumpRenderTree/GCController.h: * DumpRenderTree/JavaScriptThreading.cpp: * DumpRenderTree/JavaScriptThreading.h: * DumpRenderTree/PixelDumpSupport.cpp: * DumpRenderTree/PixelDumpSupport.h: * DumpRenderTree/TestNetscapePlugIn/PluginObjectMac.mm: * DumpRenderTree/TestRunner.cpp: * DumpRenderTree/TestRunner.h: * DumpRenderTree/WorkQueue.cpp: * DumpRenderTree/WorkQueue.h: * DumpRenderTree/WorkQueueItem.h: * DumpRenderTree/atk/AccessibilityCallbacks.h: * DumpRenderTree/atk/AccessibilityCallbacksAtk.cpp: * DumpRenderTree/cairo/PixelDumpSupportCairo.cpp: * DumpRenderTree/cairo/PixelDumpSupportCairo.h: * DumpRenderTree/cg/PixelDumpSupportCG.cpp: * DumpRenderTree/cg/PixelDumpSupportCG.h: * DumpRenderTree/efl/EditingCallbacks.cpp: * DumpRenderTree/efl/EditingCallbacks.h: * DumpRenderTree/efl/EventSender.cpp: * DumpRenderTree/efl/EventSender.h: * DumpRenderTree/efl/GCControllerEfl.cpp: * DumpRenderTree/efl/PixelDumpSupportEfl.cpp: * DumpRenderTree/efl/TestRunnerEfl.cpp: * DumpRenderTree/gtk/DumpRenderTree.cpp: * DumpRenderTree/gtk/DumpRenderTreeGtk.h: * DumpRenderTree/gtk/EditingCallbacks.cpp: * DumpRenderTree/gtk/EditingCallbacks.h: * DumpRenderTree/gtk/EventSender.cpp: * DumpRenderTree/gtk/EventSender.h: * DumpRenderTree/gtk/GCControllerGtk.cpp: * DumpRenderTree/gtk/PixelDumpSupportGtk.cpp: * DumpRenderTree/gtk/SelfScrollingWebKitWebView.cpp: * DumpRenderTree/gtk/SelfScrollingWebKitWebView.h: * DumpRenderTree/gtk/TestRunnerGtk.cpp: * DumpRenderTree/gtk/TextInputController.cpp: * DumpRenderTree/gtk/TextInputController.h: * DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/Makefile.PL: * DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm: * DumpRenderTree/ios/PixelDumpSupportIOS.mm: * DumpRenderTree/mac/AppleScriptController.h: * DumpRenderTree/mac/AppleScriptController.m: * DumpRenderTree/mac/CheckedMalloc.cpp: * DumpRenderTree/mac/CheckedMalloc.h: * DumpRenderTree/mac/DumpRenderTree.mm: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.h: * DumpRenderTree/mac/DumpRenderTreeDraggingInfo.mm: * DumpRenderTree/mac/DumpRenderTreeMac.h: * DumpRenderTree/mac/DumpRenderTreePasteboard.h: * DumpRenderTree/mac/DumpRenderTreePasteboard.m: * DumpRenderTree/mac/DumpRenderTreeWindow.h: * DumpRenderTree/mac/DumpRenderTreeWindow.mm: * DumpRenderTree/mac/EditingDelegate.h: * DumpRenderTree/mac/EditingDelegate.mm: * DumpRenderTree/mac/EventSendingController.h: * DumpRenderTree/mac/EventSendingController.mm: * DumpRenderTree/mac/FrameLoadDelegate.h: * DumpRenderTree/mac/FrameLoadDelegate.mm: * DumpRenderTree/mac/GCControllerMac.mm: * DumpRenderTree/mac/MockWebNotificationProvider.h: * DumpRenderTree/mac/MockWebNotificationProvider.mm: * DumpRenderTree/mac/NavigationController.h: * DumpRenderTree/mac/NavigationController.m: * DumpRenderTree/mac/ObjCController.h: * DumpRenderTree/mac/ObjCController.m: * DumpRenderTree/mac/ObjCPlugin.h: * DumpRenderTree/mac/ObjCPlugin.m: * DumpRenderTree/mac/ObjCPluginFunction.h: * DumpRenderTree/mac/ObjCPluginFunction.m: * DumpRenderTree/mac/PixelDumpSupportMac.mm: * DumpRenderTree/mac/PolicyDelegate.h: * DumpRenderTree/mac/PolicyDelegate.mm: * DumpRenderTree/mac/ResourceLoadDelegate.h: * DumpRenderTree/mac/ResourceLoadDelegate.mm: * DumpRenderTree/mac/TestRunnerMac.mm: * DumpRenderTree/mac/TextInputController.h: * DumpRenderTree/mac/TextInputController.m: * DumpRenderTree/mac/UIDelegate.h: * DumpRenderTree/mac/UIDelegate.mm: * DumpRenderTree/mac/WorkQueueItemMac.mm: * DumpRenderTree/win/DRTDataObject.cpp: * DumpRenderTree/win/DRTDataObject.h: * DumpRenderTree/win/DRTDesktopNotificationPresenter.h: * DumpRenderTree/win/DRTDropSource.cpp: * DumpRenderTree/win/DRTDropSource.h: * DumpRenderTree/win/DraggingInfo.h: * DumpRenderTree/win/DumpRenderTree.cpp: * DumpRenderTree/win/DumpRenderTreeWin.h: * DumpRenderTree/win/EditingDelegate.cpp: * DumpRenderTree/win/EditingDelegate.h: * DumpRenderTree/win/EventSender.cpp: * DumpRenderTree/win/EventSender.h: * DumpRenderTree/win/FrameLoadDelegate.cpp: * DumpRenderTree/win/FrameLoadDelegate.h: * DumpRenderTree/win/GCControllerWin.cpp: * DumpRenderTree/win/HistoryDelegate.cpp: * DumpRenderTree/win/HistoryDelegate.h: * DumpRenderTree/win/MD5.cpp: * DumpRenderTree/win/MD5.h: * DumpRenderTree/win/PixelDumpSupportWin.cpp: * DumpRenderTree/win/PolicyDelegate.cpp: * DumpRenderTree/win/PolicyDelegate.h: * DumpRenderTree/win/ResourceLoadDelegate.cpp: * DumpRenderTree/win/ResourceLoadDelegate.h: * DumpRenderTree/win/TestRunnerWin.cpp: * DumpRenderTree/win/TextInputController.cpp: * DumpRenderTree/win/TextInputController.h: * DumpRenderTree/win/TextInputControllerWin.cpp: * DumpRenderTree/win/UIDelegate.cpp: * DumpRenderTree/win/UIDelegate.h: * DumpRenderTree/win/WorkQueueItemWin.cpp: * EWebLauncher/main.c: * GtkLauncher/main.c: * ImageDiff/efl/ImageDiff.cpp: * ImageDiff/gtk/ImageDiff.cpp: * MiniBrowser/gtk/main.c: * Scripts/SpacingHeuristics.pm: * Scripts/VCSUtils.pm: * Scripts/bisect-builds: * Scripts/build-dumprendertree: * Scripts/build-jsc: * Scripts/build-webkit: * Scripts/check-dom-results: * Scripts/check-for-exit-time-destructors: * Scripts/check-for-global-initializers: * Scripts/commit-log-editor: * Scripts/compare-timing-files: * Scripts/debug-minibrowser: * Scripts/debug-safari: * Scripts/do-file-rename: * Scripts/find-extra-includes: * Scripts/generate-coverage-data: * Scripts/make-script-test-wrappers: * Scripts/malloc-tree: * Scripts/old-run-webkit-tests: * Scripts/parse-malloc-history: * Scripts/report-include-statistics: * Scripts/resolve-ChangeLogs: * Scripts/run-bindings-tests: * Scripts/run-iexploder-tests: * Scripts/run-javascriptcore-tests: * Scripts/run-jsc: * Scripts/run-launcher: * Scripts/run-leaks: * Scripts/run-mangleme-tests: * Scripts/run-minibrowser: * Scripts/run-pageloadtest: * Scripts/run-regexp-tests: * Scripts/run-safari: * Scripts/run-sunspider: * Scripts/run-webkit-app: * Scripts/sampstat: * Scripts/set-webkit-configuration: * Scripts/sort-Xcode-project-file: * Scripts/sort-export-file: * Scripts/split-file-by-class: * Scripts/sunspider-compare-results: * Scripts/svn-apply: * Scripts/svn-create-patch: * Scripts/svn-unapply: * Scripts/test-webkit-scripts: * Scripts/update-javascriptcore-test-results: * Scripts/update-webkit: * Scripts/update-webkit-auxiliary-libs: * Scripts/update-webkit-dependency: * Scripts/update-webkit-localizable-strings: * Scripts/update-webkit-support-libs: * Scripts/update-webkit-wincairo-libs: * Scripts/webkit-build-directory: * Scripts/webkitdirs.pm: (installedSafariPath): * Scripts/webkitperl/VCSUtils_unittest/parseChunkRange.pl: * Scripts/webkitperl/VCSUtils_unittest/parseDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffFooter.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnDiffHeader.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnProperty.pl: * Scripts/webkitperl/VCSUtils_unittest/parseSvnPropertyValue.pl: * Scripts/webkitperl/features.pm: * Scripts/webkitperl/httpd.pm: * Scripts/webkitpy/bindings/main.py: * Scripts/webkitpy/to_be_moved/update_webgl_conformance_tests.py: * TestWebKitAPI/Tests/WTF/MediaTime.cpp: * TestWebKitAPI/Tests/WTF/MetaAllocator.cpp: * TestWebKitAPI/Tests/WTF/RedBlackTree.cpp: * TestWebKitAPI/Tests/WTF/cf/RetainPtr.cpp: * TestWebKitAPI/Tests/WTF/cf/RetainPtrHashing.cpp: * TestWebKitAPI/Tests/WTF/ns/RetainPtr.mm: * WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp: * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.cpp: * WebKitTestRunner/InjectedBundle/gtk/InjectedBundleUtilities.h: * WebKitTestRunner/PixelDumpSupport.cpp: * WebKitTestRunner/PixelDumpSupport.h: * WebKitTestRunner/gtk/EventSenderProxyGtk.cpp: * WinLauncher/WinLauncher.cpp: * WinLauncher/WinLauncher.h: * WinLauncher/stdafx.cpp: * WinLauncher/stdafx.h: WebKitLibraries: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * win/include/WebKitSystemInterface/WebKitSystemInterface.h: * win/tools/scripts/auto-version.sh: Websites/webkit.org: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * blog/wp-content/textfield_screenshot.jpg: * misc/WebKitDetect.html: * misc/WebKitDetect.js: * perf/sunspider-0.9.1/sunspider-0.9.1/driver.html: * perf/sunspider-0.9.1/sunspider-0.9.1/results.html: * perf/sunspider-0.9.1/sunspider-0.9.1/sunspider-test-contents.js: * perf/sunspider-0.9.1/sunspider-0.9/driver.html: * perf/sunspider-0.9.1/sunspider-0.9/results.html: * perf/sunspider-0.9.1/sunspider-0.9/sunspider-test-contents.js: * perf/sunspider-0.9.1/sunspider-analyze-results.js: * perf/sunspider-0.9.1/sunspider-compare-results.js: * perf/sunspider-0.9/3d-cube.html: * perf/sunspider-0.9/3d-morph.html: * perf/sunspider-0.9/3d-raytrace.html: * perf/sunspider-0.9/access-binary-trees.html: * perf/sunspider-0.9/access-fannkuch.html: * perf/sunspider-0.9/access-nbody.html: * perf/sunspider-0.9/access-nsieve.html: * perf/sunspider-0.9/bitops-3bit-bits-in-byte.html: * perf/sunspider-0.9/bitops-bits-in-byte.html: * perf/sunspider-0.9/bitops-bitwise-and.html: * perf/sunspider-0.9/bitops-nsieve-bits.html: * perf/sunspider-0.9/controlflow-recursive.html: * perf/sunspider-0.9/crypto-aes.html: * perf/sunspider-0.9/crypto-md5.html: * perf/sunspider-0.9/crypto-sha1.html: * perf/sunspider-0.9/date-format-tofte.html: * perf/sunspider-0.9/date-format-xparb.html: * perf/sunspider-0.9/math-cordic.html: * perf/sunspider-0.9/math-partial-sums.html: * perf/sunspider-0.9/math-spectral-norm.html: * perf/sunspider-0.9/regexp-dna.html: * perf/sunspider-0.9/string-base64.html: * perf/sunspider-0.9/string-fasta.html: * perf/sunspider-0.9/string-tagcloud.html: * perf/sunspider-0.9/string-unpack-code.html: * perf/sunspider-0.9/string-validate-input.html: * perf/sunspider-0.9/sunspider-analyze-results.js: * perf/sunspider-0.9/sunspider-compare-results.js: * perf/sunspider-0.9/sunspider-driver.html: * perf/sunspider-0.9/sunspider-record-result.js: * perf/sunspider-0.9/sunspider-results.html: * perf/sunspider-1.0.1/sunspider-1.0.1/driver.html: * perf/sunspider-1.0.1/sunspider-1.0.1/results.html: * perf/sunspider-1.0.1/sunspider-1.0.1/sunspider-test-contents.js: * perf/sunspider-1.0.1/sunspider-analyze-results.js: * perf/sunspider-1.0.1/sunspider-compare-results.js: * perf/sunspider-1.0.1/sunspider.html: * perf/sunspider-1.0.2/sunspider-1.0.2/driver.html: * perf/sunspider-1.0.2/sunspider-1.0.2/results.html: * perf/sunspider-1.0.2/sunspider-1.0.2/sunspider-test-contents.js: * perf/sunspider-1.0.2/sunspider-analyze-results.js: * perf/sunspider-1.0.2/sunspider-compare-results.js: * perf/sunspider-1.0.2/sunspider.html: * perf/sunspider-1.0/sunspider-1.0/driver.html: * perf/sunspider-1.0/sunspider-1.0/results.html: * perf/sunspider-1.0/sunspider-1.0/sunspider-test-contents.js: * perf/sunspider-1.0/sunspider-analyze-results.js: * perf/sunspider-1.0/sunspider-compare-results.js: * perf/sunspider-1.0/sunspider.html: * perf/sunspider/sunspider.html: * perf/sunspider/versions.html: * quality/reporting.html: LayoutTests: Replace "Apple Computer, Inc." with "Apple Inc." in copyright headers https://bugs.webkit.org/show_bug.cgi?id=130276 <rdar://problem/16266927> Reviewed by Simon Fraser. * editing/resources/TIFF-pasteboard-data.dat: * fast/backgrounds/repeat/resources/gradient.gif: * fast/forms/resources/apple.gif: * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * http/tests/webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: * platform/win/TestExpectations: * platform/wincairo/TestExpectations: * platform/wk2/TestExpectations: * webgl/1.0.1/resources/webgl_test_files/conformance/attribs/gl-vertexattribpointer-offsets.html: * webgl/1.0.1/resources/webgl_test_files/conformance/context/context-attribute-preserve-drawing-buffer.html: * webgl/1.0.1/resources/webgl_test_files/conformance/context/incorrect-context-object-behaviour.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/bad-arguments-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/invalid-passed-params.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/null-object-behaviour.html: * webgl/1.0.1/resources/webgl_test_files/conformance/misc/type-conversion-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/programs/get-active-test.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-arrays-out-of-bounds.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/draw-elements-out-of-bounds.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/line-loop-tri-fan.html: * webgl/1.0.1/resources/webgl_test_files/conformance/rendering/triangle.html: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/vertexShader.vert: * webgl/1.0.1/resources/webgl_test_files/conformance/resources/webgl-test.js: * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-get-calls.html: * webgl/1.0.1/resources/webgl_test_files/conformance/state/gl-object-get-calls.html: * webgl/1.0.1/resources/webgl_test_files/conformance/typedarrays/array-unit-tests.html: * webgl/1.0.1/resources/webgl_test_files/extra/canvas-compositing-test.html: * webgl/1.0.2/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/1.0.2/resources/webgl_test_files/conformance/resources/vertexShader.vert: * webgl/resources/webgl_test_files/conformance/resources/fragmentShader.frag: * webgl/resources/webgl_test_files/conformance/resources/vertexShader.vert: Canonical link: https://commits.webkit.org/148261@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@165676 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2014-03-15 04:08:27 +00:00
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
* OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
Use pragma once in WTF https://bugs.webkit.org/show_bug.cgi?id=190527 Reviewed by Chris Dumez. Source/WTF: We also need to consistently include wtf headers from within wtf so we can build wtf without symbol redefinition errors from including the copy in Source and the copy in the build directory. * wtf/ASCIICType.h: * wtf/Assertions.cpp: * wtf/Assertions.h: * wtf/Atomics.h: * wtf/AutomaticThread.cpp: * wtf/AutomaticThread.h: * wtf/BackwardsGraph.h: * wtf/Bag.h: * wtf/BagToHashMap.h: * wtf/BitVector.cpp: * wtf/BitVector.h: * wtf/Bitmap.h: * wtf/BloomFilter.h: * wtf/Box.h: * wtf/BubbleSort.h: * wtf/BumpPointerAllocator.h: * wtf/ByteOrder.h: * wtf/CPUTime.cpp: * wtf/CallbackAggregator.h: * wtf/CheckedArithmetic.h: * wtf/CheckedBoolean.h: * wtf/ClockType.cpp: * wtf/ClockType.h: * wtf/CommaPrinter.h: * wtf/CompilationThread.cpp: * wtf/CompilationThread.h: * wtf/Compiler.h: * wtf/ConcurrentPtrHashSet.cpp: * wtf/ConcurrentVector.h: * wtf/Condition.h: * wtf/CountingLock.cpp: * wtf/CrossThreadTaskHandler.cpp: * wtf/CryptographicUtilities.cpp: * wtf/CryptographicUtilities.h: * wtf/CryptographicallyRandomNumber.cpp: * wtf/CryptographicallyRandomNumber.h: * wtf/CurrentTime.cpp: * wtf/DataLog.cpp: * wtf/DataLog.h: * wtf/DateMath.cpp: * wtf/DateMath.h: * wtf/DecimalNumber.cpp: * wtf/DecimalNumber.h: * wtf/Deque.h: * wtf/DisallowCType.h: * wtf/Dominators.h: * wtf/DoublyLinkedList.h: * wtf/FastBitVector.cpp: * wtf/FastMalloc.cpp: * wtf/FastMalloc.h: * wtf/FeatureDefines.h: * wtf/FilePrintStream.cpp: * wtf/FilePrintStream.h: * wtf/FlipBytes.h: * wtf/FunctionDispatcher.cpp: * wtf/FunctionDispatcher.h: * wtf/GetPtr.h: * wtf/Gigacage.cpp: * wtf/GlobalVersion.cpp: * wtf/GraphNodeWorklist.h: * wtf/GregorianDateTime.cpp: * wtf/GregorianDateTime.h: * wtf/HashFunctions.h: * wtf/HashMap.h: * wtf/HashMethod.h: * wtf/HashSet.h: * wtf/HashTable.cpp: * wtf/HashTraits.h: * wtf/Indenter.h: * wtf/IndexSparseSet.h: * wtf/InlineASM.h: * wtf/Insertion.h: * wtf/IteratorAdaptors.h: * wtf/IteratorRange.h: * wtf/JSONValues.cpp: * wtf/JSValueMalloc.cpp: * wtf/LEBDecoder.h: * wtf/Language.cpp: * wtf/ListDump.h: * wtf/Lock.cpp: * wtf/Lock.h: * wtf/LockAlgorithm.h: * wtf/LockedPrintStream.cpp: * wtf/Locker.h: * wtf/MD5.cpp: * wtf/MD5.h: * wtf/MainThread.cpp: * wtf/MainThread.h: * wtf/MallocPtr.h: * wtf/MathExtras.h: * wtf/MediaTime.cpp: * wtf/MediaTime.h: * wtf/MemoryPressureHandler.cpp: * wtf/MessageQueue.h: * wtf/MetaAllocator.cpp: * wtf/MetaAllocator.h: * wtf/MetaAllocatorHandle.h: * wtf/MonotonicTime.cpp: * wtf/MonotonicTime.h: * wtf/NakedPtr.h: * wtf/NoLock.h: * wtf/NoTailCalls.h: * wtf/Noncopyable.h: * wtf/NumberOfCores.cpp: * wtf/NumberOfCores.h: * wtf/OSAllocator.h: * wtf/OSAllocatorPosix.cpp: * wtf/OSRandomSource.cpp: * wtf/OSRandomSource.h: * wtf/ObjcRuntimeExtras.h: * wtf/OrderMaker.h: * wtf/PackedIntVector.h: * wtf/PageAllocation.h: * wtf/PageBlock.cpp: * wtf/PageBlock.h: * wtf/PageReservation.h: * wtf/ParallelHelperPool.cpp: * wtf/ParallelHelperPool.h: * wtf/ParallelJobs.h: * wtf/ParallelJobsLibdispatch.h: * wtf/ParallelVectorIterator.h: * wtf/ParkingLot.cpp: * wtf/ParkingLot.h: * wtf/Platform.h: * wtf/PointerComparison.h: * wtf/Poisoned.cpp: * wtf/PrintStream.cpp: * wtf/PrintStream.h: * wtf/ProcessID.h: * wtf/ProcessPrivilege.cpp: * wtf/RAMSize.cpp: * wtf/RAMSize.h: * wtf/RandomDevice.cpp: * wtf/RandomNumber.cpp: * wtf/RandomNumber.h: * wtf/RandomNumberSeed.h: * wtf/RangeSet.h: * wtf/RawPointer.h: * wtf/ReadWriteLock.cpp: * wtf/RedBlackTree.h: * wtf/Ref.h: * wtf/RefCountedArray.h: * wtf/RefCountedLeakCounter.cpp: * wtf/RefCountedLeakCounter.h: * wtf/RefCounter.h: * wtf/RefPtr.h: * wtf/RetainPtr.h: * wtf/RunLoop.cpp: * wtf/RunLoop.h: * wtf/RunLoopTimer.h: * wtf/RunLoopTimerCF.cpp: * wtf/SHA1.cpp: * wtf/SHA1.h: * wtf/SaturatedArithmetic.h: (saturatedSubtraction): * wtf/SchedulePair.h: * wtf/SchedulePairCF.cpp: * wtf/SchedulePairMac.mm: * wtf/ScopedLambda.h: * wtf/Seconds.cpp: * wtf/Seconds.h: * wtf/SegmentedVector.h: * wtf/SentinelLinkedList.h: * wtf/SharedTask.h: * wtf/SimpleStats.h: * wtf/SingleRootGraph.h: * wtf/SinglyLinkedList.h: * wtf/SixCharacterHash.cpp: * wtf/SixCharacterHash.h: * wtf/SmallPtrSet.h: * wtf/Spectrum.h: * wtf/StackBounds.cpp: * wtf/StackBounds.h: * wtf/StackStats.cpp: * wtf/StackStats.h: * wtf/StackTrace.cpp: * wtf/StdLibExtras.h: * wtf/StreamBuffer.h: * wtf/StringHashDumpContext.h: * wtf/StringPrintStream.cpp: * wtf/StringPrintStream.h: * wtf/ThreadGroup.cpp: * wtf/ThreadMessage.cpp: * wtf/ThreadSpecific.h: * wtf/Threading.cpp: * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: * wtf/TimeWithDynamicClockType.cpp: * wtf/TimeWithDynamicClockType.h: * wtf/TimingScope.cpp: * wtf/TinyLRUCache.h: * wtf/TinyPtrSet.h: * wtf/TriState.h: * wtf/TypeCasts.h: * wtf/UUID.cpp: * wtf/UnionFind.h: * wtf/VMTags.h: * wtf/ValueCheck.h: * wtf/Vector.h: * wtf/VectorTraits.h: * wtf/WallTime.cpp: * wtf/WallTime.h: * wtf/WeakPtr.h: * wtf/WeakRandom.h: * wtf/WordLock.cpp: * wtf/WordLock.h: * wtf/WorkQueue.cpp: * wtf/WorkQueue.h: * wtf/WorkerPool.cpp: * wtf/cf/LanguageCF.cpp: * wtf/cf/RunLoopCF.cpp: * wtf/cocoa/Entitlements.mm: * wtf/cocoa/MachSendRight.cpp: * wtf/cocoa/MainThreadCocoa.mm: * wtf/cocoa/MemoryFootprintCocoa.cpp: * wtf/cocoa/WorkQueueCocoa.cpp: * wtf/dtoa.cpp: * wtf/dtoa.h: * wtf/ios/WebCoreThread.cpp: * wtf/ios/WebCoreThread.h: * wtf/mac/AppKitCompatibilityDeclarations.h: * wtf/mac/DeprecatedSymbolsUsedBySafari.mm: * wtf/mbmalloc.cpp: * wtf/persistence/PersistentCoders.cpp: * wtf/persistence/PersistentDecoder.cpp: * wtf/persistence/PersistentEncoder.cpp: * wtf/spi/cf/CFBundleSPI.h: * wtf/spi/darwin/CommonCryptoSPI.h: * wtf/text/ASCIIFastPath.h: * wtf/text/ASCIILiteral.cpp: * wtf/text/AtomicString.cpp: * wtf/text/AtomicString.h: * wtf/text/AtomicStringHash.h: * wtf/text/AtomicStringImpl.cpp: * wtf/text/AtomicStringImpl.h: * wtf/text/AtomicStringTable.cpp: * wtf/text/AtomicStringTable.h: * wtf/text/Base64.cpp: * wtf/text/CString.cpp: * wtf/text/CString.h: * wtf/text/ConversionMode.h: * wtf/text/ExternalStringImpl.cpp: * wtf/text/IntegerToStringConversion.h: * wtf/text/LChar.h: * wtf/text/LineEnding.cpp: * wtf/text/StringBuffer.h: * wtf/text/StringBuilder.cpp: * wtf/text/StringBuilder.h: * wtf/text/StringBuilderJSON.cpp: * wtf/text/StringCommon.h: * wtf/text/StringConcatenate.h: * wtf/text/StringHash.h: * wtf/text/StringImpl.cpp: * wtf/text/StringImpl.h: * wtf/text/StringOperators.h: * wtf/text/StringView.cpp: * wtf/text/StringView.h: * wtf/text/SymbolImpl.cpp: * wtf/text/SymbolRegistry.cpp: * wtf/text/SymbolRegistry.h: * wtf/text/TextBreakIterator.cpp: * wtf/text/TextBreakIterator.h: * wtf/text/TextBreakIteratorInternalICU.h: * wtf/text/TextPosition.h: * wtf/text/TextStream.cpp: * wtf/text/UniquedStringImpl.h: * wtf/text/WTFString.cpp: * wtf/text/WTFString.h: * wtf/text/cocoa/StringCocoa.mm: * wtf/text/cocoa/StringViewCocoa.mm: * wtf/text/cocoa/TextBreakIteratorInternalICUCocoa.cpp: * wtf/text/icu/UTextProvider.cpp: * wtf/text/icu/UTextProvider.h: * wtf/text/icu/UTextProviderLatin1.cpp: * wtf/text/icu/UTextProviderLatin1.h: * wtf/text/icu/UTextProviderUTF16.cpp: * wtf/text/icu/UTextProviderUTF16.h: * wtf/threads/BinarySemaphore.cpp: * wtf/threads/BinarySemaphore.h: * wtf/threads/Signals.cpp: * wtf/unicode/CharacterNames.h: * wtf/unicode/Collator.h: * wtf/unicode/CollatorDefault.cpp: * wtf/unicode/UTF8.cpp: * wtf/unicode/UTF8.h: Tools: Put WorkQueue in namespace DRT so it does not conflict with WTF::WorkQueue. * DumpRenderTree/TestRunner.cpp: (TestRunner::queueLoadHTMLString): (TestRunner::queueLoadAlternateHTMLString): (TestRunner::queueBackNavigation): (TestRunner::queueForwardNavigation): (TestRunner::queueLoadingScript): (TestRunner::queueNonLoadingScript): (TestRunner::queueReload): * DumpRenderTree/WorkQueue.cpp: (WorkQueue::singleton): Deleted. (WorkQueue::WorkQueue): Deleted. (WorkQueue::queue): Deleted. (WorkQueue::dequeue): Deleted. (WorkQueue::count): Deleted. (WorkQueue::clear): Deleted. (WorkQueue::processWork): Deleted. * DumpRenderTree/WorkQueue.h: (WorkQueue::setFrozen): Deleted. * DumpRenderTree/WorkQueueItem.h: * DumpRenderTree/mac/DumpRenderTree.mm: (runTest): * DumpRenderTree/mac/FrameLoadDelegate.mm: (-[FrameLoadDelegate processWork:]): (-[FrameLoadDelegate webView:locationChangeDone:forDataSource:]): * DumpRenderTree/mac/TestRunnerMac.mm: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): * DumpRenderTree/win/DumpRenderTree.cpp: (runTest): * DumpRenderTree/win/FrameLoadDelegate.cpp: (FrameLoadDelegate::processWork): (FrameLoadDelegate::locationChangeDone): * DumpRenderTree/win/TestRunnerWin.cpp: (TestRunner::notifyDone): (TestRunner::forceImmediateCompletion): (TestRunner::queueLoad): Canonical link: https://commits.webkit.org/205473@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237099 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-15 14:24:49 +00:00
#pragma once
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
#include <algorithm>
Changes towards allowing use of the ASAN detect_stack_use_after_return option. https://bugs.webkit.org/show_bug.cgi?id=190405 <rdar://problem/45131464> Reviewed by Michael Saboff. Source/JavaScriptCore: The ASAN detect_stack_use_after_return option checks for use of stack variables after they have been freed. It does this by allocating relevant stack variables in heap memory (instead of on the stack) if the code ever takes the address of those stack variables. Unfortunately, this is a common idiom that we use to compute the approximate stack pointer value. As a result, on such ASAN runs, the computed approximate stack pointer value will point into the heap instead of the stack. This breaks the VM's expectations and wreaks havoc. To fix this, we use the newly introduced WTF::currentStackPointer() instead of taking the address of stack variables. We also need to enhance ExceptionScopes to be able to work with ASAN detect_stack_use_after_return which will allocated the scope in the heap. We work around this by passing the current stack pointer of the instantiating calling frame into the scope constructor, and using that for the position check in ~ThrowScope() instead. The above is only a start towards enabling ASAN detect_stack_use_after_return on the VM. There are still other issues to be resolved before we can run with this ASAN option. * runtime/CatchScope.h: * runtime/ExceptionEventLocation.h: (JSC::ExceptionEventLocation::ExceptionEventLocation): * runtime/ExceptionScope.h: (JSC::ExceptionScope::stackPosition const): * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/ThrowScope.cpp: (JSC::ThrowScope::~ThrowScope): * runtime/ThrowScope.h: * runtime/VM.h: (JSC::VM::needExceptionCheck const): (JSC::VM::isSafeToRecurse const): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: Introduce WTF::currentStackPointer() which computes its caller's stack pointer value. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/StackPointer.cpp: Added. (WTF::currentStackPointer): * wtf/StackPointer.h: Added. Canonical link: https://commits.webkit.org/205416@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-11 19:19:18 +00:00
#include <wtf/StackPointer.h>
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
#include <wtf/ThreadingPrimitives.h>
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
namespace WTF {
class StackBounds {
[WTF][JSC] Make JSC and WTF aggressively-fast-malloced https://bugs.webkit.org/show_bug.cgi?id=200611 Reviewed by Saam Barati. Source/JavaScriptCore: This patch aggressively puts many classes into FastMalloc. In JSC side, we grep `std::make_unique` etc. to find potentially system-malloc-allocated classes. After this patch, all the JSC related allocations in JetStream2 cli is done from bmalloc. In the future, it would be nice that we add `WTF::makeUnique<T>` helper function and throw a compile error if `T` is not FastMalloc annotated[1]. Putting WebKit classes in FastMalloc has many benefits. 1. Simply, it is fast. 2. vmmap can tell the amount of memory used for WebKit. 3. bmalloc can isolate WebKit memory allocation from the rest of the world. This is useful since we can know more about what component is corrupting the memory from the memory corruption crash. [1]: https://bugs.webkit.org/show_bug.cgi?id=200620 * API/ObjCCallbackFunction.mm: * assembler/AbstractMacroAssembler.h: * b3/B3PhiChildren.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirDisassembler.h: * bytecode/AccessCaseSnippetParams.h: * bytecode/CallVariant.h: * bytecode/DeferredSourceDump.h: * bytecode/ExecutionCounter.h: * bytecode/GetByIdStatus.h: * bytecode/GetByIdVariant.h: * bytecode/InByIdStatus.h: * bytecode/InByIdVariant.h: * bytecode/InstanceOfStatus.h: * bytecode/InstanceOfVariant.h: * bytecode/PutByIdStatus.h: * bytecode/PutByIdVariant.h: * bytecode/ValueProfile.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): * dfg/DFGFlowIndexing.h: * dfg/DFGFlowMap.h: * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::newVariableAccessData): * dfg/DFGMaximalFlushInsertionPhase.cpp: (JSC::DFG::MaximalFlushInsertionPhase::newVariableAccessData): * dfg/DFGOSRExit.h: * dfg/DFGSpeculativeJIT.h: * dfg/DFGVariableAccessData.h: * disassembler/ARM64/A64DOpcode.h: * inspector/remote/socket/RemoteInspectorMessageParser.h: * inspector/remote/socket/RemoteInspectorSocket.h: * inspector/remote/socket/RemoteInspectorSocketEndpoint.h: * jit/PCToCodeOriginMap.h: * runtime/BasicBlockLocation.h: * runtime/DoublePredictionFuzzerAgent.h: * runtime/JSRunLoopTimer.h: * runtime/PromiseDeferredTimer.h: (JSC::PromiseDeferredTimer::create): PromiseDeferredTimer should be allocated as `Ref<>` instead of `std::unique_ptr` since it is inheriting ThreadSafeRefCounted<>. Holding such a class with std::unique_ptr could lead to potentially dangerous operations (like, someone holds it with Ref<> while it is deleted by std::unique_ptr<>). * runtime/RandomizingFuzzerAgent.h: * runtime/SymbolTable.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * tools/JSDollarVM.cpp: * tools/SigillCrashAnalyzer.cpp: * wasm/WasmFormat.h: * wasm/WasmMemory.cpp: * wasm/WasmSignature.h: * yarr/YarrJIT.h: Source/WebCore: Changed the accessor since we changed std::unique_ptr to Ref for this field. No behavior change. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::addTimerSetNotification): (WebCore::WorkerScriptController::removeTimerSetNotification): Source/WTF: WTF has many data structures, in particular, containers. And these containers can be allocated like `std::make_unique<Container>()`. Without WTF_MAKE_FAST_ALLOCATED, this container itself is allocated from the system malloc. This patch attaches WTF_MAKE_FAST_ALLOCATED more aggressively not to allocate them from the system malloc. And we add some `final` to containers and classes that would be never inherited. * wtf/Assertions.cpp: * wtf/Atomics.h: * wtf/AutodrainedPool.h: * wtf/Bag.h: (WTF::Bag::Bag): Deleted. (WTF::Bag::~Bag): Deleted. (WTF::Bag::clear): Deleted. (WTF::Bag::add): Deleted. (WTF::Bag::iterator::iterator): Deleted. (WTF::Bag::iterator::operator! const): Deleted. (WTF::Bag::iterator::operator* const): Deleted. (WTF::Bag::iterator::operator++): Deleted. (WTF::Bag::iterator::operator== const): Deleted. (WTF::Bag::iterator::operator!= const): Deleted. (WTF::Bag::begin): Deleted. (WTF::Bag::begin const): Deleted. (WTF::Bag::end const): Deleted. (WTF::Bag::isEmpty const): Deleted. (WTF::Bag::unwrappedHead const): Deleted. * wtf/BitVector.h: (WTF::BitVector::BitVector): Deleted. (WTF::BitVector::~BitVector): Deleted. (WTF::BitVector::operator=): Deleted. (WTF::BitVector::size const): Deleted. (WTF::BitVector::ensureSize): Deleted. (WTF::BitVector::quickGet const): Deleted. (WTF::BitVector::quickSet): Deleted. (WTF::BitVector::quickClear): Deleted. (WTF::BitVector::get const): Deleted. (WTF::BitVector::contains const): Deleted. (WTF::BitVector::set): Deleted. (WTF::BitVector::add): Deleted. (WTF::BitVector::ensureSizeAndSet): Deleted. (WTF::BitVector::clear): Deleted. (WTF::BitVector::remove): Deleted. (WTF::BitVector::merge): Deleted. (WTF::BitVector::filter): Deleted. (WTF::BitVector::exclude): Deleted. (WTF::BitVector::bitCount const): Deleted. (WTF::BitVector::isEmpty const): Deleted. (WTF::BitVector::findBit const): Deleted. (WTF::BitVector::isEmptyValue const): Deleted. (WTF::BitVector::isDeletedValue const): Deleted. (WTF::BitVector::isEmptyOrDeletedValue const): Deleted. (WTF::BitVector::operator== const): Deleted. (WTF::BitVector::hash const): Deleted. (WTF::BitVector::iterator::iterator): Deleted. (WTF::BitVector::iterator::operator* const): Deleted. (WTF::BitVector::iterator::operator++): Deleted. (WTF::BitVector::iterator::isAtEnd const): Deleted. (WTF::BitVector::iterator::operator== const): Deleted. (WTF::BitVector::iterator::operator!= const): Deleted. (WTF::BitVector::begin const): Deleted. (WTF::BitVector::end const): Deleted. (WTF::BitVector::bitsInPointer): Deleted. (WTF::BitVector::maxInlineBits): Deleted. (WTF::BitVector::byteCount): Deleted. (WTF::BitVector::makeInlineBits): Deleted. (WTF::BitVector::cleanseInlineBits): Deleted. (WTF::BitVector::bitCount): Deleted. (WTF::BitVector::findBitFast const): Deleted. (WTF::BitVector::findBitSimple const): Deleted. (WTF::BitVector::OutOfLineBits::numBits const): Deleted. (WTF::BitVector::OutOfLineBits::numWords const): Deleted. (WTF::BitVector::OutOfLineBits::bits): Deleted. (WTF::BitVector::OutOfLineBits::bits const): Deleted. (WTF::BitVector::OutOfLineBits::OutOfLineBits): Deleted. (WTF::BitVector::isInline const): Deleted. (WTF::BitVector::outOfLineBits const): Deleted. (WTF::BitVector::outOfLineBits): Deleted. (WTF::BitVector::bits): Deleted. (WTF::BitVector::bits const): Deleted. * wtf/Bitmap.h: (WTF::Bitmap::size): Deleted. (WTF::Bitmap::iterator::iterator): Deleted. (WTF::Bitmap::iterator::operator* const): Deleted. (WTF::Bitmap::iterator::operator++): Deleted. (WTF::Bitmap::iterator::operator== const): Deleted. (WTF::Bitmap::iterator::operator!= const): Deleted. (WTF::Bitmap::begin const): Deleted. (WTF::Bitmap::end const): Deleted. * wtf/Box.h: * wtf/BumpPointerAllocator.h: * wtf/CPUTime.h: * wtf/CheckedBoolean.h: * wtf/CommaPrinter.h: (WTF::CommaPrinter::CommaPrinter): Deleted. (WTF::CommaPrinter::dump const): Deleted. (WTF::CommaPrinter::didPrint const): Deleted. * wtf/CompactPointerTuple.h: (WTF::CompactPointerTuple::encodeType): Deleted. (WTF::CompactPointerTuple::decodeType): Deleted. (WTF::CompactPointerTuple::CompactPointerTuple): Deleted. (WTF::CompactPointerTuple::pointer const): Deleted. (WTF::CompactPointerTuple::setPointer): Deleted. (WTF::CompactPointerTuple::type const): Deleted. (WTF::CompactPointerTuple::setType): Deleted. * wtf/CompilationThread.h: (WTF::CompilationScope::CompilationScope): Deleted. (WTF::CompilationScope::~CompilationScope): Deleted. (WTF::CompilationScope::leaveEarly): Deleted. * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): (WTF::Detail::CallableWrapper<CompletionHandler<Out): (WTF::CompletionHandlerCallingScope::CompletionHandlerCallingScope): Deleted. (WTF::CompletionHandlerCallingScope::~CompletionHandlerCallingScope): Deleted. (WTF::CompletionHandlerCallingScope::CompletionHandler<void): Deleted. * wtf/ConcurrentBuffer.h: (WTF::ConcurrentBuffer::ConcurrentBuffer): Deleted. (WTF::ConcurrentBuffer::~ConcurrentBuffer): Deleted. (WTF::ConcurrentBuffer::growExact): Deleted. (WTF::ConcurrentBuffer::grow): Deleted. (WTF::ConcurrentBuffer::array const): Deleted. (WTF::ConcurrentBuffer::operator[]): Deleted. (WTF::ConcurrentBuffer::operator[] const): Deleted. (WTF::ConcurrentBuffer::createArray): Deleted. * wtf/ConcurrentPtrHashSet.h: (WTF::ConcurrentPtrHashSet::contains): Deleted. (WTF::ConcurrentPtrHashSet::add): Deleted. (WTF::ConcurrentPtrHashSet::size const): Deleted. (WTF::ConcurrentPtrHashSet::Table::maxLoad const): Deleted. (WTF::ConcurrentPtrHashSet::hash): Deleted. (WTF::ConcurrentPtrHashSet::cast): Deleted. (WTF::ConcurrentPtrHashSet::containsImpl const): Deleted. (WTF::ConcurrentPtrHashSet::addImpl): Deleted. * wtf/ConcurrentVector.h: (WTF::ConcurrentVector::~ConcurrentVector): Deleted. (WTF::ConcurrentVector::size const): Deleted. (WTF::ConcurrentVector::isEmpty const): Deleted. (WTF::ConcurrentVector::at): Deleted. (WTF::ConcurrentVector::at const): Deleted. (WTF::ConcurrentVector::operator[]): Deleted. (WTF::ConcurrentVector::operator[] const): Deleted. (WTF::ConcurrentVector::first): Deleted. (WTF::ConcurrentVector::first const): Deleted. (WTF::ConcurrentVector::last): Deleted. (WTF::ConcurrentVector::last const): Deleted. (WTF::ConcurrentVector::takeLast): Deleted. (WTF::ConcurrentVector::append): Deleted. (WTF::ConcurrentVector::alloc): Deleted. (WTF::ConcurrentVector::removeLast): Deleted. (WTF::ConcurrentVector::grow): Deleted. (WTF::ConcurrentVector::begin): Deleted. (WTF::ConcurrentVector::end): Deleted. (WTF::ConcurrentVector::segmentExistsFor): Deleted. (WTF::ConcurrentVector::segmentFor): Deleted. (WTF::ConcurrentVector::subscriptFor): Deleted. (WTF::ConcurrentVector::ensureSegmentsFor): Deleted. (WTF::ConcurrentVector::ensureSegment): Deleted. (WTF::ConcurrentVector::allocateSegment): Deleted. * wtf/Condition.h: (WTF::Condition::waitUntil): Deleted. (WTF::Condition::waitFor): Deleted. (WTF::Condition::wait): Deleted. (WTF::Condition::notifyOne): Deleted. (WTF::Condition::notifyAll): Deleted. * wtf/CountingLock.h: (WTF::CountingLock::LockHooks::lockHook): Deleted. (WTF::CountingLock::LockHooks::unlockHook): Deleted. (WTF::CountingLock::LockHooks::parkHook): Deleted. (WTF::CountingLock::LockHooks::handoffHook): Deleted. (WTF::CountingLock::tryLock): Deleted. (WTF::CountingLock::lock): Deleted. (WTF::CountingLock::unlock): Deleted. (WTF::CountingLock::isHeld const): Deleted. (WTF::CountingLock::isLocked const): Deleted. (WTF::CountingLock::Count::operator bool const): Deleted. (WTF::CountingLock::Count::operator== const): Deleted. (WTF::CountingLock::Count::operator!= const): Deleted. (WTF::CountingLock::tryOptimisticRead): Deleted. (WTF::CountingLock::validate): Deleted. (WTF::CountingLock::doOptimizedRead): Deleted. (WTF::CountingLock::tryOptimisticFencelessRead): Deleted. (WTF::CountingLock::fencelessValidate): Deleted. (WTF::CountingLock::doOptimizedFencelessRead): Deleted. (WTF::CountingLock::getCount): Deleted. * wtf/CrossThreadQueue.h: * wtf/CrossThreadTask.h: * wtf/CryptographicallyRandomNumber.cpp: * wtf/DataMutex.h: * wtf/DateMath.h: * wtf/Deque.h: (WTF::Deque::size const): Deleted. (WTF::Deque::isEmpty const): Deleted. (WTF::Deque::begin): Deleted. (WTF::Deque::end): Deleted. (WTF::Deque::begin const): Deleted. (WTF::Deque::end const): Deleted. (WTF::Deque::rbegin): Deleted. (WTF::Deque::rend): Deleted. (WTF::Deque::rbegin const): Deleted. (WTF::Deque::rend const): Deleted. (WTF::Deque::first): Deleted. (WTF::Deque::first const): Deleted. (WTF::Deque::last): Deleted. (WTF::Deque::last const): Deleted. (WTF::Deque::append): Deleted. * wtf/Dominators.h: * wtf/DoublyLinkedList.h: * wtf/Expected.h: * wtf/FastBitVector.h: * wtf/FileMetadata.h: * wtf/FileSystem.h: * wtf/GraphNodeWorklist.h: * wtf/GregorianDateTime.h: (WTF::GregorianDateTime::GregorianDateTime): Deleted. (WTF::GregorianDateTime::year const): Deleted. (WTF::GregorianDateTime::month const): Deleted. (WTF::GregorianDateTime::yearDay const): Deleted. (WTF::GregorianDateTime::monthDay const): Deleted. (WTF::GregorianDateTime::weekDay const): Deleted. (WTF::GregorianDateTime::hour const): Deleted. (WTF::GregorianDateTime::minute const): Deleted. (WTF::GregorianDateTime::second const): Deleted. (WTF::GregorianDateTime::utcOffset const): Deleted. (WTF::GregorianDateTime::isDST const): Deleted. (WTF::GregorianDateTime::setYear): Deleted. (WTF::GregorianDateTime::setMonth): Deleted. (WTF::GregorianDateTime::setYearDay): Deleted. (WTF::GregorianDateTime::setMonthDay): Deleted. (WTF::GregorianDateTime::setWeekDay): Deleted. (WTF::GregorianDateTime::setHour): Deleted. (WTF::GregorianDateTime::setMinute): Deleted. (WTF::GregorianDateTime::setSecond): Deleted. (WTF::GregorianDateTime::setUtcOffset): Deleted. (WTF::GregorianDateTime::setIsDST): Deleted. (WTF::GregorianDateTime::operator tm const): Deleted. (WTF::GregorianDateTime::copyFrom): Deleted. * wtf/HashTable.h: * wtf/Hasher.h: * wtf/HexNumber.h: * wtf/Indenter.h: * wtf/IndexMap.h: * wtf/IndexSet.h: * wtf/IndexSparseSet.h: * wtf/IndexedContainerIterator.h: * wtf/Insertion.h: * wtf/IteratorAdaptors.h: * wtf/IteratorRange.h: * wtf/KeyValuePair.h: * wtf/ListHashSet.h: (WTF::ListHashSet::begin): Deleted. (WTF::ListHashSet::end): Deleted. (WTF::ListHashSet::begin const): Deleted. (WTF::ListHashSet::end const): Deleted. (WTF::ListHashSet::random): Deleted. (WTF::ListHashSet::random const): Deleted. (WTF::ListHashSet::rbegin): Deleted. (WTF::ListHashSet::rend): Deleted. (WTF::ListHashSet::rbegin const): Deleted. (WTF::ListHashSet::rend const): Deleted. * wtf/Liveness.h: * wtf/LocklessBag.h: (WTF::LocklessBag::LocklessBag): Deleted. (WTF::LocklessBag::add): Deleted. (WTF::LocklessBag::iterate): Deleted. (WTF::LocklessBag::consumeAll): Deleted. (WTF::LocklessBag::consumeAllWithNode): Deleted. (WTF::LocklessBag::~LocklessBag): Deleted. * wtf/LoggingHashID.h: * wtf/MD5.h: * wtf/MachSendRight.h: * wtf/MainThreadData.h: * wtf/Markable.h: * wtf/MediaTime.h: * wtf/MemoryPressureHandler.h: * wtf/MessageQueue.h: (WTF::MessageQueue::MessageQueue): Deleted. * wtf/MetaAllocator.h: * wtf/MonotonicTime.h: (WTF::MonotonicTime::MonotonicTime): Deleted. (WTF::MonotonicTime::fromRawSeconds): Deleted. (WTF::MonotonicTime::infinity): Deleted. (WTF::MonotonicTime::nan): Deleted. (WTF::MonotonicTime::secondsSinceEpoch const): Deleted. (WTF::MonotonicTime::approximateMonotonicTime const): Deleted. (WTF::MonotonicTime::operator bool const): Deleted. (WTF::MonotonicTime::operator+ const): Deleted. (WTF::MonotonicTime::operator- const): Deleted. (WTF::MonotonicTime::operator% const): Deleted. (WTF::MonotonicTime::operator+=): Deleted. (WTF::MonotonicTime::operator-=): Deleted. (WTF::MonotonicTime::operator== const): Deleted. (WTF::MonotonicTime::operator!= const): Deleted. (WTF::MonotonicTime::operator< const): Deleted. (WTF::MonotonicTime::operator> const): Deleted. (WTF::MonotonicTime::operator<= const): Deleted. (WTF::MonotonicTime::operator>= const): Deleted. (WTF::MonotonicTime::isolatedCopy const): Deleted. (WTF::MonotonicTime::encode const): Deleted. (WTF::MonotonicTime::decode): Deleted. * wtf/NaturalLoops.h: * wtf/NoLock.h: * wtf/OSAllocator.h: * wtf/OptionSet.h: * wtf/Optional.h: * wtf/OrderMaker.h: * wtf/Packed.h: (WTF::alignof): * wtf/PackedIntVector.h: (WTF::PackedIntVector::PackedIntVector): Deleted. (WTF::PackedIntVector::operator=): Deleted. (WTF::PackedIntVector::size const): Deleted. (WTF::PackedIntVector::ensureSize): Deleted. (WTF::PackedIntVector::resize): Deleted. (WTF::PackedIntVector::clearAll): Deleted. (WTF::PackedIntVector::get const): Deleted. (WTF::PackedIntVector::set): Deleted. (WTF::PackedIntVector::mask): Deleted. * wtf/PageBlock.h: * wtf/ParallelJobsOpenMP.h: * wtf/ParkingLot.h: * wtf/PriorityQueue.h: (WTF::PriorityQueue::size const): Deleted. (WTF::PriorityQueue::isEmpty const): Deleted. (WTF::PriorityQueue::enqueue): Deleted. (WTF::PriorityQueue::peek const): Deleted. (WTF::PriorityQueue::dequeue): Deleted. (WTF::PriorityQueue::decreaseKey): Deleted. (WTF::PriorityQueue::increaseKey): Deleted. (WTF::PriorityQueue::begin const): Deleted. (WTF::PriorityQueue::end const): Deleted. (WTF::PriorityQueue::isValidHeap const): Deleted. (WTF::PriorityQueue::parentOf): Deleted. (WTF::PriorityQueue::leftChildOf): Deleted. (WTF::PriorityQueue::rightChildOf): Deleted. (WTF::PriorityQueue::siftUp): Deleted. (WTF::PriorityQueue::siftDown): Deleted. * wtf/RandomDevice.h: * wtf/Range.h: * wtf/RangeSet.h: (WTF::RangeSet::RangeSet): Deleted. (WTF::RangeSet::~RangeSet): Deleted. (WTF::RangeSet::add): Deleted. (WTF::RangeSet::contains const): Deleted. (WTF::RangeSet::overlaps const): Deleted. (WTF::RangeSet::clear): Deleted. (WTF::RangeSet::dump const): Deleted. (WTF::RangeSet::dumpRaw const): Deleted. (WTF::RangeSet::begin const): Deleted. (WTF::RangeSet::end const): Deleted. (WTF::RangeSet::addAll): Deleted. (WTF::RangeSet::compact): Deleted. (WTF::RangeSet::overlapsNonEmpty): Deleted. (WTF::RangeSet::subsumesNonEmpty): Deleted. (WTF::RangeSet::findRange const): Deleted. * wtf/RecursableLambda.h: * wtf/RedBlackTree.h: (WTF::RedBlackTree::Node::successor const): Deleted. (WTF::RedBlackTree::Node::predecessor const): Deleted. (WTF::RedBlackTree::Node::successor): Deleted. (WTF::RedBlackTree::Node::predecessor): Deleted. (WTF::RedBlackTree::Node::reset): Deleted. (WTF::RedBlackTree::Node::parent const): Deleted. (WTF::RedBlackTree::Node::setParent): Deleted. (WTF::RedBlackTree::Node::left const): Deleted. (WTF::RedBlackTree::Node::setLeft): Deleted. (WTF::RedBlackTree::Node::right const): Deleted. (WTF::RedBlackTree::Node::setRight): Deleted. (WTF::RedBlackTree::Node::color const): Deleted. (WTF::RedBlackTree::Node::setColor): Deleted. (WTF::RedBlackTree::RedBlackTree): Deleted. (WTF::RedBlackTree::insert): Deleted. (WTF::RedBlackTree::remove): Deleted. (WTF::RedBlackTree::findExact const): Deleted. (WTF::RedBlackTree::findLeastGreaterThanOrEqual const): Deleted. (WTF::RedBlackTree::findGreatestLessThanOrEqual const): Deleted. (WTF::RedBlackTree::first const): Deleted. (WTF::RedBlackTree::last const): Deleted. (WTF::RedBlackTree::size): Deleted. (WTF::RedBlackTree::isEmpty): Deleted. (WTF::RedBlackTree::treeMinimum): Deleted. (WTF::RedBlackTree::treeMaximum): Deleted. (WTF::RedBlackTree::treeInsert): Deleted. (WTF::RedBlackTree::leftRotate): Deleted. (WTF::RedBlackTree::rightRotate): Deleted. (WTF::RedBlackTree::removeFixup): Deleted. * wtf/ResourceUsage.h: * wtf/RunLoop.cpp: * wtf/RunLoopTimer.h: * wtf/SHA1.h: * wtf/Seconds.h: (WTF::Seconds::Seconds): Deleted. (WTF::Seconds::value const): Deleted. (WTF::Seconds::minutes const): Deleted. (WTF::Seconds::seconds const): Deleted. (WTF::Seconds::milliseconds const): Deleted. (WTF::Seconds::microseconds const): Deleted. (WTF::Seconds::nanoseconds const): Deleted. (WTF::Seconds::minutesAs const): Deleted. (WTF::Seconds::secondsAs const): Deleted. (WTF::Seconds::millisecondsAs const): Deleted. (WTF::Seconds::microsecondsAs const): Deleted. (WTF::Seconds::nanosecondsAs const): Deleted. (WTF::Seconds::fromMinutes): Deleted. (WTF::Seconds::fromHours): Deleted. (WTF::Seconds::fromMilliseconds): Deleted. (WTF::Seconds::fromMicroseconds): Deleted. (WTF::Seconds::fromNanoseconds): Deleted. (WTF::Seconds::infinity): Deleted. (WTF::Seconds::nan): Deleted. (WTF::Seconds::operator bool const): Deleted. (WTF::Seconds::operator+ const): Deleted. (WTF::Seconds::operator- const): Deleted. (WTF::Seconds::operator* const): Deleted. (WTF::Seconds::operator/ const): Deleted. (WTF::Seconds::operator% const): Deleted. (WTF::Seconds::operator+=): Deleted. (WTF::Seconds::operator-=): Deleted. (WTF::Seconds::operator*=): Deleted. (WTF::Seconds::operator/=): Deleted. (WTF::Seconds::operator%=): Deleted. (WTF::Seconds::operator== const): Deleted. (WTF::Seconds::operator!= const): Deleted. (WTF::Seconds::operator< const): Deleted. (WTF::Seconds::operator> const): Deleted. (WTF::Seconds::operator<= const): Deleted. (WTF::Seconds::operator>= const): Deleted. (WTF::Seconds::isolatedCopy const): Deleted. (WTF::Seconds::encode const): Deleted. (WTF::Seconds::decode): Deleted. * wtf/SegmentedVector.h: (WTF::SegmentedVector::~SegmentedVector): Deleted. (WTF::SegmentedVector::size const): Deleted. (WTF::SegmentedVector::isEmpty const): Deleted. (WTF::SegmentedVector::at): Deleted. (WTF::SegmentedVector::at const): Deleted. (WTF::SegmentedVector::operator[]): Deleted. (WTF::SegmentedVector::operator[] const): Deleted. (WTF::SegmentedVector::first): Deleted. (WTF::SegmentedVector::first const): Deleted. (WTF::SegmentedVector::last): Deleted. (WTF::SegmentedVector::last const): Deleted. (WTF::SegmentedVector::takeLast): Deleted. (WTF::SegmentedVector::append): Deleted. (WTF::SegmentedVector::alloc): Deleted. (WTF::SegmentedVector::removeLast): Deleted. (WTF::SegmentedVector::grow): Deleted. (WTF::SegmentedVector::clear): Deleted. (WTF::SegmentedVector::begin): Deleted. (WTF::SegmentedVector::end): Deleted. (WTF::SegmentedVector::shrinkToFit): Deleted. (WTF::SegmentedVector::deleteAllSegments): Deleted. (WTF::SegmentedVector::segmentExistsFor): Deleted. (WTF::SegmentedVector::segmentFor): Deleted. (WTF::SegmentedVector::subscriptFor): Deleted. (WTF::SegmentedVector::ensureSegmentsFor): Deleted. (WTF::SegmentedVector::ensureSegment): Deleted. (WTF::SegmentedVector::allocateSegment): Deleted. * wtf/SetForScope.h: * wtf/SingleRootGraph.h: * wtf/SinglyLinkedList.h: * wtf/SmallPtrSet.h: * wtf/SpanningTree.h: * wtf/Spectrum.h: * wtf/StackBounds.h: * wtf/StackShot.h: * wtf/StackShotProfiler.h: * wtf/StackStats.h: * wtf/StackTrace.h: * wtf/StreamBuffer.h: * wtf/SynchronizedFixedQueue.h: (WTF::SynchronizedFixedQueue::create): Deleted. (WTF::SynchronizedFixedQueue::open): Deleted. (WTF::SynchronizedFixedQueue::close): Deleted. (WTF::SynchronizedFixedQueue::isOpen): Deleted. (WTF::SynchronizedFixedQueue::enqueue): Deleted. (WTF::SynchronizedFixedQueue::dequeue): Deleted. (WTF::SynchronizedFixedQueue::SynchronizedFixedQueue): Deleted. * wtf/SystemTracing.h: * wtf/ThreadGroup.h: (WTF::ThreadGroup::create): Deleted. (WTF::ThreadGroup::threads const): Deleted. (WTF::ThreadGroup::getLock): Deleted. (WTF::ThreadGroup::weakFromThis): Deleted. * wtf/ThreadSpecific.h: * wtf/ThreadingPrimitives.h: (WTF::Mutex::impl): Deleted. * wtf/TimeWithDynamicClockType.h: (WTF::TimeWithDynamicClockType::TimeWithDynamicClockType): Deleted. (WTF::TimeWithDynamicClockType::fromRawSeconds): Deleted. (WTF::TimeWithDynamicClockType::secondsSinceEpoch const): Deleted. (WTF::TimeWithDynamicClockType::clockType const): Deleted. (WTF::TimeWithDynamicClockType::withSameClockAndRawSeconds const): Deleted. (WTF::TimeWithDynamicClockType::operator bool const): Deleted. (WTF::TimeWithDynamicClockType::operator+ const): Deleted. (WTF::TimeWithDynamicClockType::operator- const): Deleted. (WTF::TimeWithDynamicClockType::operator+=): Deleted. (WTF::TimeWithDynamicClockType::operator-=): Deleted. (WTF::TimeWithDynamicClockType::operator== const): Deleted. (WTF::TimeWithDynamicClockType::operator!= const): Deleted. * wtf/TimingScope.h: * wtf/TinyLRUCache.h: * wtf/TinyPtrSet.h: * wtf/URLParser.cpp: * wtf/URLParser.h: * wtf/Unexpected.h: * wtf/Variant.h: * wtf/WTFSemaphore.h: (WTF::Semaphore::Semaphore): Deleted. (WTF::Semaphore::signal): Deleted. (WTF::Semaphore::waitUntil): Deleted. (WTF::Semaphore::waitFor): Deleted. (WTF::Semaphore::wait): Deleted. * wtf/WallTime.h: (WTF::WallTime::WallTime): Deleted. (WTF::WallTime::fromRawSeconds): Deleted. (WTF::WallTime::infinity): Deleted. (WTF::WallTime::nan): Deleted. (WTF::WallTime::secondsSinceEpoch const): Deleted. (WTF::WallTime::approximateWallTime const): Deleted. (WTF::WallTime::operator bool const): Deleted. (WTF::WallTime::operator+ const): Deleted. (WTF::WallTime::operator- const): Deleted. (WTF::WallTime::operator+=): Deleted. (WTF::WallTime::operator-=): Deleted. (WTF::WallTime::operator== const): Deleted. (WTF::WallTime::operator!= const): Deleted. (WTF::WallTime::operator< const): Deleted. (WTF::WallTime::operator> const): Deleted. (WTF::WallTime::operator<= const): Deleted. (WTF::WallTime::operator>= const): Deleted. (WTF::WallTime::isolatedCopy const): Deleted. * wtf/WeakHashSet.h: (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator* const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator++): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator== const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const): Deleted. (WTF::WeakHashSet::WeakHashSet): Deleted. (WTF::WeakHashSet::begin const): Deleted. (WTF::WeakHashSet::end const): Deleted. (WTF::WeakHashSet::add): Deleted. (WTF::WeakHashSet::remove): Deleted. (WTF::WeakHashSet::contains const): Deleted. (WTF::WeakHashSet::capacity const): Deleted. (WTF::WeakHashSet::computesEmpty const): Deleted. (WTF::WeakHashSet::hasNullReferences const): Deleted. (WTF::WeakHashSet::computeSize const): Deleted. (WTF::WeakHashSet::checkConsistency const): Deleted. * wtf/WeakRandom.h: (WTF::WeakRandom::WeakRandom): Deleted. (WTF::WeakRandom::setSeed): Deleted. (WTF::WeakRandom::seed const): Deleted. (WTF::WeakRandom::get): Deleted. (WTF::WeakRandom::getUint32): Deleted. (WTF::WeakRandom::lowOffset): Deleted. (WTF::WeakRandom::highOffset): Deleted. (WTF::WeakRandom::nextState): Deleted. (WTF::WeakRandom::generate): Deleted. (WTF::WeakRandom::advance): Deleted. * wtf/WordLock.h: (WTF::WordLock::lock): Deleted. (WTF::WordLock::unlock): Deleted. (WTF::WordLock::isHeld const): Deleted. (WTF::WordLock::isLocked const): Deleted. (WTF::WordLock::isFullyReset const): Deleted. * wtf/generic/MainThreadGeneric.cpp: * wtf/glib/GMutexLocker.h: * wtf/linux/CurrentProcessMemoryStatus.h: * wtf/posix/ThreadingPOSIX.cpp: (WTF::Semaphore::Semaphore): Deleted. (WTF::Semaphore::~Semaphore): Deleted. (WTF::Semaphore::wait): Deleted. (WTF::Semaphore::post): Deleted. * wtf/text/ASCIILiteral.h: (WTF::ASCIILiteral::operator const char* const): Deleted. (WTF::ASCIILiteral::fromLiteralUnsafe): Deleted. (WTF::ASCIILiteral::null): Deleted. (WTF::ASCIILiteral::characters const): Deleted. (WTF::ASCIILiteral::ASCIILiteral): Deleted. * wtf/text/AtomString.h: (WTF::AtomString::operator=): Deleted. (WTF::AtomString::isHashTableDeletedValue const): Deleted. (WTF::AtomString::existingHash const): Deleted. (WTF::AtomString::operator const String& const): Deleted. (WTF::AtomString::string const): Deleted. (WTF::AtomString::impl const): Deleted. (WTF::AtomString::is8Bit const): Deleted. (WTF::AtomString::characters8 const): Deleted. (WTF::AtomString::characters16 const): Deleted. (WTF::AtomString::length const): Deleted. (WTF::AtomString::operator[] const): Deleted. (WTF::AtomString::contains const): Deleted. (WTF::AtomString::containsIgnoringASCIICase const): Deleted. (WTF::AtomString::find const): Deleted. (WTF::AtomString::findIgnoringASCIICase const): Deleted. (WTF::AtomString::startsWith const): Deleted. (WTF::AtomString::startsWithIgnoringASCIICase const): Deleted. (WTF::AtomString::endsWith const): Deleted. (WTF::AtomString::endsWithIgnoringASCIICase const): Deleted. (WTF::AtomString::toInt const): Deleted. (WTF::AtomString::toDouble const): Deleted. (WTF::AtomString::toFloat const): Deleted. (WTF::AtomString::percentage const): Deleted. (WTF::AtomString::isNull const): Deleted. (WTF::AtomString::isEmpty const): Deleted. (WTF::AtomString::operator NSString * const): Deleted. * wtf/text/AtomStringImpl.h: (WTF::AtomStringImpl::lookUp): Deleted. (WTF::AtomStringImpl::add): Deleted. (WTF::AtomStringImpl::addWithStringTableProvider): Deleted. * wtf/text/CString.h: (WTF::CStringBuffer::data): Deleted. (WTF::CStringBuffer::length const): Deleted. (WTF::CStringBuffer::CStringBuffer): Deleted. (WTF::CStringBuffer::mutableData): Deleted. (WTF::CString::CString): Deleted. (WTF::CString::data const): Deleted. (WTF::CString::length const): Deleted. (WTF::CString::isNull const): Deleted. (WTF::CString::buffer const): Deleted. (WTF::CString::isHashTableDeletedValue const): Deleted. * wtf/text/ExternalStringImpl.h: (WTF::ExternalStringImpl::freeExternalBuffer): Deleted. * wtf/text/LineBreakIteratorPoolICU.h: * wtf/text/NullTextBreakIterator.h: * wtf/text/OrdinalNumber.h: * wtf/text/StringBuffer.h: * wtf/text/StringBuilder.h: * wtf/text/StringConcatenateNumbers.h: * wtf/text/StringHasher.h: * wtf/text/StringImpl.h: * wtf/text/StringView.cpp: * wtf/text/StringView.h: (WTF::StringView::left const): Deleted. (WTF::StringView::right const): Deleted. (WTF::StringView::underlyingStringIsValid const): Deleted. (WTF::StringView::setUnderlyingString): Deleted. * wtf/text/SymbolImpl.h: (WTF::SymbolImpl::StaticSymbolImpl::StaticSymbolImpl): Deleted. (WTF::SymbolImpl::StaticSymbolImpl::operator SymbolImpl&): Deleted. (WTF::PrivateSymbolImpl::PrivateSymbolImpl): Deleted. (WTF::RegisteredSymbolImpl::symbolRegistry const): Deleted. (WTF::RegisteredSymbolImpl::clearSymbolRegistry): Deleted. (WTF::RegisteredSymbolImpl::RegisteredSymbolImpl): Deleted. * wtf/text/SymbolRegistry.h: * wtf/text/TextBreakIterator.h: * wtf/text/TextPosition.h: * wtf/text/TextStream.h: * wtf/text/WTFString.h: (WTF::String::swap): Deleted. (WTF::String::adopt): Deleted. (WTF::String::isNull const): Deleted. (WTF::String::isEmpty const): Deleted. (WTF::String::impl const): Deleted. (WTF::String::releaseImpl): Deleted. (WTF::String::length const): Deleted. (WTF::String::characters8 const): Deleted. (WTF::String::characters16 const): Deleted. (WTF::String::is8Bit const): Deleted. (WTF::String::sizeInBytes const): Deleted. (WTF::String::operator[] const): Deleted. (WTF::String::find const): Deleted. (WTF::String::findIgnoringASCIICase const): Deleted. (WTF::String::reverseFind const): Deleted. (WTF::String::contains const): Deleted. (WTF::String::containsIgnoringASCIICase const): Deleted. (WTF::String::startsWith const): Deleted. (WTF::String::startsWithIgnoringASCIICase const): Deleted. (WTF::String::hasInfixStartingAt const): Deleted. (WTF::String::endsWith const): Deleted. (WTF::String::endsWithIgnoringASCIICase const): Deleted. (WTF::String::hasInfixEndingAt const): Deleted. (WTF::String::append): Deleted. (WTF::String::left const): Deleted. (WTF::String::right const): Deleted. (WTF::String::createUninitialized): Deleted. (WTF::String::fromUTF8WithLatin1Fallback): Deleted. (WTF::String::isAllASCII const): Deleted. (WTF::String::isAllLatin1 const): Deleted. (WTF::String::isSpecialCharacter const): Deleted. (WTF::String::isHashTableDeletedValue const): Deleted. (WTF::String::hash const): Deleted. (WTF::String::existingHash const): Deleted. * wtf/text/cf/TextBreakIteratorCF.h: * wtf/text/icu/TextBreakIteratorICU.h: * wtf/text/icu/UTextProviderLatin1.h: * wtf/threads/BinarySemaphore.h: (WTF::BinarySemaphore::waitFor): Deleted. (WTF::BinarySemaphore::wait): Deleted. * wtf/unicode/Collator.h: * wtf/win/GDIObject.h: * wtf/win/PathWalker.h: * wtf/win/Win32Handle.h: Canonical link: https://commits.webkit.org/214396@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-08-12 20:57:15 +00:00
WTF_MAKE_FAST_ALLOCATED;
Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction(). https://bugs.webkit.org/show_bug.cgi?id=203936 <rdar://problem/56624724> Reviewed by Saam Barati. JSTests: This issue originally manifested as incorrect-exception-assertion-in-operationRegExpExecNonGlobalOrSticky.js failing on iOS devices due to its smaller stack. We adapted the original test here using $vm.callWithStackSize() to reproduce the issue on x86_64 though it has a much larger physical stack to work with. This new test will crash while stepping on the guard page beyond the end of the stack if the fix is not applied. * stress/stack-overflow-in-yarr-byteCompile.js: Added. Source/JavaScriptCore: Basically, any functions below Yarr::ByteCompiler::compile() that recurses need to check if it's safe to recurse before doing so. This patch adds the stack checks in Yarr::ByteCompiler::compile() because it is the entry point to this sub-system, and Yarr::ByteCompiler::emitDisjunction() because it is the only function that recurses. All other functions called below compile() are either leaf functions or have shallow stack usage. Hence, their stack needs are covered by the DefaultReservedZone, and they do not need stack checks. This patch also does the following: 1. Added $vm.callWithStackSize() which can be used to call a test function near the end of the physical stack. This enables is to simulate the smaller stack size of more resource constrained devices. $vm.callWithStackSize() uses inline asm to adjust the stack pointer and does the callback via the JIT probe trampoline. 2. Added the --disableOptionsFreezingForTesting to the jsc shell to make it possible to disable freezing of JSC options. $vm.callWithStackSize() relies on this to modify the VM's stack limits. 3. Removed the inline modifier on VM::updateStackLimits() so that we can call it from $vm.callWithStackSize() as well. It is not a performance critical function and is rarely called. 4. Added a JSDollarVMHelper class that other parts of the system can declare as a friend. This gives $vm a backdoor into the private functions and fields of classes for its debugging work. In this patch, we're only using it to access VM::updateVMStackLimits(). * jsc.cpp: (CommandLine::parseArguments): * runtime/VM.cpp: (JSC::VM::updateStackLimits): * runtime/VM.h: * tools/JSDollarVM.cpp: (JSC::JSDollarVMHelper::JSDollarVMHelper): (JSC::JSDollarVMHelper::vmStackStart): (JSC::JSDollarVMHelper::vmStackLimit): (JSC::JSDollarVMHelper::vmSoftStackLimit): (JSC::JSDollarVMHelper::updateVMStackLimits): (JSC::callWithStackSizeProbeFunction): (JSC::functionCallWithStackSize): (JSC::JSDollarVM::finishCreation): (IGNORE_WARNINGS_BEGIN): Deleted. * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::ByteCompiler::isSafeToRecurse): Source/WTF: 1. Add a StackCheck utility class so that we don't have to keep reinventing this every time we need to add stack checking somewhere. 2. Rename some arguments and constants in StackBounds to be more descriptive of what they actually are. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::recursionLimit const): * wtf/StackCheck.h: Added. (WTF::StackCheck::StackCheck): (WTF::StackCheck::isSafeToRecurse): Canonical link: https://commits.webkit.org/217331@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-08 16:58:49 +00:00
public:
[WTF][JSC] Make JSC and WTF aggressively-fast-malloced https://bugs.webkit.org/show_bug.cgi?id=200611 Reviewed by Saam Barati. Source/JavaScriptCore: This patch aggressively puts many classes into FastMalloc. In JSC side, we grep `std::make_unique` etc. to find potentially system-malloc-allocated classes. After this patch, all the JSC related allocations in JetStream2 cli is done from bmalloc. In the future, it would be nice that we add `WTF::makeUnique<T>` helper function and throw a compile error if `T` is not FastMalloc annotated[1]. Putting WebKit classes in FastMalloc has many benefits. 1. Simply, it is fast. 2. vmmap can tell the amount of memory used for WebKit. 3. bmalloc can isolate WebKit memory allocation from the rest of the world. This is useful since we can know more about what component is corrupting the memory from the memory corruption crash. [1]: https://bugs.webkit.org/show_bug.cgi?id=200620 * API/ObjCCallbackFunction.mm: * assembler/AbstractMacroAssembler.h: * b3/B3PhiChildren.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirDisassembler.h: * bytecode/AccessCaseSnippetParams.h: * bytecode/CallVariant.h: * bytecode/DeferredSourceDump.h: * bytecode/ExecutionCounter.h: * bytecode/GetByIdStatus.h: * bytecode/GetByIdVariant.h: * bytecode/InByIdStatus.h: * bytecode/InByIdVariant.h: * bytecode/InstanceOfStatus.h: * bytecode/InstanceOfVariant.h: * bytecode/PutByIdStatus.h: * bytecode/PutByIdVariant.h: * bytecode/ValueProfile.h: * dfg/DFGAbstractInterpreter.h: * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::newVariableAccessData): * dfg/DFGFlowIndexing.h: * dfg/DFGFlowMap.h: * dfg/DFGLiveCatchVariablePreservationPhase.cpp: (JSC::DFG::LiveCatchVariablePreservationPhase::newVariableAccessData): * dfg/DFGMaximalFlushInsertionPhase.cpp: (JSC::DFG::MaximalFlushInsertionPhase::newVariableAccessData): * dfg/DFGOSRExit.h: * dfg/DFGSpeculativeJIT.h: * dfg/DFGVariableAccessData.h: * disassembler/ARM64/A64DOpcode.h: * inspector/remote/socket/RemoteInspectorMessageParser.h: * inspector/remote/socket/RemoteInspectorSocket.h: * inspector/remote/socket/RemoteInspectorSocketEndpoint.h: * jit/PCToCodeOriginMap.h: * runtime/BasicBlockLocation.h: * runtime/DoublePredictionFuzzerAgent.h: * runtime/JSRunLoopTimer.h: * runtime/PromiseDeferredTimer.h: (JSC::PromiseDeferredTimer::create): PromiseDeferredTimer should be allocated as `Ref<>` instead of `std::unique_ptr` since it is inheriting ThreadSafeRefCounted<>. Holding such a class with std::unique_ptr could lead to potentially dangerous operations (like, someone holds it with Ref<> while it is deleted by std::unique_ptr<>). * runtime/RandomizingFuzzerAgent.h: * runtime/SymbolTable.h: * runtime/VM.cpp: (JSC::VM::VM): * runtime/VM.h: * tools/JSDollarVM.cpp: * tools/SigillCrashAnalyzer.cpp: * wasm/WasmFormat.h: * wasm/WasmMemory.cpp: * wasm/WasmSignature.h: * yarr/YarrJIT.h: Source/WebCore: Changed the accessor since we changed std::unique_ptr to Ref for this field. No behavior change. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::addTimerSetNotification): (WebCore::WorkerScriptController::removeTimerSetNotification): Source/WTF: WTF has many data structures, in particular, containers. And these containers can be allocated like `std::make_unique<Container>()`. Without WTF_MAKE_FAST_ALLOCATED, this container itself is allocated from the system malloc. This patch attaches WTF_MAKE_FAST_ALLOCATED more aggressively not to allocate them from the system malloc. And we add some `final` to containers and classes that would be never inherited. * wtf/Assertions.cpp: * wtf/Atomics.h: * wtf/AutodrainedPool.h: * wtf/Bag.h: (WTF::Bag::Bag): Deleted. (WTF::Bag::~Bag): Deleted. (WTF::Bag::clear): Deleted. (WTF::Bag::add): Deleted. (WTF::Bag::iterator::iterator): Deleted. (WTF::Bag::iterator::operator! const): Deleted. (WTF::Bag::iterator::operator* const): Deleted. (WTF::Bag::iterator::operator++): Deleted. (WTF::Bag::iterator::operator== const): Deleted. (WTF::Bag::iterator::operator!= const): Deleted. (WTF::Bag::begin): Deleted. (WTF::Bag::begin const): Deleted. (WTF::Bag::end const): Deleted. (WTF::Bag::isEmpty const): Deleted. (WTF::Bag::unwrappedHead const): Deleted. * wtf/BitVector.h: (WTF::BitVector::BitVector): Deleted. (WTF::BitVector::~BitVector): Deleted. (WTF::BitVector::operator=): Deleted. (WTF::BitVector::size const): Deleted. (WTF::BitVector::ensureSize): Deleted. (WTF::BitVector::quickGet const): Deleted. (WTF::BitVector::quickSet): Deleted. (WTF::BitVector::quickClear): Deleted. (WTF::BitVector::get const): Deleted. (WTF::BitVector::contains const): Deleted. (WTF::BitVector::set): Deleted. (WTF::BitVector::add): Deleted. (WTF::BitVector::ensureSizeAndSet): Deleted. (WTF::BitVector::clear): Deleted. (WTF::BitVector::remove): Deleted. (WTF::BitVector::merge): Deleted. (WTF::BitVector::filter): Deleted. (WTF::BitVector::exclude): Deleted. (WTF::BitVector::bitCount const): Deleted. (WTF::BitVector::isEmpty const): Deleted. (WTF::BitVector::findBit const): Deleted. (WTF::BitVector::isEmptyValue const): Deleted. (WTF::BitVector::isDeletedValue const): Deleted. (WTF::BitVector::isEmptyOrDeletedValue const): Deleted. (WTF::BitVector::operator== const): Deleted. (WTF::BitVector::hash const): Deleted. (WTF::BitVector::iterator::iterator): Deleted. (WTF::BitVector::iterator::operator* const): Deleted. (WTF::BitVector::iterator::operator++): Deleted. (WTF::BitVector::iterator::isAtEnd const): Deleted. (WTF::BitVector::iterator::operator== const): Deleted. (WTF::BitVector::iterator::operator!= const): Deleted. (WTF::BitVector::begin const): Deleted. (WTF::BitVector::end const): Deleted. (WTF::BitVector::bitsInPointer): Deleted. (WTF::BitVector::maxInlineBits): Deleted. (WTF::BitVector::byteCount): Deleted. (WTF::BitVector::makeInlineBits): Deleted. (WTF::BitVector::cleanseInlineBits): Deleted. (WTF::BitVector::bitCount): Deleted. (WTF::BitVector::findBitFast const): Deleted. (WTF::BitVector::findBitSimple const): Deleted. (WTF::BitVector::OutOfLineBits::numBits const): Deleted. (WTF::BitVector::OutOfLineBits::numWords const): Deleted. (WTF::BitVector::OutOfLineBits::bits): Deleted. (WTF::BitVector::OutOfLineBits::bits const): Deleted. (WTF::BitVector::OutOfLineBits::OutOfLineBits): Deleted. (WTF::BitVector::isInline const): Deleted. (WTF::BitVector::outOfLineBits const): Deleted. (WTF::BitVector::outOfLineBits): Deleted. (WTF::BitVector::bits): Deleted. (WTF::BitVector::bits const): Deleted. * wtf/Bitmap.h: (WTF::Bitmap::size): Deleted. (WTF::Bitmap::iterator::iterator): Deleted. (WTF::Bitmap::iterator::operator* const): Deleted. (WTF::Bitmap::iterator::operator++): Deleted. (WTF::Bitmap::iterator::operator== const): Deleted. (WTF::Bitmap::iterator::operator!= const): Deleted. (WTF::Bitmap::begin const): Deleted. (WTF::Bitmap::end const): Deleted. * wtf/Box.h: * wtf/BumpPointerAllocator.h: * wtf/CPUTime.h: * wtf/CheckedBoolean.h: * wtf/CommaPrinter.h: (WTF::CommaPrinter::CommaPrinter): Deleted. (WTF::CommaPrinter::dump const): Deleted. (WTF::CommaPrinter::didPrint const): Deleted. * wtf/CompactPointerTuple.h: (WTF::CompactPointerTuple::encodeType): Deleted. (WTF::CompactPointerTuple::decodeType): Deleted. (WTF::CompactPointerTuple::CompactPointerTuple): Deleted. (WTF::CompactPointerTuple::pointer const): Deleted. (WTF::CompactPointerTuple::setPointer): Deleted. (WTF::CompactPointerTuple::type const): Deleted. (WTF::CompactPointerTuple::setType): Deleted. * wtf/CompilationThread.h: (WTF::CompilationScope::CompilationScope): Deleted. (WTF::CompilationScope::~CompilationScope): Deleted. (WTF::CompilationScope::leaveEarly): Deleted. * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): (WTF::Detail::CallableWrapper<CompletionHandler<Out): (WTF::CompletionHandlerCallingScope::CompletionHandlerCallingScope): Deleted. (WTF::CompletionHandlerCallingScope::~CompletionHandlerCallingScope): Deleted. (WTF::CompletionHandlerCallingScope::CompletionHandler<void): Deleted. * wtf/ConcurrentBuffer.h: (WTF::ConcurrentBuffer::ConcurrentBuffer): Deleted. (WTF::ConcurrentBuffer::~ConcurrentBuffer): Deleted. (WTF::ConcurrentBuffer::growExact): Deleted. (WTF::ConcurrentBuffer::grow): Deleted. (WTF::ConcurrentBuffer::array const): Deleted. (WTF::ConcurrentBuffer::operator[]): Deleted. (WTF::ConcurrentBuffer::operator[] const): Deleted. (WTF::ConcurrentBuffer::createArray): Deleted. * wtf/ConcurrentPtrHashSet.h: (WTF::ConcurrentPtrHashSet::contains): Deleted. (WTF::ConcurrentPtrHashSet::add): Deleted. (WTF::ConcurrentPtrHashSet::size const): Deleted. (WTF::ConcurrentPtrHashSet::Table::maxLoad const): Deleted. (WTF::ConcurrentPtrHashSet::hash): Deleted. (WTF::ConcurrentPtrHashSet::cast): Deleted. (WTF::ConcurrentPtrHashSet::containsImpl const): Deleted. (WTF::ConcurrentPtrHashSet::addImpl): Deleted. * wtf/ConcurrentVector.h: (WTF::ConcurrentVector::~ConcurrentVector): Deleted. (WTF::ConcurrentVector::size const): Deleted. (WTF::ConcurrentVector::isEmpty const): Deleted. (WTF::ConcurrentVector::at): Deleted. (WTF::ConcurrentVector::at const): Deleted. (WTF::ConcurrentVector::operator[]): Deleted. (WTF::ConcurrentVector::operator[] const): Deleted. (WTF::ConcurrentVector::first): Deleted. (WTF::ConcurrentVector::first const): Deleted. (WTF::ConcurrentVector::last): Deleted. (WTF::ConcurrentVector::last const): Deleted. (WTF::ConcurrentVector::takeLast): Deleted. (WTF::ConcurrentVector::append): Deleted. (WTF::ConcurrentVector::alloc): Deleted. (WTF::ConcurrentVector::removeLast): Deleted. (WTF::ConcurrentVector::grow): Deleted. (WTF::ConcurrentVector::begin): Deleted. (WTF::ConcurrentVector::end): Deleted. (WTF::ConcurrentVector::segmentExistsFor): Deleted. (WTF::ConcurrentVector::segmentFor): Deleted. (WTF::ConcurrentVector::subscriptFor): Deleted. (WTF::ConcurrentVector::ensureSegmentsFor): Deleted. (WTF::ConcurrentVector::ensureSegment): Deleted. (WTF::ConcurrentVector::allocateSegment): Deleted. * wtf/Condition.h: (WTF::Condition::waitUntil): Deleted. (WTF::Condition::waitFor): Deleted. (WTF::Condition::wait): Deleted. (WTF::Condition::notifyOne): Deleted. (WTF::Condition::notifyAll): Deleted. * wtf/CountingLock.h: (WTF::CountingLock::LockHooks::lockHook): Deleted. (WTF::CountingLock::LockHooks::unlockHook): Deleted. (WTF::CountingLock::LockHooks::parkHook): Deleted. (WTF::CountingLock::LockHooks::handoffHook): Deleted. (WTF::CountingLock::tryLock): Deleted. (WTF::CountingLock::lock): Deleted. (WTF::CountingLock::unlock): Deleted. (WTF::CountingLock::isHeld const): Deleted. (WTF::CountingLock::isLocked const): Deleted. (WTF::CountingLock::Count::operator bool const): Deleted. (WTF::CountingLock::Count::operator== const): Deleted. (WTF::CountingLock::Count::operator!= const): Deleted. (WTF::CountingLock::tryOptimisticRead): Deleted. (WTF::CountingLock::validate): Deleted. (WTF::CountingLock::doOptimizedRead): Deleted. (WTF::CountingLock::tryOptimisticFencelessRead): Deleted. (WTF::CountingLock::fencelessValidate): Deleted. (WTF::CountingLock::doOptimizedFencelessRead): Deleted. (WTF::CountingLock::getCount): Deleted. * wtf/CrossThreadQueue.h: * wtf/CrossThreadTask.h: * wtf/CryptographicallyRandomNumber.cpp: * wtf/DataMutex.h: * wtf/DateMath.h: * wtf/Deque.h: (WTF::Deque::size const): Deleted. (WTF::Deque::isEmpty const): Deleted. (WTF::Deque::begin): Deleted. (WTF::Deque::end): Deleted. (WTF::Deque::begin const): Deleted. (WTF::Deque::end const): Deleted. (WTF::Deque::rbegin): Deleted. (WTF::Deque::rend): Deleted. (WTF::Deque::rbegin const): Deleted. (WTF::Deque::rend const): Deleted. (WTF::Deque::first): Deleted. (WTF::Deque::first const): Deleted. (WTF::Deque::last): Deleted. (WTF::Deque::last const): Deleted. (WTF::Deque::append): Deleted. * wtf/Dominators.h: * wtf/DoublyLinkedList.h: * wtf/Expected.h: * wtf/FastBitVector.h: * wtf/FileMetadata.h: * wtf/FileSystem.h: * wtf/GraphNodeWorklist.h: * wtf/GregorianDateTime.h: (WTF::GregorianDateTime::GregorianDateTime): Deleted. (WTF::GregorianDateTime::year const): Deleted. (WTF::GregorianDateTime::month const): Deleted. (WTF::GregorianDateTime::yearDay const): Deleted. (WTF::GregorianDateTime::monthDay const): Deleted. (WTF::GregorianDateTime::weekDay const): Deleted. (WTF::GregorianDateTime::hour const): Deleted. (WTF::GregorianDateTime::minute const): Deleted. (WTF::GregorianDateTime::second const): Deleted. (WTF::GregorianDateTime::utcOffset const): Deleted. (WTF::GregorianDateTime::isDST const): Deleted. (WTF::GregorianDateTime::setYear): Deleted. (WTF::GregorianDateTime::setMonth): Deleted. (WTF::GregorianDateTime::setYearDay): Deleted. (WTF::GregorianDateTime::setMonthDay): Deleted. (WTF::GregorianDateTime::setWeekDay): Deleted. (WTF::GregorianDateTime::setHour): Deleted. (WTF::GregorianDateTime::setMinute): Deleted. (WTF::GregorianDateTime::setSecond): Deleted. (WTF::GregorianDateTime::setUtcOffset): Deleted. (WTF::GregorianDateTime::setIsDST): Deleted. (WTF::GregorianDateTime::operator tm const): Deleted. (WTF::GregorianDateTime::copyFrom): Deleted. * wtf/HashTable.h: * wtf/Hasher.h: * wtf/HexNumber.h: * wtf/Indenter.h: * wtf/IndexMap.h: * wtf/IndexSet.h: * wtf/IndexSparseSet.h: * wtf/IndexedContainerIterator.h: * wtf/Insertion.h: * wtf/IteratorAdaptors.h: * wtf/IteratorRange.h: * wtf/KeyValuePair.h: * wtf/ListHashSet.h: (WTF::ListHashSet::begin): Deleted. (WTF::ListHashSet::end): Deleted. (WTF::ListHashSet::begin const): Deleted. (WTF::ListHashSet::end const): Deleted. (WTF::ListHashSet::random): Deleted. (WTF::ListHashSet::random const): Deleted. (WTF::ListHashSet::rbegin): Deleted. (WTF::ListHashSet::rend): Deleted. (WTF::ListHashSet::rbegin const): Deleted. (WTF::ListHashSet::rend const): Deleted. * wtf/Liveness.h: * wtf/LocklessBag.h: (WTF::LocklessBag::LocklessBag): Deleted. (WTF::LocklessBag::add): Deleted. (WTF::LocklessBag::iterate): Deleted. (WTF::LocklessBag::consumeAll): Deleted. (WTF::LocklessBag::consumeAllWithNode): Deleted. (WTF::LocklessBag::~LocklessBag): Deleted. * wtf/LoggingHashID.h: * wtf/MD5.h: * wtf/MachSendRight.h: * wtf/MainThreadData.h: * wtf/Markable.h: * wtf/MediaTime.h: * wtf/MemoryPressureHandler.h: * wtf/MessageQueue.h: (WTF::MessageQueue::MessageQueue): Deleted. * wtf/MetaAllocator.h: * wtf/MonotonicTime.h: (WTF::MonotonicTime::MonotonicTime): Deleted. (WTF::MonotonicTime::fromRawSeconds): Deleted. (WTF::MonotonicTime::infinity): Deleted. (WTF::MonotonicTime::nan): Deleted. (WTF::MonotonicTime::secondsSinceEpoch const): Deleted. (WTF::MonotonicTime::approximateMonotonicTime const): Deleted. (WTF::MonotonicTime::operator bool const): Deleted. (WTF::MonotonicTime::operator+ const): Deleted. (WTF::MonotonicTime::operator- const): Deleted. (WTF::MonotonicTime::operator% const): Deleted. (WTF::MonotonicTime::operator+=): Deleted. (WTF::MonotonicTime::operator-=): Deleted. (WTF::MonotonicTime::operator== const): Deleted. (WTF::MonotonicTime::operator!= const): Deleted. (WTF::MonotonicTime::operator< const): Deleted. (WTF::MonotonicTime::operator> const): Deleted. (WTF::MonotonicTime::operator<= const): Deleted. (WTF::MonotonicTime::operator>= const): Deleted. (WTF::MonotonicTime::isolatedCopy const): Deleted. (WTF::MonotonicTime::encode const): Deleted. (WTF::MonotonicTime::decode): Deleted. * wtf/NaturalLoops.h: * wtf/NoLock.h: * wtf/OSAllocator.h: * wtf/OptionSet.h: * wtf/Optional.h: * wtf/OrderMaker.h: * wtf/Packed.h: (WTF::alignof): * wtf/PackedIntVector.h: (WTF::PackedIntVector::PackedIntVector): Deleted. (WTF::PackedIntVector::operator=): Deleted. (WTF::PackedIntVector::size const): Deleted. (WTF::PackedIntVector::ensureSize): Deleted. (WTF::PackedIntVector::resize): Deleted. (WTF::PackedIntVector::clearAll): Deleted. (WTF::PackedIntVector::get const): Deleted. (WTF::PackedIntVector::set): Deleted. (WTF::PackedIntVector::mask): Deleted. * wtf/PageBlock.h: * wtf/ParallelJobsOpenMP.h: * wtf/ParkingLot.h: * wtf/PriorityQueue.h: (WTF::PriorityQueue::size const): Deleted. (WTF::PriorityQueue::isEmpty const): Deleted. (WTF::PriorityQueue::enqueue): Deleted. (WTF::PriorityQueue::peek const): Deleted. (WTF::PriorityQueue::dequeue): Deleted. (WTF::PriorityQueue::decreaseKey): Deleted. (WTF::PriorityQueue::increaseKey): Deleted. (WTF::PriorityQueue::begin const): Deleted. (WTF::PriorityQueue::end const): Deleted. (WTF::PriorityQueue::isValidHeap const): Deleted. (WTF::PriorityQueue::parentOf): Deleted. (WTF::PriorityQueue::leftChildOf): Deleted. (WTF::PriorityQueue::rightChildOf): Deleted. (WTF::PriorityQueue::siftUp): Deleted. (WTF::PriorityQueue::siftDown): Deleted. * wtf/RandomDevice.h: * wtf/Range.h: * wtf/RangeSet.h: (WTF::RangeSet::RangeSet): Deleted. (WTF::RangeSet::~RangeSet): Deleted. (WTF::RangeSet::add): Deleted. (WTF::RangeSet::contains const): Deleted. (WTF::RangeSet::overlaps const): Deleted. (WTF::RangeSet::clear): Deleted. (WTF::RangeSet::dump const): Deleted. (WTF::RangeSet::dumpRaw const): Deleted. (WTF::RangeSet::begin const): Deleted. (WTF::RangeSet::end const): Deleted. (WTF::RangeSet::addAll): Deleted. (WTF::RangeSet::compact): Deleted. (WTF::RangeSet::overlapsNonEmpty): Deleted. (WTF::RangeSet::subsumesNonEmpty): Deleted. (WTF::RangeSet::findRange const): Deleted. * wtf/RecursableLambda.h: * wtf/RedBlackTree.h: (WTF::RedBlackTree::Node::successor const): Deleted. (WTF::RedBlackTree::Node::predecessor const): Deleted. (WTF::RedBlackTree::Node::successor): Deleted. (WTF::RedBlackTree::Node::predecessor): Deleted. (WTF::RedBlackTree::Node::reset): Deleted. (WTF::RedBlackTree::Node::parent const): Deleted. (WTF::RedBlackTree::Node::setParent): Deleted. (WTF::RedBlackTree::Node::left const): Deleted. (WTF::RedBlackTree::Node::setLeft): Deleted. (WTF::RedBlackTree::Node::right const): Deleted. (WTF::RedBlackTree::Node::setRight): Deleted. (WTF::RedBlackTree::Node::color const): Deleted. (WTF::RedBlackTree::Node::setColor): Deleted. (WTF::RedBlackTree::RedBlackTree): Deleted. (WTF::RedBlackTree::insert): Deleted. (WTF::RedBlackTree::remove): Deleted. (WTF::RedBlackTree::findExact const): Deleted. (WTF::RedBlackTree::findLeastGreaterThanOrEqual const): Deleted. (WTF::RedBlackTree::findGreatestLessThanOrEqual const): Deleted. (WTF::RedBlackTree::first const): Deleted. (WTF::RedBlackTree::last const): Deleted. (WTF::RedBlackTree::size): Deleted. (WTF::RedBlackTree::isEmpty): Deleted. (WTF::RedBlackTree::treeMinimum): Deleted. (WTF::RedBlackTree::treeMaximum): Deleted. (WTF::RedBlackTree::treeInsert): Deleted. (WTF::RedBlackTree::leftRotate): Deleted. (WTF::RedBlackTree::rightRotate): Deleted. (WTF::RedBlackTree::removeFixup): Deleted. * wtf/ResourceUsage.h: * wtf/RunLoop.cpp: * wtf/RunLoopTimer.h: * wtf/SHA1.h: * wtf/Seconds.h: (WTF::Seconds::Seconds): Deleted. (WTF::Seconds::value const): Deleted. (WTF::Seconds::minutes const): Deleted. (WTF::Seconds::seconds const): Deleted. (WTF::Seconds::milliseconds const): Deleted. (WTF::Seconds::microseconds const): Deleted. (WTF::Seconds::nanoseconds const): Deleted. (WTF::Seconds::minutesAs const): Deleted. (WTF::Seconds::secondsAs const): Deleted. (WTF::Seconds::millisecondsAs const): Deleted. (WTF::Seconds::microsecondsAs const): Deleted. (WTF::Seconds::nanosecondsAs const): Deleted. (WTF::Seconds::fromMinutes): Deleted. (WTF::Seconds::fromHours): Deleted. (WTF::Seconds::fromMilliseconds): Deleted. (WTF::Seconds::fromMicroseconds): Deleted. (WTF::Seconds::fromNanoseconds): Deleted. (WTF::Seconds::infinity): Deleted. (WTF::Seconds::nan): Deleted. (WTF::Seconds::operator bool const): Deleted. (WTF::Seconds::operator+ const): Deleted. (WTF::Seconds::operator- const): Deleted. (WTF::Seconds::operator* const): Deleted. (WTF::Seconds::operator/ const): Deleted. (WTF::Seconds::operator% const): Deleted. (WTF::Seconds::operator+=): Deleted. (WTF::Seconds::operator-=): Deleted. (WTF::Seconds::operator*=): Deleted. (WTF::Seconds::operator/=): Deleted. (WTF::Seconds::operator%=): Deleted. (WTF::Seconds::operator== const): Deleted. (WTF::Seconds::operator!= const): Deleted. (WTF::Seconds::operator< const): Deleted. (WTF::Seconds::operator> const): Deleted. (WTF::Seconds::operator<= const): Deleted. (WTF::Seconds::operator>= const): Deleted. (WTF::Seconds::isolatedCopy const): Deleted. (WTF::Seconds::encode const): Deleted. (WTF::Seconds::decode): Deleted. * wtf/SegmentedVector.h: (WTF::SegmentedVector::~SegmentedVector): Deleted. (WTF::SegmentedVector::size const): Deleted. (WTF::SegmentedVector::isEmpty const): Deleted. (WTF::SegmentedVector::at): Deleted. (WTF::SegmentedVector::at const): Deleted. (WTF::SegmentedVector::operator[]): Deleted. (WTF::SegmentedVector::operator[] const): Deleted. (WTF::SegmentedVector::first): Deleted. (WTF::SegmentedVector::first const): Deleted. (WTF::SegmentedVector::last): Deleted. (WTF::SegmentedVector::last const): Deleted. (WTF::SegmentedVector::takeLast): Deleted. (WTF::SegmentedVector::append): Deleted. (WTF::SegmentedVector::alloc): Deleted. (WTF::SegmentedVector::removeLast): Deleted. (WTF::SegmentedVector::grow): Deleted. (WTF::SegmentedVector::clear): Deleted. (WTF::SegmentedVector::begin): Deleted. (WTF::SegmentedVector::end): Deleted. (WTF::SegmentedVector::shrinkToFit): Deleted. (WTF::SegmentedVector::deleteAllSegments): Deleted. (WTF::SegmentedVector::segmentExistsFor): Deleted. (WTF::SegmentedVector::segmentFor): Deleted. (WTF::SegmentedVector::subscriptFor): Deleted. (WTF::SegmentedVector::ensureSegmentsFor): Deleted. (WTF::SegmentedVector::ensureSegment): Deleted. (WTF::SegmentedVector::allocateSegment): Deleted. * wtf/SetForScope.h: * wtf/SingleRootGraph.h: * wtf/SinglyLinkedList.h: * wtf/SmallPtrSet.h: * wtf/SpanningTree.h: * wtf/Spectrum.h: * wtf/StackBounds.h: * wtf/StackShot.h: * wtf/StackShotProfiler.h: * wtf/StackStats.h: * wtf/StackTrace.h: * wtf/StreamBuffer.h: * wtf/SynchronizedFixedQueue.h: (WTF::SynchronizedFixedQueue::create): Deleted. (WTF::SynchronizedFixedQueue::open): Deleted. (WTF::SynchronizedFixedQueue::close): Deleted. (WTF::SynchronizedFixedQueue::isOpen): Deleted. (WTF::SynchronizedFixedQueue::enqueue): Deleted. (WTF::SynchronizedFixedQueue::dequeue): Deleted. (WTF::SynchronizedFixedQueue::SynchronizedFixedQueue): Deleted. * wtf/SystemTracing.h: * wtf/ThreadGroup.h: (WTF::ThreadGroup::create): Deleted. (WTF::ThreadGroup::threads const): Deleted. (WTF::ThreadGroup::getLock): Deleted. (WTF::ThreadGroup::weakFromThis): Deleted. * wtf/ThreadSpecific.h: * wtf/ThreadingPrimitives.h: (WTF::Mutex::impl): Deleted. * wtf/TimeWithDynamicClockType.h: (WTF::TimeWithDynamicClockType::TimeWithDynamicClockType): Deleted. (WTF::TimeWithDynamicClockType::fromRawSeconds): Deleted. (WTF::TimeWithDynamicClockType::secondsSinceEpoch const): Deleted. (WTF::TimeWithDynamicClockType::clockType const): Deleted. (WTF::TimeWithDynamicClockType::withSameClockAndRawSeconds const): Deleted. (WTF::TimeWithDynamicClockType::operator bool const): Deleted. (WTF::TimeWithDynamicClockType::operator+ const): Deleted. (WTF::TimeWithDynamicClockType::operator- const): Deleted. (WTF::TimeWithDynamicClockType::operator+=): Deleted. (WTF::TimeWithDynamicClockType::operator-=): Deleted. (WTF::TimeWithDynamicClockType::operator== const): Deleted. (WTF::TimeWithDynamicClockType::operator!= const): Deleted. * wtf/TimingScope.h: * wtf/TinyLRUCache.h: * wtf/TinyPtrSet.h: * wtf/URLParser.cpp: * wtf/URLParser.h: * wtf/Unexpected.h: * wtf/Variant.h: * wtf/WTFSemaphore.h: (WTF::Semaphore::Semaphore): Deleted. (WTF::Semaphore::signal): Deleted. (WTF::Semaphore::waitUntil): Deleted. (WTF::Semaphore::waitFor): Deleted. (WTF::Semaphore::wait): Deleted. * wtf/WallTime.h: (WTF::WallTime::WallTime): Deleted. (WTF::WallTime::fromRawSeconds): Deleted. (WTF::WallTime::infinity): Deleted. (WTF::WallTime::nan): Deleted. (WTF::WallTime::secondsSinceEpoch const): Deleted. (WTF::WallTime::approximateWallTime const): Deleted. (WTF::WallTime::operator bool const): Deleted. (WTF::WallTime::operator+ const): Deleted. (WTF::WallTime::operator- const): Deleted. (WTF::WallTime::operator+=): Deleted. (WTF::WallTime::operator-=): Deleted. (WTF::WallTime::operator== const): Deleted. (WTF::WallTime::operator!= const): Deleted. (WTF::WallTime::operator< const): Deleted. (WTF::WallTime::operator> const): Deleted. (WTF::WallTime::operator<= const): Deleted. (WTF::WallTime::operator>= const): Deleted. (WTF::WallTime::isolatedCopy const): Deleted. * wtf/WeakHashSet.h: (WTF::WeakHashSet::WeakHashSetConstIterator::WeakHashSetConstIterator): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::get const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator* const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator-> const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator++): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::skipEmptyBuckets): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator== const): Deleted. (WTF::WeakHashSet::WeakHashSetConstIterator::operator!= const): Deleted. (WTF::WeakHashSet::WeakHashSet): Deleted. (WTF::WeakHashSet::begin const): Deleted. (WTF::WeakHashSet::end const): Deleted. (WTF::WeakHashSet::add): Deleted. (WTF::WeakHashSet::remove): Deleted. (WTF::WeakHashSet::contains const): Deleted. (WTF::WeakHashSet::capacity const): Deleted. (WTF::WeakHashSet::computesEmpty const): Deleted. (WTF::WeakHashSet::hasNullReferences const): Deleted. (WTF::WeakHashSet::computeSize const): Deleted. (WTF::WeakHashSet::checkConsistency const): Deleted. * wtf/WeakRandom.h: (WTF::WeakRandom::WeakRandom): Deleted. (WTF::WeakRandom::setSeed): Deleted. (WTF::WeakRandom::seed const): Deleted. (WTF::WeakRandom::get): Deleted. (WTF::WeakRandom::getUint32): Deleted. (WTF::WeakRandom::lowOffset): Deleted. (WTF::WeakRandom::highOffset): Deleted. (WTF::WeakRandom::nextState): Deleted. (WTF::WeakRandom::generate): Deleted. (WTF::WeakRandom::advance): Deleted. * wtf/WordLock.h: (WTF::WordLock::lock): Deleted. (WTF::WordLock::unlock): Deleted. (WTF::WordLock::isHeld const): Deleted. (WTF::WordLock::isLocked const): Deleted. (WTF::WordLock::isFullyReset const): Deleted. * wtf/generic/MainThreadGeneric.cpp: * wtf/glib/GMutexLocker.h: * wtf/linux/CurrentProcessMemoryStatus.h: * wtf/posix/ThreadingPOSIX.cpp: (WTF::Semaphore::Semaphore): Deleted. (WTF::Semaphore::~Semaphore): Deleted. (WTF::Semaphore::wait): Deleted. (WTF::Semaphore::post): Deleted. * wtf/text/ASCIILiteral.h: (WTF::ASCIILiteral::operator const char* const): Deleted. (WTF::ASCIILiteral::fromLiteralUnsafe): Deleted. (WTF::ASCIILiteral::null): Deleted. (WTF::ASCIILiteral::characters const): Deleted. (WTF::ASCIILiteral::ASCIILiteral): Deleted. * wtf/text/AtomString.h: (WTF::AtomString::operator=): Deleted. (WTF::AtomString::isHashTableDeletedValue const): Deleted. (WTF::AtomString::existingHash const): Deleted. (WTF::AtomString::operator const String& const): Deleted. (WTF::AtomString::string const): Deleted. (WTF::AtomString::impl const): Deleted. (WTF::AtomString::is8Bit const): Deleted. (WTF::AtomString::characters8 const): Deleted. (WTF::AtomString::characters16 const): Deleted. (WTF::AtomString::length const): Deleted. (WTF::AtomString::operator[] const): Deleted. (WTF::AtomString::contains const): Deleted. (WTF::AtomString::containsIgnoringASCIICase const): Deleted. (WTF::AtomString::find const): Deleted. (WTF::AtomString::findIgnoringASCIICase const): Deleted. (WTF::AtomString::startsWith const): Deleted. (WTF::AtomString::startsWithIgnoringASCIICase const): Deleted. (WTF::AtomString::endsWith const): Deleted. (WTF::AtomString::endsWithIgnoringASCIICase const): Deleted. (WTF::AtomString::toInt const): Deleted. (WTF::AtomString::toDouble const): Deleted. (WTF::AtomString::toFloat const): Deleted. (WTF::AtomString::percentage const): Deleted. (WTF::AtomString::isNull const): Deleted. (WTF::AtomString::isEmpty const): Deleted. (WTF::AtomString::operator NSString * const): Deleted. * wtf/text/AtomStringImpl.h: (WTF::AtomStringImpl::lookUp): Deleted. (WTF::AtomStringImpl::add): Deleted. (WTF::AtomStringImpl::addWithStringTableProvider): Deleted. * wtf/text/CString.h: (WTF::CStringBuffer::data): Deleted. (WTF::CStringBuffer::length const): Deleted. (WTF::CStringBuffer::CStringBuffer): Deleted. (WTF::CStringBuffer::mutableData): Deleted. (WTF::CString::CString): Deleted. (WTF::CString::data const): Deleted. (WTF::CString::length const): Deleted. (WTF::CString::isNull const): Deleted. (WTF::CString::buffer const): Deleted. (WTF::CString::isHashTableDeletedValue const): Deleted. * wtf/text/ExternalStringImpl.h: (WTF::ExternalStringImpl::freeExternalBuffer): Deleted. * wtf/text/LineBreakIteratorPoolICU.h: * wtf/text/NullTextBreakIterator.h: * wtf/text/OrdinalNumber.h: * wtf/text/StringBuffer.h: * wtf/text/StringBuilder.h: * wtf/text/StringConcatenateNumbers.h: * wtf/text/StringHasher.h: * wtf/text/StringImpl.h: * wtf/text/StringView.cpp: * wtf/text/StringView.h: (WTF::StringView::left const): Deleted. (WTF::StringView::right const): Deleted. (WTF::StringView::underlyingStringIsValid const): Deleted. (WTF::StringView::setUnderlyingString): Deleted. * wtf/text/SymbolImpl.h: (WTF::SymbolImpl::StaticSymbolImpl::StaticSymbolImpl): Deleted. (WTF::SymbolImpl::StaticSymbolImpl::operator SymbolImpl&): Deleted. (WTF::PrivateSymbolImpl::PrivateSymbolImpl): Deleted. (WTF::RegisteredSymbolImpl::symbolRegistry const): Deleted. (WTF::RegisteredSymbolImpl::clearSymbolRegistry): Deleted. (WTF::RegisteredSymbolImpl::RegisteredSymbolImpl): Deleted. * wtf/text/SymbolRegistry.h: * wtf/text/TextBreakIterator.h: * wtf/text/TextPosition.h: * wtf/text/TextStream.h: * wtf/text/WTFString.h: (WTF::String::swap): Deleted. (WTF::String::adopt): Deleted. (WTF::String::isNull const): Deleted. (WTF::String::isEmpty const): Deleted. (WTF::String::impl const): Deleted. (WTF::String::releaseImpl): Deleted. (WTF::String::length const): Deleted. (WTF::String::characters8 const): Deleted. (WTF::String::characters16 const): Deleted. (WTF::String::is8Bit const): Deleted. (WTF::String::sizeInBytes const): Deleted. (WTF::String::operator[] const): Deleted. (WTF::String::find const): Deleted. (WTF::String::findIgnoringASCIICase const): Deleted. (WTF::String::reverseFind const): Deleted. (WTF::String::contains const): Deleted. (WTF::String::containsIgnoringASCIICase const): Deleted. (WTF::String::startsWith const): Deleted. (WTF::String::startsWithIgnoringASCIICase const): Deleted. (WTF::String::hasInfixStartingAt const): Deleted. (WTF::String::endsWith const): Deleted. (WTF::String::endsWithIgnoringASCIICase const): Deleted. (WTF::String::hasInfixEndingAt const): Deleted. (WTF::String::append): Deleted. (WTF::String::left const): Deleted. (WTF::String::right const): Deleted. (WTF::String::createUninitialized): Deleted. (WTF::String::fromUTF8WithLatin1Fallback): Deleted. (WTF::String::isAllASCII const): Deleted. (WTF::String::isAllLatin1 const): Deleted. (WTF::String::isSpecialCharacter const): Deleted. (WTF::String::isHashTableDeletedValue const): Deleted. (WTF::String::hash const): Deleted. (WTF::String::existingHash const): Deleted. * wtf/text/cf/TextBreakIteratorCF.h: * wtf/text/icu/TextBreakIteratorICU.h: * wtf/text/icu/UTextProviderLatin1.h: * wtf/threads/BinarySemaphore.h: (WTF::BinarySemaphore::waitFor): Deleted. (WTF::BinarySemaphore::wait): Deleted. * wtf/unicode/Collator.h: * wtf/win/GDIObject.h: * wtf/win/PathWalker.h: * wtf/win/Win32Handle.h: Canonical link: https://commits.webkit.org/214396@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248546 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-08-12 20:57:15 +00:00
Added WTF::StackStats mechanism. https://bugs.webkit.org/show_bug.cgi?id=99805. Reviewed by Geoffrey Garen. Source/JavaScriptCore: Added StackStats checkpoints and probes. * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::emitNodeInConditionContext): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::append): (JSC::visitChildren): (JSC::SlotVisitor::donateKnownParallel): (JSC::SlotVisitor::drain): (JSC::SlotVisitor::drainFromShared): (JSC::SlotVisitor::mergeOpaqueRoots): (JSC::SlotVisitor::internalAppend): (JSC::SlotVisitor::harvestWeakReferences): (JSC::SlotVisitor::finalizeUnconditionalFinalizers): * interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): * parser/Parser.h: (JSC::Parser::canRecurse): * runtime/StringRecursionChecker.h: (StringRecursionChecker): Source/WebCore: Added StackStats probes in layout methods. * dom/Document.cpp: (WebCore::Document::updateLayout): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layout): * rendering/RenderBox.cpp: (WebCore::RenderBox::layout): * rendering/RenderDialog.cpp: (WebCore::RenderDialog::layout): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::layout): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::layout): * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout): * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::layout): * rendering/RenderImage.cpp: (WebCore::RenderImage::layout): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::layout): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::layout): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::layout): * rendering/RenderMedia.cpp: (WebCore::RenderMedia::layout): * rendering/RenderObject.cpp: (WebCore::RenderObject::layout): * rendering/RenderObject.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::layout): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::layout): * rendering/RenderReplica.cpp: (WebCore::RenderReplica::layout): * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::layoutSpecialExcludedChild): * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::layout): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::layout): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layout): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::layout): * rendering/RenderTextTrackCue.cpp: (WebCore::RenderTextTrackCue::layout): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::layout): * rendering/RenderView.cpp: (WebCore::RenderView::layout): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::layout): * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::layout): * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::layout): * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::layout): * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::layout): * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::layout): * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::layout): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::layout): * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::layout): Source/WTF: Disabled by default. Should have no performance and memory cost when disabled. To enable, #define ENABLE_STACK_STATS 1 in StackStats.h. The output is currently hardcoded to be dumped in /tmp/stack-stats.log, and is in the form of stack sample events. By default, it only logs a sample event when a new high watermark value is encountered. Also renamed StackBounds::recursiveCheck() to isSafeToRecurse(). * WTF.xcodeproj/project.pbxproj: * wtf/StackBounds.h: (StackBounds): (WTF::StackBounds::size): (WTF::StackBounds::isSafeToRecurse): * wtf/StackStats.cpp: Added. (WTF): (WTF::StackStats::initialize): (WTF::StackStats::PerThreadStats::PerThreadStats): (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): * wtf/StackStats.h: Added. (WTF): (StackStats): (CheckPoint): (WTF::StackStats::CheckPoint::CheckPoint): (PerThreadStats): (WTF::StackStats::PerThreadStats::PerThreadStats): (LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::initialize): (WTF::StackStats::probe): * wtf/ThreadingPthreads.cpp: (WTF::initializeThreading): * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTFThreadData): (WTF::WTFThreadData::stackStats): Canonical link: https://commits.webkit.org/117874@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@131938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-10-19 20:09:36 +00:00
// This 64k number was picked because a sampling of stack usage differences
// between consecutive entries into one of the Interpreter::execute...()
// functions was seen to be as high as 27k. Hence, 64k is chosen as a
// conservative availability value that is not too large but comfortably
// exceeds 27k with some buffer for error.
Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction(). https://bugs.webkit.org/show_bug.cgi?id=203936 <rdar://problem/56624724> Reviewed by Saam Barati. JSTests: This issue originally manifested as incorrect-exception-assertion-in-operationRegExpExecNonGlobalOrSticky.js failing on iOS devices due to its smaller stack. We adapted the original test here using $vm.callWithStackSize() to reproduce the issue on x86_64 though it has a much larger physical stack to work with. This new test will crash while stepping on the guard page beyond the end of the stack if the fix is not applied. * stress/stack-overflow-in-yarr-byteCompile.js: Added. Source/JavaScriptCore: Basically, any functions below Yarr::ByteCompiler::compile() that recurses need to check if it's safe to recurse before doing so. This patch adds the stack checks in Yarr::ByteCompiler::compile() because it is the entry point to this sub-system, and Yarr::ByteCompiler::emitDisjunction() because it is the only function that recurses. All other functions called below compile() are either leaf functions or have shallow stack usage. Hence, their stack needs are covered by the DefaultReservedZone, and they do not need stack checks. This patch also does the following: 1. Added $vm.callWithStackSize() which can be used to call a test function near the end of the physical stack. This enables is to simulate the smaller stack size of more resource constrained devices. $vm.callWithStackSize() uses inline asm to adjust the stack pointer and does the callback via the JIT probe trampoline. 2. Added the --disableOptionsFreezingForTesting to the jsc shell to make it possible to disable freezing of JSC options. $vm.callWithStackSize() relies on this to modify the VM's stack limits. 3. Removed the inline modifier on VM::updateStackLimits() so that we can call it from $vm.callWithStackSize() as well. It is not a performance critical function and is rarely called. 4. Added a JSDollarVMHelper class that other parts of the system can declare as a friend. This gives $vm a backdoor into the private functions and fields of classes for its debugging work. In this patch, we're only using it to access VM::updateVMStackLimits(). * jsc.cpp: (CommandLine::parseArguments): * runtime/VM.cpp: (JSC::VM::updateStackLimits): * runtime/VM.h: * tools/JSDollarVM.cpp: (JSC::JSDollarVMHelper::JSDollarVMHelper): (JSC::JSDollarVMHelper::vmStackStart): (JSC::JSDollarVMHelper::vmStackLimit): (JSC::JSDollarVMHelper::vmSoftStackLimit): (JSC::JSDollarVMHelper::updateVMStackLimits): (JSC::callWithStackSizeProbeFunction): (JSC::functionCallWithStackSize): (JSC::JSDollarVM::finishCreation): (IGNORE_WARNINGS_BEGIN): Deleted. * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::ByteCompiler::isSafeToRecurse): Source/WTF: 1. Add a StackCheck utility class so that we don't have to keep reinventing this every time we need to add stack checking somewhere. 2. Rename some arguments and constants in StackBounds to be more descriptive of what they actually are. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::recursionLimit const): * wtf/StackCheck.h: Added. (WTF::StackCheck::StackCheck): (WTF::StackCheck::isSafeToRecurse): Canonical link: https://commits.webkit.org/217331@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-08 16:58:49 +00:00
static constexpr size_t DefaultReservedZone = 64 * 1024;
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
WTF::Thread should have the threads stack bounds. https://bugs.webkit.org/show_bug.cgi?id=173975 Reviewed by Mark Lam. Source/JavaScriptCore: There is a site in JSC that try to walk another thread's stack. Currently, stack bounds are stored in WTFThreadData which is located in TLS. Thus, only the thread itself can access its own WTFThreadData. We workaround this situation by holding StackBounds in MachineThread in JSC, but StackBounds should be put in WTF::Thread instead. This patch adds StackBounds to WTF::Thread. StackBounds information is tightly coupled with Thread. Thus putting it in WTF::Thread is natural choice. * heap/MachineStackMarker.cpp: (JSC::MachineThreads::MachineThread::MachineThread): (JSC::MachineThreads::MachineThread::captureStack): * heap/MachineStackMarker.h: (JSC::MachineThreads::MachineThread::stackBase): (JSC::MachineThreads::MachineThread::stackEnd): * runtime/VMTraps.cpp: Source/WebCore: When creating WebThread, we first allocate WebCore::ThreadGlobalData in UI thread and share it with WebThread. The problem is that WebCore::ThreadGlobalData has CachedResourceRequestInitiators. It allocates AtomicString, which requires WTFThreadData. In this patch, we call WTF::initializeThreading() before allocating WebCore::ThreadGlobalData. And we also call AtomicString::init() before calling WebCore::ThreadGlobalData since WebCore::ThreadGlobalData allocates AtomicString. * platform/ios/wak/WebCoreThread.mm: (StartWebThread): Source/WTF: We move StackBounds from WTFThreadData to WTF::Thread. One important thing is that we should make valid StackBounds visible to Thread::create() caller. When the caller get WTF::Thread from Thread::create(), this WTF::Thread should have a valid StackBounds. But StackBounds information can be retrived only in the WTF::Thread's thread itself. We also clean up WTF::initializeThreading. StringImpl::empty() is now statically initialized by using constexpr constructor. Thus we do not need to call StringImpl::empty() explicitly here. And WTF::initializeThreading() does not have any main thread affinity right now in all the platforms. So we fix the comment in Threading.h. Then, now, WTF::initializeThreading() is called in UI thread when using Web thread in iOS. * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::threadEntryPoint): (WTF::Thread::create): (WTF::Thread::currentMayBeNull): (WTF::Thread::initialize): (WTF::initializeThreading): * wtf/Threading.h: (WTF::Thread::stack): * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::current): (WTF::initializeCurrentThreadEvenIfNonWTFCreated): Deleted. (WTF::Thread::currentMayBeNull): Deleted. * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Canonical link: https://commits.webkit.org/191458@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-19 04:53:59 +00:00
static constexpr StackBounds emptyBounds() { return StackBounds(); }
Make the VM Traps mechanism non-polling for the DFG and FTL. https://bugs.webkit.org/show_bug.cgi?id=168920 <rdar://problem/30738588> Reviewed by Filip Pizlo. Source/JavaScriptCore: 1. Added a ENABLE(SIGNAL_BASED_VM_TRAPS) configuration in Platform.h. This is currently only enabled for OS(DARWIN) and ENABLE(JIT). 2. Added assembler functions for overwriting an instruction with a breakpoint. 3. Added a new JettisonDueToVMTraps jettison reason. 4. Added CodeBlock and DFG::CommonData utility functions for over-writing invalidation points with breakpoint instructions. 5. The BytecodeGenerator now emits the op_check_traps bytecode unconditionally. 6. Remove the JSC_alwaysCheckTraps option because of (4) above. For ports that don't ENABLE(SIGNAL_BASED_VM_TRAPS), we'll force Options::usePollingTraps() to always be true. This makes the VMTraps implementation fall back to using polling based traps only. 7. Make VMTraps support signal based traps. Some design and implementation details of signal based VM traps: - The implementation makes use of 2 signal handlers for SIGUSR1 and SIGTRAP. - VMTraps::fireTrap() will set the flag for the requested trap and instantiate a SignalSender. The SignalSender will send SIGUSR1 to the mutator thread that we want to trap, and check for the occurence of one of the following events: a. VMTraps::handleTraps() has been called for the requested trap, or b. the VM is inactive and is no longer executing any JS code. We determine this to be the case if the thread no longer owns the JSLock and the VM's entryScope is null. Note: the thread can relinquish the JSLock while the VM's entryScope is not null. This happens when the thread calls JSLock::dropAllLocks() before calling a host function that may block on IO (or whatever). For our purpose, this counts as the VM still running JS code, and VM::fireTrap() will still be waiting. If the SignalSender does not see either of these events, it will sleep for a while and then re-send SIGUSR1 and check for the events again. When it sees one of these events, it will consider the mutator to have received the trap request. - The SIGUSR1 handler will try to insert breakpoints at the invalidation points in the DFG/FTL codeBlock at the top of the stack. This allows the mutator thread to break (with a SIGTRAP) exactly at an invalidation point, where it's safe to jettison the codeBlock. Note: we cannot have the requester thread (that called VMTraps::fireTrap()) insert the breakpoint instructions itself. This is because we need the register state of the the mutator thread (that we want to trap in) in order to find the codeBlocks that we wish to insert the breakpoints in. Currently, we don't have a generic way for the requester thread to get the register state of another thread. - The SIGTRAP handler will check to see if it is trapping on a breakpoint at an invalidation point. If so, it will jettison the codeBlock and adjust the PC to re-execute the invalidation OSR exit off-ramp. After the OSR exit, the baseline JIT code will eventually reach an op_check_traps and call VMTraps::handleTraps(). If the handler is not trapping at an invalidation point, then it must be observing an assertion failure (which also uses the breakpoint instruction). In this case, the handler will defer to the default SIGTRAP handler and crash. - The reason we need the SignalSender is because SignalSender::send() is called from another thread in a loop, so that VMTraps::fireTrap() can return sooner. send() needs to make use of the VM pointer, and it is not guaranteed that the VM will outlive the thread. SignalSender provides the mechanism by which we can nullify the VM pointer when the VM dies so that the thread does not continue to use it. * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithBrk): * assembler/ARMAssembler.h: (JSC::ARMAssembler::replaceWithBrk): * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::replaceWithBkpt): * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::replaceWithBkpt): * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::replaceWithJump): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::replaceWithBreakpoint): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::replaceWithBreakpoint): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::replaceWithJump): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::replaceWithBreakpoint): * assembler/X86Assembler.h: (JSC::X86Assembler::replaceWithInt3): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::jettison): (JSC::CodeBlock::hasInstalledVMTrapBreakpoints): (JSC::CodeBlock::installVMTrapBreakpoints): * bytecode/CodeBlock.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCheckTraps): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::installVMTrapBreakpoints): (JSC::DFG::CommonData::isVMTrapBreakpoint): * dfg/DFGCommonData.h: (JSC::DFG::CommonData::hasInstalledVMTrapsBreakpoints): * dfg/DFGJumpReplacement.cpp: (JSC::DFG::JumpReplacement::installVMTrapBreakpoint): * dfg/DFGJumpReplacement.h: (JSC::DFG::JumpReplacement::dataLocation): * dfg/DFGNodeType.h: * heap/CodeBlockSet.cpp: (JSC::CodeBlockSet::contains): * heap/CodeBlockSet.h: * heap/CodeBlockSetInlines.h: (JSC::CodeBlockSet::iterate): * heap/Heap.cpp: (JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl): * heap/Heap.h: * heap/HeapInlines.h: (JSC::Heap::forEachCodeBlockIgnoringJITPlans): * heap/MachineStackMarker.h: (JSC::MachineThreads::threadsListHead): * jit/ExecutableAllocator.cpp: (JSC::ExecutableAllocator::isValidExecutableMemory): * jit/ExecutableAllocator.h: * profiler/ProfilerJettisonReason.cpp: (WTF::printInternal): * profiler/ProfilerJettisonReason.h: * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/Options.cpp: (JSC::overrideDefaults): * runtime/Options.h: * runtime/PlatformThread.h: (JSC::platformThreadSignal): * runtime/VM.cpp: (JSC::VM::~VM): (JSC::VM::ensureWatchdog): (JSC::VM::handleTraps): Deleted. (JSC::VM::setNeedAsynchronousTerminationSupport): Deleted. * runtime/VM.h: (JSC::VM::ownerThread): (JSC::VM::traps): (JSC::VM::handleTraps): (JSC::VM::needTrapHandling): (JSC::VM::needAsynchronousTerminationSupport): Deleted. * runtime/VMTraps.cpp: (JSC::VMTraps::vm): (JSC::SignalContext::SignalContext): (JSC::SignalContext::adjustPCToPointToTrappingInstruction): (JSC::vmIsInactive): (JSC::findActiveVMAndStackBounds): (JSC::handleSigusr1): (JSC::handleSigtrap): (JSC::installSignalHandlers): (JSC::sanitizedTopCallFrame): (JSC::isSaneFrame): (JSC::VMTraps::tryInstallTrapBreakpoints): (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::VMTraps): (JSC::VMTraps::willDestroyVM): (JSC::VMTraps::addSignalSender): (JSC::VMTraps::removeSignalSender): (JSC::VMTraps::SignalSender::willDestroyVM): (JSC::VMTraps::SignalSender::send): (JSC::VMTraps::fireTrap): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::~VMTraps): (JSC::VMTraps::needTrapHandling): (JSC::VMTraps::notifyGrabAllLocks): (JSC::VMTraps::SignalSender::SignalSender): (JSC::VMTraps::invalidateCodeBlocksOnStack): * tools/VMInspector.cpp: * tools/VMInspector.h: (JSC::VMInspector::getLock): (JSC::VMInspector::iterate): Source/WebCore: No new tests needed. This is covered by existing tests. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::scheduleExecutionTermination): Source/WTF: Make StackBounds more useful for checking if a pointer is within stack bounds. * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::isInAllocatedMemory): * wtf/MetaAllocator.h: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isEmpty): (WTF::StackBounds::contains): Canonical link: https://commits.webkit.org/186409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-09 19:08:46 +00:00
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
#if HAVE(STACK_BOUNDS_FOR_NEW_THREAD)
// This function is only effective for newly created threads. In some platform, it returns a bogus value for the main thread.
static StackBounds newThreadStackBounds(PlatformThreadHandle);
#endif
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
static StackBounds currentThreadStackBounds()
{
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
auto result = currentThreadStackBoundsInternal();
result.checkConsistency();
return result;
Make the VM Traps mechanism non-polling for the DFG and FTL. https://bugs.webkit.org/show_bug.cgi?id=168920 <rdar://problem/30738588> Reviewed by Filip Pizlo. Source/JavaScriptCore: 1. Added a ENABLE(SIGNAL_BASED_VM_TRAPS) configuration in Platform.h. This is currently only enabled for OS(DARWIN) and ENABLE(JIT). 2. Added assembler functions for overwriting an instruction with a breakpoint. 3. Added a new JettisonDueToVMTraps jettison reason. 4. Added CodeBlock and DFG::CommonData utility functions for over-writing invalidation points with breakpoint instructions. 5. The BytecodeGenerator now emits the op_check_traps bytecode unconditionally. 6. Remove the JSC_alwaysCheckTraps option because of (4) above. For ports that don't ENABLE(SIGNAL_BASED_VM_TRAPS), we'll force Options::usePollingTraps() to always be true. This makes the VMTraps implementation fall back to using polling based traps only. 7. Make VMTraps support signal based traps. Some design and implementation details of signal based VM traps: - The implementation makes use of 2 signal handlers for SIGUSR1 and SIGTRAP. - VMTraps::fireTrap() will set the flag for the requested trap and instantiate a SignalSender. The SignalSender will send SIGUSR1 to the mutator thread that we want to trap, and check for the occurence of one of the following events: a. VMTraps::handleTraps() has been called for the requested trap, or b. the VM is inactive and is no longer executing any JS code. We determine this to be the case if the thread no longer owns the JSLock and the VM's entryScope is null. Note: the thread can relinquish the JSLock while the VM's entryScope is not null. This happens when the thread calls JSLock::dropAllLocks() before calling a host function that may block on IO (or whatever). For our purpose, this counts as the VM still running JS code, and VM::fireTrap() will still be waiting. If the SignalSender does not see either of these events, it will sleep for a while and then re-send SIGUSR1 and check for the events again. When it sees one of these events, it will consider the mutator to have received the trap request. - The SIGUSR1 handler will try to insert breakpoints at the invalidation points in the DFG/FTL codeBlock at the top of the stack. This allows the mutator thread to break (with a SIGTRAP) exactly at an invalidation point, where it's safe to jettison the codeBlock. Note: we cannot have the requester thread (that called VMTraps::fireTrap()) insert the breakpoint instructions itself. This is because we need the register state of the the mutator thread (that we want to trap in) in order to find the codeBlocks that we wish to insert the breakpoints in. Currently, we don't have a generic way for the requester thread to get the register state of another thread. - The SIGTRAP handler will check to see if it is trapping on a breakpoint at an invalidation point. If so, it will jettison the codeBlock and adjust the PC to re-execute the invalidation OSR exit off-ramp. After the OSR exit, the baseline JIT code will eventually reach an op_check_traps and call VMTraps::handleTraps(). If the handler is not trapping at an invalidation point, then it must be observing an assertion failure (which also uses the breakpoint instruction). In this case, the handler will defer to the default SIGTRAP handler and crash. - The reason we need the SignalSender is because SignalSender::send() is called from another thread in a loop, so that VMTraps::fireTrap() can return sooner. send() needs to make use of the VM pointer, and it is not guaranteed that the VM will outlive the thread. SignalSender provides the mechanism by which we can nullify the VM pointer when the VM dies so that the thread does not continue to use it. * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithBrk): * assembler/ARMAssembler.h: (JSC::ARMAssembler::replaceWithBrk): * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::replaceWithBkpt): * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::replaceWithBkpt): * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::replaceWithJump): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::replaceWithBreakpoint): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::replaceWithBreakpoint): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::replaceWithJump): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::replaceWithBreakpoint): * assembler/X86Assembler.h: (JSC::X86Assembler::replaceWithInt3): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::jettison): (JSC::CodeBlock::hasInstalledVMTrapBreakpoints): (JSC::CodeBlock::installVMTrapBreakpoints): * bytecode/CodeBlock.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCheckTraps): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::installVMTrapBreakpoints): (JSC::DFG::CommonData::isVMTrapBreakpoint): * dfg/DFGCommonData.h: (JSC::DFG::CommonData::hasInstalledVMTrapsBreakpoints): * dfg/DFGJumpReplacement.cpp: (JSC::DFG::JumpReplacement::installVMTrapBreakpoint): * dfg/DFGJumpReplacement.h: (JSC::DFG::JumpReplacement::dataLocation): * dfg/DFGNodeType.h: * heap/CodeBlockSet.cpp: (JSC::CodeBlockSet::contains): * heap/CodeBlockSet.h: * heap/CodeBlockSetInlines.h: (JSC::CodeBlockSet::iterate): * heap/Heap.cpp: (JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl): * heap/Heap.h: * heap/HeapInlines.h: (JSC::Heap::forEachCodeBlockIgnoringJITPlans): * heap/MachineStackMarker.h: (JSC::MachineThreads::threadsListHead): * jit/ExecutableAllocator.cpp: (JSC::ExecutableAllocator::isValidExecutableMemory): * jit/ExecutableAllocator.h: * profiler/ProfilerJettisonReason.cpp: (WTF::printInternal): * profiler/ProfilerJettisonReason.h: * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/Options.cpp: (JSC::overrideDefaults): * runtime/Options.h: * runtime/PlatformThread.h: (JSC::platformThreadSignal): * runtime/VM.cpp: (JSC::VM::~VM): (JSC::VM::ensureWatchdog): (JSC::VM::handleTraps): Deleted. (JSC::VM::setNeedAsynchronousTerminationSupport): Deleted. * runtime/VM.h: (JSC::VM::ownerThread): (JSC::VM::traps): (JSC::VM::handleTraps): (JSC::VM::needTrapHandling): (JSC::VM::needAsynchronousTerminationSupport): Deleted. * runtime/VMTraps.cpp: (JSC::VMTraps::vm): (JSC::SignalContext::SignalContext): (JSC::SignalContext::adjustPCToPointToTrappingInstruction): (JSC::vmIsInactive): (JSC::findActiveVMAndStackBounds): (JSC::handleSigusr1): (JSC::handleSigtrap): (JSC::installSignalHandlers): (JSC::sanitizedTopCallFrame): (JSC::isSaneFrame): (JSC::VMTraps::tryInstallTrapBreakpoints): (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::VMTraps): (JSC::VMTraps::willDestroyVM): (JSC::VMTraps::addSignalSender): (JSC::VMTraps::removeSignalSender): (JSC::VMTraps::SignalSender::willDestroyVM): (JSC::VMTraps::SignalSender::send): (JSC::VMTraps::fireTrap): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::~VMTraps): (JSC::VMTraps::needTrapHandling): (JSC::VMTraps::notifyGrabAllLocks): (JSC::VMTraps::SignalSender::SignalSender): (JSC::VMTraps::invalidateCodeBlocksOnStack): * tools/VMInspector.cpp: * tools/VMInspector.h: (JSC::VMInspector::getLock): (JSC::VMInspector::iterate): Source/WebCore: No new tests needed. This is covered by existing tests. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::scheduleExecutionTermination): Source/WTF: Make StackBounds more useful for checking if a pointer is within stack bounds. * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::isInAllocatedMemory): * wtf/MetaAllocator.h: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isEmpty): (WTF::StackBounds::contains): Canonical link: https://commits.webkit.org/186409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-09 19:08:46 +00:00
}
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
void* origin() const
{
ASSERT(m_origin);
return m_origin;
}
GC stack scan should include ABI red zone. https://bugs.webkit.org/show_bug.cgi?id=148976 Reviewed by Geoffrey Garen and Benjamin Poulain. Source/JavaScriptCore: The x86_64 ABI section 3.2.2[1] and ARM64 ABI[2] both state that there is a 128 byte red zone below the stack pointer (reserved by the OS), and that "functions may use this area for temporary data that is not needed across function calls". Hence, it is possible for a thread to store JSCell pointers in the red zone area, and the conservative GC thread scanner needs to scan that area as well. Note: the red zone should not be scanned for the GC thread itself (in gatherFromCurrentThread()). This because we're guaranteed that there will be GC frames below the lowest (top of stack) frame that we need to scan. Hence, we are guaranteed that there are no red zone areas there containing JSObject pointers of relevance. No test added for this issue because the issue relies on: 1. the compiler tool chain generating code that stores local variables containing the sole reference to a JS object (that needs to be kept alive) in the stack red zone, and 2. GC has to run on another thread while that red zone containing the JS object reference is in use. These conditions require a race that cannot be reliably reproduced. [1]: http://people.freebsd.org/~obrien/amd64-elf-abi.pdf [2]: https://developer.apple.com/library/ios/documentation/Xcode/Conceptual/iPhoneOSABIReference/Articles/ARM64FunctionCallingConventions.html#//apple_ref/doc/uid/TP40013702-SW7 * heap/MachineStackMarker.cpp: (JSC::MachineThreads::Thread::Thread): (JSC::MachineThreads::Thread::createForCurrentThread): (JSC::MachineThreads::Thread::freeRegisters): (JSC::osRedZoneAdjustment): (JSC::MachineThreads::Thread::captureStack): Source/WTF: * wtf/StackBounds.h: (WTF::StackBounds::origin): (WTF::StackBounds::end): (WTF::StackBounds::size): Canonical link: https://commits.webkit.org/167071@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@189517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2015-09-09 00:19:15 +00:00
void* end() const
{
ASSERT(m_bound);
return m_bound;
}
size_t size() const
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
{
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
return static_cast<char*>(m_origin) - static_cast<char*>(m_bound);
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
}
Make the VM Traps mechanism non-polling for the DFG and FTL. https://bugs.webkit.org/show_bug.cgi?id=168920 <rdar://problem/30738588> Reviewed by Filip Pizlo. Source/JavaScriptCore: 1. Added a ENABLE(SIGNAL_BASED_VM_TRAPS) configuration in Platform.h. This is currently only enabled for OS(DARWIN) and ENABLE(JIT). 2. Added assembler functions for overwriting an instruction with a breakpoint. 3. Added a new JettisonDueToVMTraps jettison reason. 4. Added CodeBlock and DFG::CommonData utility functions for over-writing invalidation points with breakpoint instructions. 5. The BytecodeGenerator now emits the op_check_traps bytecode unconditionally. 6. Remove the JSC_alwaysCheckTraps option because of (4) above. For ports that don't ENABLE(SIGNAL_BASED_VM_TRAPS), we'll force Options::usePollingTraps() to always be true. This makes the VMTraps implementation fall back to using polling based traps only. 7. Make VMTraps support signal based traps. Some design and implementation details of signal based VM traps: - The implementation makes use of 2 signal handlers for SIGUSR1 and SIGTRAP. - VMTraps::fireTrap() will set the flag for the requested trap and instantiate a SignalSender. The SignalSender will send SIGUSR1 to the mutator thread that we want to trap, and check for the occurence of one of the following events: a. VMTraps::handleTraps() has been called for the requested trap, or b. the VM is inactive and is no longer executing any JS code. We determine this to be the case if the thread no longer owns the JSLock and the VM's entryScope is null. Note: the thread can relinquish the JSLock while the VM's entryScope is not null. This happens when the thread calls JSLock::dropAllLocks() before calling a host function that may block on IO (or whatever). For our purpose, this counts as the VM still running JS code, and VM::fireTrap() will still be waiting. If the SignalSender does not see either of these events, it will sleep for a while and then re-send SIGUSR1 and check for the events again. When it sees one of these events, it will consider the mutator to have received the trap request. - The SIGUSR1 handler will try to insert breakpoints at the invalidation points in the DFG/FTL codeBlock at the top of the stack. This allows the mutator thread to break (with a SIGTRAP) exactly at an invalidation point, where it's safe to jettison the codeBlock. Note: we cannot have the requester thread (that called VMTraps::fireTrap()) insert the breakpoint instructions itself. This is because we need the register state of the the mutator thread (that we want to trap in) in order to find the codeBlocks that we wish to insert the breakpoints in. Currently, we don't have a generic way for the requester thread to get the register state of another thread. - The SIGTRAP handler will check to see if it is trapping on a breakpoint at an invalidation point. If so, it will jettison the codeBlock and adjust the PC to re-execute the invalidation OSR exit off-ramp. After the OSR exit, the baseline JIT code will eventually reach an op_check_traps and call VMTraps::handleTraps(). If the handler is not trapping at an invalidation point, then it must be observing an assertion failure (which also uses the breakpoint instruction). In this case, the handler will defer to the default SIGTRAP handler and crash. - The reason we need the SignalSender is because SignalSender::send() is called from another thread in a loop, so that VMTraps::fireTrap() can return sooner. send() needs to make use of the VM pointer, and it is not guaranteed that the VM will outlive the thread. SignalSender provides the mechanism by which we can nullify the VM pointer when the VM dies so that the thread does not continue to use it. * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithBrk): * assembler/ARMAssembler.h: (JSC::ARMAssembler::replaceWithBrk): * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::replaceWithBkpt): * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::replaceWithBkpt): * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::replaceWithJump): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::replaceWithBreakpoint): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::replaceWithBreakpoint): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::replaceWithJump): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::replaceWithBreakpoint): * assembler/X86Assembler.h: (JSC::X86Assembler::replaceWithInt3): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::jettison): (JSC::CodeBlock::hasInstalledVMTrapBreakpoints): (JSC::CodeBlock::installVMTrapBreakpoints): * bytecode/CodeBlock.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCheckTraps): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::installVMTrapBreakpoints): (JSC::DFG::CommonData::isVMTrapBreakpoint): * dfg/DFGCommonData.h: (JSC::DFG::CommonData::hasInstalledVMTrapsBreakpoints): * dfg/DFGJumpReplacement.cpp: (JSC::DFG::JumpReplacement::installVMTrapBreakpoint): * dfg/DFGJumpReplacement.h: (JSC::DFG::JumpReplacement::dataLocation): * dfg/DFGNodeType.h: * heap/CodeBlockSet.cpp: (JSC::CodeBlockSet::contains): * heap/CodeBlockSet.h: * heap/CodeBlockSetInlines.h: (JSC::CodeBlockSet::iterate): * heap/Heap.cpp: (JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl): * heap/Heap.h: * heap/HeapInlines.h: (JSC::Heap::forEachCodeBlockIgnoringJITPlans): * heap/MachineStackMarker.h: (JSC::MachineThreads::threadsListHead): * jit/ExecutableAllocator.cpp: (JSC::ExecutableAllocator::isValidExecutableMemory): * jit/ExecutableAllocator.h: * profiler/ProfilerJettisonReason.cpp: (WTF::printInternal): * profiler/ProfilerJettisonReason.h: * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/Options.cpp: (JSC::overrideDefaults): * runtime/Options.h: * runtime/PlatformThread.h: (JSC::platformThreadSignal): * runtime/VM.cpp: (JSC::VM::~VM): (JSC::VM::ensureWatchdog): (JSC::VM::handleTraps): Deleted. (JSC::VM::setNeedAsynchronousTerminationSupport): Deleted. * runtime/VM.h: (JSC::VM::ownerThread): (JSC::VM::traps): (JSC::VM::handleTraps): (JSC::VM::needTrapHandling): (JSC::VM::needAsynchronousTerminationSupport): Deleted. * runtime/VMTraps.cpp: (JSC::VMTraps::vm): (JSC::SignalContext::SignalContext): (JSC::SignalContext::adjustPCToPointToTrappingInstruction): (JSC::vmIsInactive): (JSC::findActiveVMAndStackBounds): (JSC::handleSigusr1): (JSC::handleSigtrap): (JSC::installSignalHandlers): (JSC::sanitizedTopCallFrame): (JSC::isSaneFrame): (JSC::VMTraps::tryInstallTrapBreakpoints): (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::VMTraps): (JSC::VMTraps::willDestroyVM): (JSC::VMTraps::addSignalSender): (JSC::VMTraps::removeSignalSender): (JSC::VMTraps::SignalSender::willDestroyVM): (JSC::VMTraps::SignalSender::send): (JSC::VMTraps::fireTrap): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::~VMTraps): (JSC::VMTraps::needTrapHandling): (JSC::VMTraps::notifyGrabAllLocks): (JSC::VMTraps::SignalSender::SignalSender): (JSC::VMTraps::invalidateCodeBlocksOnStack): * tools/VMInspector.cpp: * tools/VMInspector.h: (JSC::VMInspector::getLock): (JSC::VMInspector::iterate): Source/WebCore: No new tests needed. This is covered by existing tests. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::scheduleExecutionTermination): Source/WTF: Make StackBounds more useful for checking if a pointer is within stack bounds. * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::isInAllocatedMemory): * wtf/MetaAllocator.h: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isEmpty): (WTF::StackBounds::contains): Canonical link: https://commits.webkit.org/186409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-09 19:08:46 +00:00
bool isEmpty() const { return !m_origin; }
bool contains(void* p) const
{
if (isEmpty())
return false;
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
return (m_origin >= p) && (p > m_bound);
Make the VM Traps mechanism non-polling for the DFG and FTL. https://bugs.webkit.org/show_bug.cgi?id=168920 <rdar://problem/30738588> Reviewed by Filip Pizlo. Source/JavaScriptCore: 1. Added a ENABLE(SIGNAL_BASED_VM_TRAPS) configuration in Platform.h. This is currently only enabled for OS(DARWIN) and ENABLE(JIT). 2. Added assembler functions for overwriting an instruction with a breakpoint. 3. Added a new JettisonDueToVMTraps jettison reason. 4. Added CodeBlock and DFG::CommonData utility functions for over-writing invalidation points with breakpoint instructions. 5. The BytecodeGenerator now emits the op_check_traps bytecode unconditionally. 6. Remove the JSC_alwaysCheckTraps option because of (4) above. For ports that don't ENABLE(SIGNAL_BASED_VM_TRAPS), we'll force Options::usePollingTraps() to always be true. This makes the VMTraps implementation fall back to using polling based traps only. 7. Make VMTraps support signal based traps. Some design and implementation details of signal based VM traps: - The implementation makes use of 2 signal handlers for SIGUSR1 and SIGTRAP. - VMTraps::fireTrap() will set the flag for the requested trap and instantiate a SignalSender. The SignalSender will send SIGUSR1 to the mutator thread that we want to trap, and check for the occurence of one of the following events: a. VMTraps::handleTraps() has been called for the requested trap, or b. the VM is inactive and is no longer executing any JS code. We determine this to be the case if the thread no longer owns the JSLock and the VM's entryScope is null. Note: the thread can relinquish the JSLock while the VM's entryScope is not null. This happens when the thread calls JSLock::dropAllLocks() before calling a host function that may block on IO (or whatever). For our purpose, this counts as the VM still running JS code, and VM::fireTrap() will still be waiting. If the SignalSender does not see either of these events, it will sleep for a while and then re-send SIGUSR1 and check for the events again. When it sees one of these events, it will consider the mutator to have received the trap request. - The SIGUSR1 handler will try to insert breakpoints at the invalidation points in the DFG/FTL codeBlock at the top of the stack. This allows the mutator thread to break (with a SIGTRAP) exactly at an invalidation point, where it's safe to jettison the codeBlock. Note: we cannot have the requester thread (that called VMTraps::fireTrap()) insert the breakpoint instructions itself. This is because we need the register state of the the mutator thread (that we want to trap in) in order to find the codeBlocks that we wish to insert the breakpoints in. Currently, we don't have a generic way for the requester thread to get the register state of another thread. - The SIGTRAP handler will check to see if it is trapping on a breakpoint at an invalidation point. If so, it will jettison the codeBlock and adjust the PC to re-execute the invalidation OSR exit off-ramp. After the OSR exit, the baseline JIT code will eventually reach an op_check_traps and call VMTraps::handleTraps(). If the handler is not trapping at an invalidation point, then it must be observing an assertion failure (which also uses the breakpoint instruction). In this case, the handler will defer to the default SIGTRAP handler and crash. - The reason we need the SignalSender is because SignalSender::send() is called from another thread in a loop, so that VMTraps::fireTrap() can return sooner. send() needs to make use of the VM pointer, and it is not guaranteed that the VM will outlive the thread. SignalSender provides the mechanism by which we can nullify the VM pointer when the VM dies so that the thread does not continue to use it. * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithBrk): * assembler/ARMAssembler.h: (JSC::ARMAssembler::replaceWithBrk): * assembler/ARMv7Assembler.h: (JSC::ARMv7Assembler::replaceWithBkpt): * assembler/MIPSAssembler.h: (JSC::MIPSAssembler::replaceWithBkpt): * assembler/MacroAssemblerARM.h: (JSC::MacroAssemblerARM::replaceWithJump): * assembler/MacroAssemblerARM64.h: (JSC::MacroAssemblerARM64::replaceWithBreakpoint): * assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::replaceWithBreakpoint): * assembler/MacroAssemblerMIPS.h: (JSC::MacroAssemblerMIPS::replaceWithJump): * assembler/MacroAssemblerX86Common.h: (JSC::MacroAssemblerX86Common::replaceWithBreakpoint): * assembler/X86Assembler.h: (JSC::X86Assembler::replaceWithInt3): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::jettison): (JSC::CodeBlock::hasInstalledVMTrapBreakpoints): (JSC::CodeBlock::installVMTrapBreakpoints): * bytecode/CodeBlock.h: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCheckTraps): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::installVMTrapBreakpoints): (JSC::DFG::CommonData::isVMTrapBreakpoint): * dfg/DFGCommonData.h: (JSC::DFG::CommonData::hasInstalledVMTrapsBreakpoints): * dfg/DFGJumpReplacement.cpp: (JSC::DFG::JumpReplacement::installVMTrapBreakpoint): * dfg/DFGJumpReplacement.h: (JSC::DFG::JumpReplacement::dataLocation): * dfg/DFGNodeType.h: * heap/CodeBlockSet.cpp: (JSC::CodeBlockSet::contains): * heap/CodeBlockSet.h: * heap/CodeBlockSetInlines.h: (JSC::CodeBlockSet::iterate): * heap/Heap.cpp: (JSC::Heap::forEachCodeBlockIgnoringJITPlansImpl): * heap/Heap.h: * heap/HeapInlines.h: (JSC::Heap::forEachCodeBlockIgnoringJITPlans): * heap/MachineStackMarker.h: (JSC::MachineThreads::threadsListHead): * jit/ExecutableAllocator.cpp: (JSC::ExecutableAllocator::isValidExecutableMemory): * jit/ExecutableAllocator.h: * profiler/ProfilerJettisonReason.cpp: (WTF::printInternal): * profiler/ProfilerJettisonReason.h: * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/Options.cpp: (JSC::overrideDefaults): * runtime/Options.h: * runtime/PlatformThread.h: (JSC::platformThreadSignal): * runtime/VM.cpp: (JSC::VM::~VM): (JSC::VM::ensureWatchdog): (JSC::VM::handleTraps): Deleted. (JSC::VM::setNeedAsynchronousTerminationSupport): Deleted. * runtime/VM.h: (JSC::VM::ownerThread): (JSC::VM::traps): (JSC::VM::handleTraps): (JSC::VM::needTrapHandling): (JSC::VM::needAsynchronousTerminationSupport): Deleted. * runtime/VMTraps.cpp: (JSC::VMTraps::vm): (JSC::SignalContext::SignalContext): (JSC::SignalContext::adjustPCToPointToTrappingInstruction): (JSC::vmIsInactive): (JSC::findActiveVMAndStackBounds): (JSC::handleSigusr1): (JSC::handleSigtrap): (JSC::installSignalHandlers): (JSC::sanitizedTopCallFrame): (JSC::isSaneFrame): (JSC::VMTraps::tryInstallTrapBreakpoints): (JSC::VMTraps::invalidateCodeBlocksOnStack): (JSC::VMTraps::VMTraps): (JSC::VMTraps::willDestroyVM): (JSC::VMTraps::addSignalSender): (JSC::VMTraps::removeSignalSender): (JSC::VMTraps::SignalSender::willDestroyVM): (JSC::VMTraps::SignalSender::send): (JSC::VMTraps::fireTrap): (JSC::VMTraps::handleTraps): * runtime/VMTraps.h: (JSC::VMTraps::~VMTraps): (JSC::VMTraps::needTrapHandling): (JSC::VMTraps::notifyGrabAllLocks): (JSC::VMTraps::SignalSender::SignalSender): (JSC::VMTraps::invalidateCodeBlocksOnStack): * tools/VMInspector.cpp: * tools/VMInspector.h: (JSC::VMInspector::getLock): (JSC::VMInspector::iterate): Source/WebCore: No new tests needed. This is covered by existing tests. * bindings/js/WorkerScriptController.cpp: (WebCore::WorkerScriptController::WorkerScriptController): (WebCore::WorkerScriptController::scheduleExecutionTermination): Source/WTF: Make StackBounds more useful for checking if a pointer is within stack bounds. * wtf/MetaAllocator.cpp: (WTF::MetaAllocator::isInAllocatedMemory): * wtf/MetaAllocator.h: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isEmpty): (WTF::StackBounds::contains): Canonical link: https://commits.webkit.org/186409@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@213652 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-03-09 19:08:46 +00:00
}
Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction(). https://bugs.webkit.org/show_bug.cgi?id=203936 <rdar://problem/56624724> Reviewed by Saam Barati. JSTests: This issue originally manifested as incorrect-exception-assertion-in-operationRegExpExecNonGlobalOrSticky.js failing on iOS devices due to its smaller stack. We adapted the original test here using $vm.callWithStackSize() to reproduce the issue on x86_64 though it has a much larger physical stack to work with. This new test will crash while stepping on the guard page beyond the end of the stack if the fix is not applied. * stress/stack-overflow-in-yarr-byteCompile.js: Added. Source/JavaScriptCore: Basically, any functions below Yarr::ByteCompiler::compile() that recurses need to check if it's safe to recurse before doing so. This patch adds the stack checks in Yarr::ByteCompiler::compile() because it is the entry point to this sub-system, and Yarr::ByteCompiler::emitDisjunction() because it is the only function that recurses. All other functions called below compile() are either leaf functions or have shallow stack usage. Hence, their stack needs are covered by the DefaultReservedZone, and they do not need stack checks. This patch also does the following: 1. Added $vm.callWithStackSize() which can be used to call a test function near the end of the physical stack. This enables is to simulate the smaller stack size of more resource constrained devices. $vm.callWithStackSize() uses inline asm to adjust the stack pointer and does the callback via the JIT probe trampoline. 2. Added the --disableOptionsFreezingForTesting to the jsc shell to make it possible to disable freezing of JSC options. $vm.callWithStackSize() relies on this to modify the VM's stack limits. 3. Removed the inline modifier on VM::updateStackLimits() so that we can call it from $vm.callWithStackSize() as well. It is not a performance critical function and is rarely called. 4. Added a JSDollarVMHelper class that other parts of the system can declare as a friend. This gives $vm a backdoor into the private functions and fields of classes for its debugging work. In this patch, we're only using it to access VM::updateVMStackLimits(). * jsc.cpp: (CommandLine::parseArguments): * runtime/VM.cpp: (JSC::VM::updateStackLimits): * runtime/VM.h: * tools/JSDollarVM.cpp: (JSC::JSDollarVMHelper::JSDollarVMHelper): (JSC::JSDollarVMHelper::vmStackStart): (JSC::JSDollarVMHelper::vmStackLimit): (JSC::JSDollarVMHelper::vmSoftStackLimit): (JSC::JSDollarVMHelper::updateVMStackLimits): (JSC::callWithStackSizeProbeFunction): (JSC::functionCallWithStackSize): (JSC::JSDollarVM::finishCreation): (IGNORE_WARNINGS_BEGIN): Deleted. * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::ByteCompiler::isSafeToRecurse): Source/WTF: 1. Add a StackCheck utility class so that we don't have to keep reinventing this every time we need to add stack checking somewhere. 2. Rename some arguments and constants in StackBounds to be more descriptive of what they actually are. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::recursionLimit const): * wtf/StackCheck.h: Added. (WTF::StackCheck::StackCheck): (WTF::StackCheck::isSafeToRecurse): Canonical link: https://commits.webkit.org/217331@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-08 16:58:49 +00:00
void* recursionLimit(size_t minReservedZone = DefaultReservedZone) const
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
{
checkConsistency();
Add a stack overflow check in Yarr::ByteCompiler::emitDisjunction(). https://bugs.webkit.org/show_bug.cgi?id=203936 <rdar://problem/56624724> Reviewed by Saam Barati. JSTests: This issue originally manifested as incorrect-exception-assertion-in-operationRegExpExecNonGlobalOrSticky.js failing on iOS devices due to its smaller stack. We adapted the original test here using $vm.callWithStackSize() to reproduce the issue on x86_64 though it has a much larger physical stack to work with. This new test will crash while stepping on the guard page beyond the end of the stack if the fix is not applied. * stress/stack-overflow-in-yarr-byteCompile.js: Added. Source/JavaScriptCore: Basically, any functions below Yarr::ByteCompiler::compile() that recurses need to check if it's safe to recurse before doing so. This patch adds the stack checks in Yarr::ByteCompiler::compile() because it is the entry point to this sub-system, and Yarr::ByteCompiler::emitDisjunction() because it is the only function that recurses. All other functions called below compile() are either leaf functions or have shallow stack usage. Hence, their stack needs are covered by the DefaultReservedZone, and they do not need stack checks. This patch also does the following: 1. Added $vm.callWithStackSize() which can be used to call a test function near the end of the physical stack. This enables is to simulate the smaller stack size of more resource constrained devices. $vm.callWithStackSize() uses inline asm to adjust the stack pointer and does the callback via the JIT probe trampoline. 2. Added the --disableOptionsFreezingForTesting to the jsc shell to make it possible to disable freezing of JSC options. $vm.callWithStackSize() relies on this to modify the VM's stack limits. 3. Removed the inline modifier on VM::updateStackLimits() so that we can call it from $vm.callWithStackSize() as well. It is not a performance critical function and is rarely called. 4. Added a JSDollarVMHelper class that other parts of the system can declare as a friend. This gives $vm a backdoor into the private functions and fields of classes for its debugging work. In this patch, we're only using it to access VM::updateVMStackLimits(). * jsc.cpp: (CommandLine::parseArguments): * runtime/VM.cpp: (JSC::VM::updateStackLimits): * runtime/VM.h: * tools/JSDollarVM.cpp: (JSC::JSDollarVMHelper::JSDollarVMHelper): (JSC::JSDollarVMHelper::vmStackStart): (JSC::JSDollarVMHelper::vmStackLimit): (JSC::JSDollarVMHelper::vmSoftStackLimit): (JSC::JSDollarVMHelper::updateVMStackLimits): (JSC::callWithStackSizeProbeFunction): (JSC::functionCallWithStackSize): (JSC::JSDollarVM::finishCreation): (IGNORE_WARNINGS_BEGIN): Deleted. * yarr/YarrInterpreter.cpp: (JSC::Yarr::ByteCompiler::compile): (JSC::Yarr::ByteCompiler::emitDisjunction): (JSC::Yarr::ByteCompiler::isSafeToRecurse): Source/WTF: 1. Add a StackCheck utility class so that we don't have to keep reinventing this every time we need to add stack checking somewhere. 2. Rename some arguments and constants in StackBounds to be more descriptive of what they actually are. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::recursionLimit const): * wtf/StackCheck.h: Added. (WTF::StackCheck::StackCheck): (WTF::StackCheck::isSafeToRecurse): Canonical link: https://commits.webkit.org/217331@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-08 16:58:49 +00:00
return static_cast<char*>(m_bound) + minReservedZone;
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
}
void* recursionLimit(char* startOfUserStack, size_t maxUserStack, size_t reservedZoneSize) const
{
checkConsistency();
if (maxUserStack < reservedZoneSize)
reservedZoneSize = maxUserStack;
size_t maxUserStackWithReservedZone = maxUserStack - reservedZoneSize;
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
char* endOfStackWithReservedZone = reinterpret_cast<char*>(m_bound) + reservedZoneSize;
if (startOfUserStack < endOfStackWithReservedZone)
return endOfStackWithReservedZone;
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
size_t availableUserStack = startOfUserStack - endOfStackWithReservedZone;
if (maxUserStackWithReservedZone > availableUserStack)
maxUserStackWithReservedZone = availableUserStack;
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
return startOfUserStack - maxUserStackWithReservedZone;
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
}
CheckpointSideState shoud play nicely with StackOverflowException unwinding. https://bugs.webkit.org/show_bug.cgi?id=215114 Reviewed by Saam Barati. JSTests: * stress/stack-overflow-into-frame-with-pending-checkpoint.js: Added. (foo.catch.async bar): (foo.catch): (foo): Source/JavaScriptCore: This patch fixes an issue where we the StackVisitor would automatically unwind into the first frame before calling into the provided functor. As a note, we do this because the first frame is not fully initialized at the time we check for stack overflow. When this happened we would fail to clear the side state causing a memory leak. To fix this the unwind function now clears every checkpoint up to and including the call frame containing our handler. Some care needs to be taken that we don't clear checkpoint side state for other threads, which could happen if there are no checkpoints on the current thread and an API miggrated us from another thread below the current thread. This patch also makes two refacorings. The first is to make the checkpoint side state into a stack, which is how we used it anyway. The second is that CallFrame::dump and everything associated with it is now marked const so we can PointerDump a CallFrame*. * dfg/DFGOSRExit.cpp: (JSC::DFG::OSRExit::compileExit): * ftl/FTLOSRExitCompiler.cpp: (JSC::FTL::compileStub): * interpreter/CallFrame.cpp: (JSC::CallFrame::bytecodeIndex const): (JSC::CallFrame::codeOrigin const): (JSC::CallFrame::dump const): (JSC::CallFrame::bytecodeIndex): Deleted. (JSC::CallFrame::codeOrigin): Deleted. (JSC::CallFrame::dump): Deleted. * interpreter/CallFrame.h: (JSC::CallFrame::argument const): (JSC::CallFrame::uncheckedArgument const): (JSC::CallFrame::getArgumentUnsafe const): (JSC::CallFrame::thisValue const): (JSC::CallFrame::newTarget const): (JSC::CallFrame::argument): Deleted. (JSC::CallFrame::uncheckedArgument): Deleted. (JSC::CallFrame::getArgumentUnsafe): Deleted. (JSC::CallFrame::thisValue): Deleted. (JSC::CallFrame::newTarget): Deleted. * interpreter/CheckpointOSRExitSideState.h: (JSC::CheckpointOSRExitSideState::CheckpointOSRExitSideState): * interpreter/Interpreter.cpp: (JSC::UnwindFunctor::operator() const): (JSC::Interpreter::unwind): (): Deleted. * llint/LLIntSlowPaths.cpp: (JSC::LLInt::slow_path_checkpoint_osr_exit_from_inlined_call): (JSC::LLInt::slow_path_checkpoint_osr_exit): * runtime/VM.cpp: (JSC::VM::scanSideState const): (JSC::VM::pushCheckpointOSRSideState): (JSC::VM::popCheckpointOSRSideState): (JSC::VM::popAllCheckpointOSRSideStateUntil): (JSC::VM::addCheckpointOSRSideState): Deleted. (JSC::VM::findCheckpointOSRSideState): Deleted. * runtime/VM.h: Source/WTF: Add a helper so we can have soft stack bounds. * wtf/StackBounds.h: (WTF::StackBounds::withSoftOrigin const): Canonical link: https://commits.webkit.org/227953@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@265272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-08-05 01:32:52 +00:00
StackBounds withSoftOrigin(void* origin) const
{
ASSERT(contains(origin));
return StackBounds(origin, m_bound);
}
Introducing VMEntryScope to update the VM stack limit. https://bugs.webkit.org/show_bug.cgi?id=124634. Reviewed by Geoffrey Garen. Source/JavaScriptCore: 1. Introduced USE(SEPARATE_C_AND_JS_STACK) (defined in Platform.h). Currently, it is hardcoded to use separate C and JS stacks. Once we switch to using the C stack for JS frames, we'll need to fix this to only be enabled when ENABLE(LLINT_C_LOOP). 2. Stack limits are now tracked in the VM. Logically, there are 2 stack limits: a. m_stackLimit for the native C stack, and b. m_jsStackLimit for the JS stack. If USE(SEPARATE_C_AND_JS_STACK), then the 2 limits are the same value, and are implemented as 2 fields in a union. 3. The VM native stackLimit is set as follows: a. Initially, the VM sets it to the limit of the stack of the thread that instantiated the VM. This allows the parser and bytecode generator to run before we enter the VM to execute JS code. b. Upon entry into the VM to execute JS code (via one of the Interpreter::execute...() functions), we instantiate a VMEntryScope that sets the VM's stackLimit to the limit of the current thread's stack. The VMEntryScope will automatically restore the previous entryScope and stack limit upon destruction. If USE(SEPARATE_C_AND_JS_STACK), the JSStack's methods will set the VM's jsStackLimit whenever it grows or shrinks. 4. The VM now provides a isSafeToRecurse() function that compares the current stack pointer against its native stackLimit. This subsumes and obsoletes the VMStackBounds class. 5. The VMEntryScope class also subsumes DynamicGlobalObjectScope for tracking the JSGlobalObject that we last entered the VM with. 6. Renamed dynamicGlobalObject() to vmEntryGlobalObject() since that is the value that the function retrieves. 7. Changed JIT and LLINT code to do stack checks against the jsStackLimit in the VM class instead of the JSStack. * API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): * API/JSContextRef.cpp: (JSGlobalContextRetain): (JSGlobalContextRelease): * CMakeLists.txt: * GNUmakefile.list.am: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::emitNodeInConditionContext): * debugger/Debugger.cpp: (JSC::Debugger::detach): (JSC::Debugger::recompileAllJSFunctions): (JSC::Debugger::pauseIfNeeded): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::vmEntryGlobalObject): * debugger/DebuggerCallFrame.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLOSREntry.cpp: * heap/Heap.cpp: (JSC::Heap::lastChanceToFinalize): (JSC::Heap::deleteAllCompiledCode): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::vmEntryGlobalObject): * interpreter/CallFrame.h: * interpreter/Interpreter.cpp: (JSC::unwindCallFrame): (JSC::Interpreter::unwind): (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): (JSC::Interpreter::debug): * interpreter/JSStack.cpp: (JSC::JSStack::JSStack): (JSC::JSStack::growSlowCase): * interpreter/JSStack.h: * interpreter/JSStackInlines.h: (JSC::JSStack::shrink): (JSC::JSStack::grow): - Moved these inlined functions here from JSStack.h. It reduces some #include dependencies of JSSTack.h which had previously resulted in some EWS bots' unhappiness with this patch. (JSC::JSStack::updateStackLimit): * jit/JIT.cpp: (JSC::JIT::privateCompile): * jit/JITCall.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITCall32_64.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITOperations.cpp: * llint/LLIntSlowPaths.cpp: * llint/LowLevelInterpreter.asm: * parser/Parser.cpp: (JSC::::Parser): * parser/Parser.h: (JSC::Parser::canRecurse): * runtime/CommonSlowPaths.h: * runtime/Completion.cpp: (JSC::evaluate): * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/JSGlobalObject.cpp: * runtime/JSGlobalObject.h: * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): * runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::releaseExecutableMemory): (JSC::VM::throwException): * runtime/VM.h: (JSC::VM::addressOfJSStackLimit): (JSC::VM::jsStackLimit): (JSC::VM::setJSStackLimit): (JSC::VM::stackLimit): (JSC::VM::setStackLimit): (JSC::VM::isSafeToRecurse): * runtime/VMEntryScope.cpp: Added. (JSC::VMEntryScope::VMEntryScope): (JSC::VMEntryScope::~VMEntryScope): (JSC::VMEntryScope::requiredCapacity): * runtime/VMEntryScope.h: Added. (JSC::VMEntryScope::globalObject): * runtime/VMStackBounds.h: Removed. Source/WebCore: No new tests. Renamed dynamicGlobalObject() to vmEntryGlobalObject(). Replaced uses of DynamicGlobalObjectScope with VMEntryScope. * ForwardingHeaders/runtime/VMEntryScope.h: Added. * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * bindings/js/JSCryptoAlgorithmBuilder.cpp: (WebCore::JSCryptoAlgorithmBuilder::add): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): * bindings/js/JSDOMBinding.cpp: (WebCore::firstDOMWindow): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::vmEntryGlobalObject): * bindings/js/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::recompileAllJSFunctions): * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::evaluateBreakpointAction): (WebCore::ScriptDebugServer::handlePause): * bindings/js/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): * bindings/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): * bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState): * bridge/objc/objc_runtime.mm: (JSC::Bindings::convertValueToObjcObject): * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): Source/WebKit/mac: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): Source/WTF: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::StackBounds): Canonical link: https://commits.webkit.org/142859@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-11-21 05:29:42 +00:00
private:
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
StackBounds(void* origin, void* end)
: m_origin(origin)
, m_bound(end)
{
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
ASSERT(isGrowingDownwards());
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
}
WTF::Thread should have the threads stack bounds. https://bugs.webkit.org/show_bug.cgi?id=173975 Reviewed by Mark Lam. Source/JavaScriptCore: There is a site in JSC that try to walk another thread's stack. Currently, stack bounds are stored in WTFThreadData which is located in TLS. Thus, only the thread itself can access its own WTFThreadData. We workaround this situation by holding StackBounds in MachineThread in JSC, but StackBounds should be put in WTF::Thread instead. This patch adds StackBounds to WTF::Thread. StackBounds information is tightly coupled with Thread. Thus putting it in WTF::Thread is natural choice. * heap/MachineStackMarker.cpp: (JSC::MachineThreads::MachineThread::MachineThread): (JSC::MachineThreads::MachineThread::captureStack): * heap/MachineStackMarker.h: (JSC::MachineThreads::MachineThread::stackBase): (JSC::MachineThreads::MachineThread::stackEnd): * runtime/VMTraps.cpp: Source/WebCore: When creating WebThread, we first allocate WebCore::ThreadGlobalData in UI thread and share it with WebThread. The problem is that WebCore::ThreadGlobalData has CachedResourceRequestInitiators. It allocates AtomicString, which requires WTFThreadData. In this patch, we call WTF::initializeThreading() before allocating WebCore::ThreadGlobalData. And we also call AtomicString::init() before calling WebCore::ThreadGlobalData since WebCore::ThreadGlobalData allocates AtomicString. * platform/ios/wak/WebCoreThread.mm: (StartWebThread): Source/WTF: We move StackBounds from WTFThreadData to WTF::Thread. One important thing is that we should make valid StackBounds visible to Thread::create() caller. When the caller get WTF::Thread from Thread::create(), this WTF::Thread should have a valid StackBounds. But StackBounds information can be retrived only in the WTF::Thread's thread itself. We also clean up WTF::initializeThreading. StringImpl::empty() is now statically initialized by using constexpr constructor. Thus we do not need to call StringImpl::empty() explicitly here. And WTF::initializeThreading() does not have any main thread affinity right now in all the platforms. So we fix the comment in Threading.h. Then, now, WTF::initializeThreading() is called in UI thread when using Web thread in iOS. * wtf/StackBounds.h: (WTF::StackBounds::emptyBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::threadEntryPoint): (WTF::Thread::create): (WTF::Thread::currentMayBeNull): (WTF::Thread::initialize): (WTF::initializeThreading): * wtf/Threading.h: (WTF::Thread::stack): * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::current): (WTF::initializeCurrentThreadEvenIfNonWTFCreated): Deleted. (WTF::Thread::currentMayBeNull): Deleted. * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Canonical link: https://commits.webkit.org/191458@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219647 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-19 04:53:59 +00:00
constexpr StackBounds()
: m_origin(nullptr)
, m_bound(nullptr)
Introducing VMEntryScope to update the VM stack limit. https://bugs.webkit.org/show_bug.cgi?id=124634. Reviewed by Geoffrey Garen. Source/JavaScriptCore: 1. Introduced USE(SEPARATE_C_AND_JS_STACK) (defined in Platform.h). Currently, it is hardcoded to use separate C and JS stacks. Once we switch to using the C stack for JS frames, we'll need to fix this to only be enabled when ENABLE(LLINT_C_LOOP). 2. Stack limits are now tracked in the VM. Logically, there are 2 stack limits: a. m_stackLimit for the native C stack, and b. m_jsStackLimit for the JS stack. If USE(SEPARATE_C_AND_JS_STACK), then the 2 limits are the same value, and are implemented as 2 fields in a union. 3. The VM native stackLimit is set as follows: a. Initially, the VM sets it to the limit of the stack of the thread that instantiated the VM. This allows the parser and bytecode generator to run before we enter the VM to execute JS code. b. Upon entry into the VM to execute JS code (via one of the Interpreter::execute...() functions), we instantiate a VMEntryScope that sets the VM's stackLimit to the limit of the current thread's stack. The VMEntryScope will automatically restore the previous entryScope and stack limit upon destruction. If USE(SEPARATE_C_AND_JS_STACK), the JSStack's methods will set the VM's jsStackLimit whenever it grows or shrinks. 4. The VM now provides a isSafeToRecurse() function that compares the current stack pointer against its native stackLimit. This subsumes and obsoletes the VMStackBounds class. 5. The VMEntryScope class also subsumes DynamicGlobalObjectScope for tracking the JSGlobalObject that we last entered the VM with. 6. Renamed dynamicGlobalObject() to vmEntryGlobalObject() since that is the value that the function retrieves. 7. Changed JIT and LLINT code to do stack checks against the jsStackLimit in the VM class instead of the JSStack. * API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): * API/JSContextRef.cpp: (JSGlobalContextRetain): (JSGlobalContextRelease): * CMakeLists.txt: * GNUmakefile.list.am: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::emitNodeInConditionContext): * debugger/Debugger.cpp: (JSC::Debugger::detach): (JSC::Debugger::recompileAllJSFunctions): (JSC::Debugger::pauseIfNeeded): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::vmEntryGlobalObject): * debugger/DebuggerCallFrame.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLOSREntry.cpp: * heap/Heap.cpp: (JSC::Heap::lastChanceToFinalize): (JSC::Heap::deleteAllCompiledCode): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::vmEntryGlobalObject): * interpreter/CallFrame.h: * interpreter/Interpreter.cpp: (JSC::unwindCallFrame): (JSC::Interpreter::unwind): (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): (JSC::Interpreter::debug): * interpreter/JSStack.cpp: (JSC::JSStack::JSStack): (JSC::JSStack::growSlowCase): * interpreter/JSStack.h: * interpreter/JSStackInlines.h: (JSC::JSStack::shrink): (JSC::JSStack::grow): - Moved these inlined functions here from JSStack.h. It reduces some #include dependencies of JSSTack.h which had previously resulted in some EWS bots' unhappiness with this patch. (JSC::JSStack::updateStackLimit): * jit/JIT.cpp: (JSC::JIT::privateCompile): * jit/JITCall.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITCall32_64.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITOperations.cpp: * llint/LLIntSlowPaths.cpp: * llint/LowLevelInterpreter.asm: * parser/Parser.cpp: (JSC::::Parser): * parser/Parser.h: (JSC::Parser::canRecurse): * runtime/CommonSlowPaths.h: * runtime/Completion.cpp: (JSC::evaluate): * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/JSGlobalObject.cpp: * runtime/JSGlobalObject.h: * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): * runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::releaseExecutableMemory): (JSC::VM::throwException): * runtime/VM.h: (JSC::VM::addressOfJSStackLimit): (JSC::VM::jsStackLimit): (JSC::VM::setJSStackLimit): (JSC::VM::stackLimit): (JSC::VM::setStackLimit): (JSC::VM::isSafeToRecurse): * runtime/VMEntryScope.cpp: Added. (JSC::VMEntryScope::VMEntryScope): (JSC::VMEntryScope::~VMEntryScope): (JSC::VMEntryScope::requiredCapacity): * runtime/VMEntryScope.h: Added. (JSC::VMEntryScope::globalObject): * runtime/VMStackBounds.h: Removed. Source/WebCore: No new tests. Renamed dynamicGlobalObject() to vmEntryGlobalObject(). Replaced uses of DynamicGlobalObjectScope with VMEntryScope. * ForwardingHeaders/runtime/VMEntryScope.h: Added. * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * bindings/js/JSCryptoAlgorithmBuilder.cpp: (WebCore::JSCryptoAlgorithmBuilder::add): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): * bindings/js/JSDOMBinding.cpp: (WebCore::firstDOMWindow): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::vmEntryGlobalObject): * bindings/js/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::recompileAllJSFunctions): * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::evaluateBreakpointAction): (WebCore::ScriptDebugServer::handlePause): * bindings/js/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): * bindings/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): * bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState): * bridge/objc/objc_runtime.mm: (JSC::Bindings::convertValueToObjcObject): * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): Source/WebKit/mac: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): Source/WTF: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::StackBounds): Canonical link: https://commits.webkit.org/142859@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-11-21 05:29:42 +00:00
{
}
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
inline bool isGrowingDownwards() const
{
ASSERT(m_origin && m_bound);
return m_bound <= m_origin;
}
[WTF] Drop Thread initialization wait in some platforms by introducing StackBounds::newThreadStackBounds(PlatformThreadHandle&) https://bugs.webkit.org/show_bug.cgi?id=174303 Reviewed by Mark Lam. Currently, the caller thread of Thread::create() need to wait for completion of the initialization of the target thread. This is because we need to initialize Thread::m_stack in the target thread. Before this patch, a target thread's StackBounds can only be retrieved by the target thread itself. However, this potentially causes context-switching between the caller and the target threads and hurts efficiency of creating threads. Fortunately, in some platforms (including major platforms except for Windows), we can get StackBounds of a target thread from a caller thread. This allows us to avoid waiting for completion of thread initialization. In this patch, we introduce HAVE_STACK_BOUNDS_FOR_NEW_THREAD and StackBounds::newThreadStackBounds. When creating a new thread, we will use StackBounds::newThreadStackBounds to get StackBounds if possible. As a result, we do not need to wait for completion of thread initialization to ensure m_stack field of Thread is initialized. While some documents claim that it is possible on Windows to get the StackBounds of another thread[1], the method relies on undocumented Windows NT APIs (NtQueryInformationThread, NtReadVirtualMemory etc.). So in this patch, we just use the conservative approach simply waiting for completion of thread initialization. [1]: https://stackoverflow.com/questions/3918375/how-to-get-thread-stack-information-on-windows * wtf/Platform.h: * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::initialize): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::currentThreadStackBounds): (WTF::StackBounds::StackBounds): * wtf/Threading.cpp: (WTF::Thread::NewThreadContext::NewThreadContext): (WTF::Thread::entryPoint): (WTF::Thread::create): (WTF::Thread::initialize): Deleted. * wtf/Threading.h: * wtf/ThreadingPrimitives.h: * wtf/ThreadingPthreads.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::wtfThreadEntryPoint): (WTF::Thread::establishHandle): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/ThreadingWin.cpp: (WTF::Thread::initializeCurrentThreadEvenIfNonWTFCreated): (WTF::Thread::initializeCurrentThreadInternal): (WTF::Thread::current): * wtf/win/MainThreadWin.cpp: (WTF::initializeMainThreadPlatform): Canonical link: https://commits.webkit.org/191723@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@219994 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2017-07-28 05:11:19 +00:00
WTF_EXPORT_PRIVATE static StackBounds currentThreadStackBoundsInternal();
Introducing VMEntryScope to update the VM stack limit. https://bugs.webkit.org/show_bug.cgi?id=124634. Reviewed by Geoffrey Garen. Source/JavaScriptCore: 1. Introduced USE(SEPARATE_C_AND_JS_STACK) (defined in Platform.h). Currently, it is hardcoded to use separate C and JS stacks. Once we switch to using the C stack for JS frames, we'll need to fix this to only be enabled when ENABLE(LLINT_C_LOOP). 2. Stack limits are now tracked in the VM. Logically, there are 2 stack limits: a. m_stackLimit for the native C stack, and b. m_jsStackLimit for the JS stack. If USE(SEPARATE_C_AND_JS_STACK), then the 2 limits are the same value, and are implemented as 2 fields in a union. 3. The VM native stackLimit is set as follows: a. Initially, the VM sets it to the limit of the stack of the thread that instantiated the VM. This allows the parser and bytecode generator to run before we enter the VM to execute JS code. b. Upon entry into the VM to execute JS code (via one of the Interpreter::execute...() functions), we instantiate a VMEntryScope that sets the VM's stackLimit to the limit of the current thread's stack. The VMEntryScope will automatically restore the previous entryScope and stack limit upon destruction. If USE(SEPARATE_C_AND_JS_STACK), the JSStack's methods will set the VM's jsStackLimit whenever it grows or shrinks. 4. The VM now provides a isSafeToRecurse() function that compares the current stack pointer against its native stackLimit. This subsumes and obsoletes the VMStackBounds class. 5. The VMEntryScope class also subsumes DynamicGlobalObjectScope for tracking the JSGlobalObject that we last entered the VM with. 6. Renamed dynamicGlobalObject() to vmEntryGlobalObject() since that is the value that the function retrieves. 7. Changed JIT and LLINT code to do stack checks against the jsStackLimit in the VM class instead of the JSStack. * API/JSBase.cpp: (JSEvaluateScript): (JSCheckScriptSyntax): * API/JSContextRef.cpp: (JSGlobalContextRetain): (JSGlobalContextRelease): * CMakeLists.txt: * GNUmakefile.list.am: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: * JavaScriptCore.xcodeproj/project.pbxproj: * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::BytecodeGenerator): * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::emitNodeInConditionContext): * debugger/Debugger.cpp: (JSC::Debugger::detach): (JSC::Debugger::recompileAllJSFunctions): (JSC::Debugger::pauseIfNeeded): * debugger/DebuggerCallFrame.cpp: (JSC::DebuggerCallFrame::vmEntryGlobalObject): * debugger/DebuggerCallFrame.h: * dfg/DFGJITCompiler.cpp: (JSC::DFG::JITCompiler::compileFunction): * dfg/DFGOSREntry.cpp: * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLOSREntry.cpp: * heap/Heap.cpp: (JSC::Heap::lastChanceToFinalize): (JSC::Heap::deleteAllCompiledCode): * interpreter/CachedCall.h: (JSC::CachedCall::CachedCall): * interpreter/CallFrame.cpp: (JSC::CallFrame::vmEntryGlobalObject): * interpreter/CallFrame.h: * interpreter/Interpreter.cpp: (JSC::unwindCallFrame): (JSC::Interpreter::unwind): (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): (JSC::Interpreter::debug): * interpreter/JSStack.cpp: (JSC::JSStack::JSStack): (JSC::JSStack::growSlowCase): * interpreter/JSStack.h: * interpreter/JSStackInlines.h: (JSC::JSStack::shrink): (JSC::JSStack::grow): - Moved these inlined functions here from JSStack.h. It reduces some #include dependencies of JSSTack.h which had previously resulted in some EWS bots' unhappiness with this patch. (JSC::JSStack::updateStackLimit): * jit/JIT.cpp: (JSC::JIT::privateCompile): * jit/JITCall.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITCall32_64.cpp: (JSC::JIT::compileLoadVarargs): * jit/JITOperations.cpp: * llint/LLIntSlowPaths.cpp: * llint/LowLevelInterpreter.asm: * parser/Parser.cpp: (JSC::::Parser): * parser/Parser.h: (JSC::Parser::canRecurse): * runtime/CommonSlowPaths.h: * runtime/Completion.cpp: (JSC::evaluate): * runtime/FunctionConstructor.cpp: (JSC::constructFunctionSkippingEvalEnabledCheck): * runtime/JSGlobalObject.cpp: * runtime/JSGlobalObject.h: * runtime/StringRecursionChecker.h: (JSC::StringRecursionChecker::performCheck): * runtime/VM.cpp: (JSC::VM::VM): (JSC::VM::releaseExecutableMemory): (JSC::VM::throwException): * runtime/VM.h: (JSC::VM::addressOfJSStackLimit): (JSC::VM::jsStackLimit): (JSC::VM::setJSStackLimit): (JSC::VM::stackLimit): (JSC::VM::setStackLimit): (JSC::VM::isSafeToRecurse): * runtime/VMEntryScope.cpp: Added. (JSC::VMEntryScope::VMEntryScope): (JSC::VMEntryScope::~VMEntryScope): (JSC::VMEntryScope::requiredCapacity): * runtime/VMEntryScope.h: Added. (JSC::VMEntryScope::globalObject): * runtime/VMStackBounds.h: Removed. Source/WebCore: No new tests. Renamed dynamicGlobalObject() to vmEntryGlobalObject(). Replaced uses of DynamicGlobalObjectScope with VMEntryScope. * ForwardingHeaders/runtime/VMEntryScope.h: Added. * WebCore.vcxproj/WebCore.vcxproj: * WebCore.vcxproj/WebCore.vcxproj.filters: * bindings/js/JSCryptoAlgorithmBuilder.cpp: (WebCore::JSCryptoAlgorithmBuilder::add): * bindings/js/JSCustomXPathNSResolver.cpp: (WebCore::JSCustomXPathNSResolver::create): * bindings/js/JSDOMBinding.cpp: (WebCore::firstDOMWindow): * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): * bindings/js/JavaScriptCallFrame.h: (WebCore::JavaScriptCallFrame::vmEntryGlobalObject): * bindings/js/PageScriptDebugServer.cpp: (WebCore::PageScriptDebugServer::recompileAllJSFunctions): * bindings/js/ScriptDebugServer.cpp: (WebCore::ScriptDebugServer::evaluateBreakpointAction): (WebCore::ScriptDebugServer::handlePause): * bindings/js/WorkerScriptDebugServer.cpp: (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions): * bindings/objc/WebScriptObject.mm: (WebCore::addExceptionToConsole): * bridge/c/c_utility.cpp: (JSC::Bindings::convertValueToNPVariant): * bridge/objc/objc_instance.mm: (ObjcInstance::moveGlobalExceptionToExecState): * bridge/objc/objc_runtime.mm: (JSC::Bindings::convertValueToObjcObject): * bridge/objc/objc_utility.mm: (JSC::Bindings::convertValueToObjcValue): Source/WebKit/mac: * WebView/WebScriptDebugger.mm: (WebScriptDebugger::sourceParsed): Source/WTF: * wtf/Platform.h: * wtf/StackBounds.h: (WTF::StackBounds::StackBounds): Canonical link: https://commits.webkit.org/142859@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@159605 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2013-11-21 05:29:42 +00:00
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
void checkConsistency() const
{
PerformanceTests: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * JetStream2/wasm/HashSet.cpp: * StitchMarker/wtf/Assertions.h: * StitchMarker/wtf/DateMath.cpp: (WTF::initializeDates): * StitchMarker/wtf/HashTable.h: * StitchMarker/wtf/Hasher.h: (WTF::StringHasher::addCharacters): * StitchMarker/wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * StitchMarker/wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * StitchMarker/wtf/ValueCheck.h: * StitchMarker/wtf/Vector.h: (WTF::minCapacity>::checkConsistency): * StitchMarker/wtf/text/AtomicStringImpl.cpp: * StitchMarker/wtf/text/AtomicStringImpl.h: * StitchMarker/wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * StitchMarker/wtf/text/StringImpl.h: * StitchMarker/wtf/text/SymbolImpl.h: * StitchMarker/wtf/text/UniquedStringImpl.h: Source/JavaScriptCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * API/tests/testapi.c: * assembler/ARM64Assembler.h: (JSC::ARM64Assembler::replaceWithLoad): (JSC::ARM64Assembler::replaceWithAddressComputation): * assembler/AssemblerBuffer.h: (JSC::AssemblerBuffer::LocalWriter::LocalWriter): * assembler/LinkBuffer.cpp: (JSC::LinkBuffer::copyCompactAndLinkCode): * assembler/ProbeStack.cpp: (JSC::Probe::Stack::Stack): * assembler/ProbeStack.h: * b3/B3FoldPathConstants.cpp: * b3/B3LowerToAir.cpp: * b3/B3MemoryValue.cpp: (JSC::B3::MemoryValue::MemoryValue): * b3/B3Opcode.cpp: * b3/B3Type.h: * b3/B3TypeMap.h: * b3/B3Width.h: * b3/air/AirAllocateRegistersAndStackAndGenerateCode.cpp: (JSC::B3::Air::GenerateAndAllocateRegisters::prepareForGeneration): (JSC::B3::Air::GenerateAndAllocateRegisters::generate): * b3/air/AirAllocateRegistersAndStackAndGenerateCode.h: * b3/air/AirAllocateRegistersByGraphColoring.cpp: * b3/air/AirArg.cpp: * b3/air/AirArg.h: * b3/air/AirCode.h: * b3/air/AirEmitShuffle.cpp: (JSC::B3::Air::emitShuffle): * builtins/BuiltinExecutables.cpp: (JSC::BuiltinExecutables::createExecutable): * bytecode/AccessCase.cpp: * bytecode/AccessCase.h: * bytecode/CallVariant.cpp: (JSC::variantListWithVariant): * bytecode/CodeBlock.cpp: (JSC::CodeBlock::ensureCatchLivenessIsComputedForBytecodeIndex): * bytecode/CodeBlockHash.cpp: (JSC::CodeBlockHash::dump const): * bytecode/StructureStubInfo.cpp: * bytecode/StructureStubInfo.h: * bytecompiler/NodesCodegen.cpp: (JSC::FunctionCallResolveNode::emitBytecode): * bytecompiler/RegisterID.h: (JSC::RegisterID::RegisterID): (JSC::RegisterID::setIndex): * debugger/Debugger.cpp: (JSC::Debugger::removeBreakpoint): * debugger/DebuggerEvalEnabler.h: (JSC::DebuggerEvalEnabler::DebuggerEvalEnabler): (JSC::DebuggerEvalEnabler::~DebuggerEvalEnabler): * dfg/DFGAbstractInterpreterInlines.h: (JSC::DFG::AbstractInterpreter<AbstractStateType>::observeTransitions): * dfg/DFGAbstractValue.cpp: * dfg/DFGAbstractValue.h: (JSC::DFG::AbstractValue::merge): (JSC::DFG::AbstractValue::checkConsistency const): (JSC::DFG::AbstractValue::assertIsRegistered const): * dfg/DFGArithMode.h: (JSC::DFG::doesOverflow): * dfg/DFGBasicBlock.cpp: (JSC::DFG::BasicBlock::BasicBlock): * dfg/DFGBasicBlock.h: (JSC::DFG::BasicBlock::didLink): * dfg/DFGCFAPhase.cpp: (JSC::DFG::CFAPhase::performBlockCFA): * dfg/DFGCommon.h: (JSC::DFG::validationEnabled): * dfg/DFGCommonData.cpp: (JSC::DFG::CommonData::finalizeCatchEntrypoints): * dfg/DFGDesiredWatchpoints.h: * dfg/DFGDoesGC.cpp: (JSC::DFG::doesGC): * dfg/DFGEdge.h: (JSC::DFG::Edge::makeWord): * dfg/DFGFixupPhase.cpp: (JSC::DFG::FixupPhase::fixupNode): * dfg/DFGJITCode.cpp: (JSC::DFG::JITCode::finalizeOSREntrypoints): * dfg/DFGObjectAllocationSinkingPhase.cpp: * dfg/DFGSSAConversionPhase.cpp: (JSC::DFG::SSAConversionPhase::run): * dfg/DFGScoreBoard.h: (JSC::DFG::ScoreBoard::assertClear): * dfg/DFGSlowPathGenerator.h: (JSC::DFG::SlowPathGenerator::generate): * dfg/DFGSpeculativeJIT.cpp: (JSC::DFG::SpeculativeJIT::compileCurrentBlock): (JSC::DFG::SpeculativeJIT::emitBinarySwitchStringRecurse): (JSC::DFG::SpeculativeJIT::emitAllocateButterfly): (JSC::DFG::SpeculativeJIT::compileAllocateNewArrayWithSize): (JSC::DFG::SpeculativeJIT::compileMakeRope): * dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::fillSpeculateCell): * dfg/DFGStructureAbstractValue.cpp: * dfg/DFGStructureAbstractValue.h: (JSC::DFG::StructureAbstractValue::assertIsRegistered const): * dfg/DFGVarargsForwardingPhase.cpp: * dfg/DFGVirtualRegisterAllocationPhase.cpp: (JSC::DFG::VirtualRegisterAllocationPhase::run): * ftl/FTLLink.cpp: (JSC::FTL::link): * ftl/FTLLowerDFGToB3.cpp: (JSC::FTL::DFG::LowerDFGToB3::callPreflight): (JSC::FTL::DFG::LowerDFGToB3::callCheck): (JSC::FTL::DFG::LowerDFGToB3::crash): * ftl/FTLOperations.cpp: (JSC::FTL::operationMaterializeObjectInOSR): * heap/BlockDirectory.cpp: (JSC::BlockDirectory::assertNoUnswept): * heap/GCSegmentedArray.h: (JSC::GCArraySegment::GCArraySegment): * heap/GCSegmentedArrayInlines.h: (JSC::GCSegmentedArray<T>::clear): (JSC::GCSegmentedArray<T>::expand): (JSC::GCSegmentedArray<T>::validatePrevious): * heap/HandleSet.cpp: * heap/HandleSet.h: * heap/Heap.cpp: (JSC::Heap::updateAllocationLimits): * heap/Heap.h: * heap/MarkedBlock.cpp: * heap/MarkedBlock.h: (JSC::MarkedBlock::assertValidCell const): (JSC::MarkedBlock::assertMarksNotStale): * heap/MarkedSpace.cpp: (JSC::MarkedSpace::beginMarking): (JSC::MarkedSpace::endMarking): (JSC::MarkedSpace::assertNoUnswept): * heap/PreciseAllocation.cpp: * heap/PreciseAllocation.h: (JSC::PreciseAllocation::assertValidCell const): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::SlotVisitor): (JSC::SlotVisitor::appendJSCellOrAuxiliary): * heap/SlotVisitor.h: * inspector/InspectorProtocolTypes.h: (Inspector::Protocol::BindingTraits<JSON::ArrayOf<T>>::assertValueHasExpectedType): * inspector/scripts/codegen/generate_cpp_protocol_types_implementation.py: (CppProtocolTypesImplementationGenerator._generate_assertion_for_object_declaration): (CppProtocolTypesImplementationGenerator): (CppProtocolTypesImplementationGenerator._generate_assertion_for_enum): * inspector/scripts/tests/generic/expected/type-requiring-runtime-casts.json-result: * interpreter/FrameTracers.h: (JSC::JITOperationPrologueCallFrameTracer::JITOperationPrologueCallFrameTracer): * interpreter/Interpreter.cpp: (JSC::Interpreter::Interpreter): * interpreter/Interpreter.h: * jit/AssemblyHelpers.cpp: (JSC::AssemblyHelpers::emitStoreStructureWithTypeInfo): * jit/AssemblyHelpers.h: (JSC::AssemblyHelpers::prepareCallOperation): * jit/BinarySwitch.cpp: (JSC::BinarySwitch::BinarySwitch): * jit/CCallHelpers.h: (JSC::CCallHelpers::setupStubArgs): * jit/CallFrameShuffler.cpp: (JSC::CallFrameShuffler::emitDeltaCheck): (JSC::CallFrameShuffler::prepareAny): * jit/JIT.cpp: (JSC::JIT::assertStackPointerOffset): (JSC::JIT::compileWithoutLinking): * jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_hint): * jit/JITPropertyAccess.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/JITPropertyAccess32_64.cpp: (JSC::JIT::emit_op_get_from_scope): * jit/Repatch.cpp: (JSC::linkPolymorphicCall): * jit/ThunkGenerators.cpp: (JSC::emitPointerValidation): * llint/LLIntData.cpp: (JSC::LLInt::Data::performAssertions): * llint/LLIntOfflineAsmConfig.h: * parser/Lexer.cpp: * parser/Lexer.h: (JSC::isSafeBuiltinIdentifier): (JSC::Lexer<T>::lexExpectIdentifier): * runtime/ArgList.h: (JSC::MarkedArgumentBuffer::setNeedsOverflowCheck): (JSC::MarkedArgumentBuffer::clearNeedsOverflowCheck): * runtime/Butterfly.h: (JSC::ContiguousData::ContiguousData): (JSC::ContiguousData::Data::Data): * runtime/HashMapImpl.h: (JSC::HashMapImpl::checkConsistency const): (JSC::HashMapImpl::assertBufferIsEmpty const): * runtime/JSCellInlines.h: (JSC::JSCell::methodTable const): * runtime/JSFunction.cpp: * runtime/JSFunction.h: (JSC::JSFunction::assertTypeInfoFlagInvariants): * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::init): * runtime/JSGlobalObject.h: * runtime/JSObject.cpp: (JSC::JSObject::visitChildren): (JSC::JSFinalObject::visitChildren): * runtime/JSObjectInlines.h: (JSC::JSObject::validatePutOwnDataProperty): * runtime/JSSegmentedVariableObject.h: (JSC::JSSegmentedVariableObject::assertVariableIsInThisObject): * runtime/LiteralParser.cpp: (JSC::LiteralParser<CharType>::Lexer::lex): * runtime/LiteralParser.h: * runtime/Operations.h: (JSC::scribbleFreeCells): * runtime/OptionsList.h: * runtime/VM.cpp: (JSC::VM::computeCanUseJIT): * runtime/VM.h: (JSC::VM::canUseJIT): * runtime/VarOffset.h: (JSC::VarOffset::checkSanity const): * runtime/WeakMapImpl.h: (JSC::WeakMapImpl::checkConsistency const): (JSC::WeakMapImpl::assertBufferIsEmpty const): * wasm/WasmAirIRGenerator.cpp: (JSC::Wasm::AirIRGenerator::validateInst): * wasm/WasmB3IRGenerator.cpp: (JSC::Wasm::parseAndCompile): * wasm/WasmFunctionParser.h: (JSC::Wasm::FunctionParser::validationFail const): * wasm/WasmLLIntGenerator.cpp: (JSC::Wasm::LLIntGenerator::checkConsistency): * wasm/WasmPlan.cpp: (JSC::Wasm::Plan::tryRemoveContextAndCancelIfLast): * wasm/WasmSectionParser.h: * wasm/WasmSections.h: * wasm/WasmSignatureInlines.h: (JSC::Wasm::SignatureInformation::get): * wasm/WasmWorklist.cpp: (JSC::Wasm::Worklist::enqueue): * wasm/js/JSToWasm.cpp: (JSC::Wasm::createJSToWasmWrapper): * wasm/js/WebAssemblyFunction.cpp: (JSC::WebAssemblyFunction::previousInstanceOffset const): Source/WebCore: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Modules/fetch/FetchBodySource.cpp: (WebCore::FetchBodySource::close): * Modules/fetch/FetchBodySource.h: * Modules/webdatabase/DatabaseDetails.h: (WebCore::DatabaseDetails::DatabaseDetails): (WebCore::DatabaseDetails::operator=): * Modules/webdatabase/DatabaseTask.cpp: (WebCore::DatabaseTask::performTask): * Modules/webdatabase/DatabaseTask.h: * Modules/webdatabase/DatabaseThread.cpp: (WebCore::DatabaseThread::terminationRequested const): * Modules/webgpu/WHLSL/AST/WHLSLAddressSpace.h: (WebCore::WHLSL::AST::TypeAnnotation::TypeAnnotation): * Modules/webgpu/WHLSL/WHLSLHighZombieFinder.cpp: (WebCore::WHLSL::findHighZombies): * Modules/webgpu/WHLSL/WHLSLInferTypes.cpp: (WebCore::WHLSL::matches): * Modules/webgpu/WHLSL/WHLSLLiteralTypeChecker.cpp: (WebCore::WHLSL::checkLiteralTypes): * Modules/webgpu/WHLSL/WHLSLSynthesizeConstructors.cpp: (WebCore::WHLSL::FindAllTypes::appendNamedType): * bindings/js/JSCallbackData.h: * bindings/js/JSLazyEventListener.cpp: * bindings/js/JSLazyEventListener.h: * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * css/CSSCalculationValue.cpp: (WebCore::CSSCalcOperationNode::primitiveType const): * css/CSSComputedStyleDeclaration.cpp: (WebCore::ComputedStyleExtractor::valueForPropertyInStyle): * css/CSSPrimitiveValue.cpp: * css/CSSSelector.cpp: (WebCore::CSSSelector::selectorText const): * css/CSSStyleSheet.cpp: * dom/ActiveDOMObject.cpp: (WebCore::ActiveDOMObject::suspendIfNeeded): (WebCore::ActiveDOMObject::assertSuspendIfNeededWasCalled const): * dom/ActiveDOMObject.h: * dom/ContainerNode.cpp: * dom/ContainerNodeAlgorithms.cpp: * dom/ContainerNodeAlgorithms.h: * dom/CustomElementReactionQueue.cpp: * dom/CustomElementReactionQueue.h: (WebCore::CustomElementReactionDisallowedScope::CustomElementReactionDisallowedScope): (WebCore::CustomElementReactionDisallowedScope::~CustomElementReactionDisallowedScope): * dom/Document.cpp: (WebCore::Document::hitTest): * dom/Document.h: (WebCore::Document::decrementReferencingNodeCount): * dom/Element.cpp: (WebCore::Element::addShadowRoot): (WebCore::Element::getURLAttribute const): (WebCore::Element::getNonEmptyURLAttribute const): * dom/Element.h: * dom/ElementAndTextDescendantIterator.h: (WebCore::ElementAndTextDescendantIterator::ElementAndTextDescendantIterator): (WebCore::ElementAndTextDescendantIterator::dropAssertions): (WebCore::ElementAndTextDescendantIterator::popAncestorSiblingStack): (WebCore::ElementAndTextDescendantIterator::traverseNextSibling): (WebCore::ElementAndTextDescendantIterator::traversePreviousSibling): * dom/ElementDescendantIterator.h: (WebCore::ElementDescendantIterator::ElementDescendantIterator): (WebCore::ElementDescendantIterator::dropAssertions): (WebCore::ElementDescendantIterator::operator++): (WebCore::ElementDescendantIterator::operator--): (WebCore::ElementDescendantConstIterator::ElementDescendantConstIterator): (WebCore::ElementDescendantConstIterator::dropAssertions): (WebCore::ElementDescendantConstIterator::operator++): * dom/ElementIterator.h: (WebCore::ElementIterator<ElementType>::ElementIterator): (WebCore::ElementIterator<ElementType>::traverseNext): (WebCore::ElementIterator<ElementType>::traversePrevious): (WebCore::ElementIterator<ElementType>::traverseNextSibling): (WebCore::ElementIterator<ElementType>::traversePreviousSibling): (WebCore::ElementIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementIterator<ElementType>::dropAssertions): (WebCore::ElementIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::ElementConstIterator): (WebCore::ElementConstIterator<ElementType>::traverseNext): (WebCore::ElementConstIterator<ElementType>::traversePrevious): (WebCore::ElementConstIterator<ElementType>::traverseNextSibling): (WebCore::ElementConstIterator<ElementType>::traversePreviousSibling): (WebCore::ElementConstIterator<ElementType>::traverseNextSkippingChildren): (WebCore::ElementConstIterator<ElementType>::traverseAncestor): (WebCore::ElementConstIterator<ElementType>::dropAssertions): * dom/EventContext.cpp: * dom/EventContext.h: * dom/EventListener.h: * dom/EventPath.cpp: * dom/EventSender.h: * dom/EventTarget.cpp: (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::setAttributeEventListener): (WebCore::EventTarget::innerInvokeEventListeners): * dom/Node.cpp: (WebCore::Node::~Node): (WebCore::Node::moveNodeToNewDocument): (WebCore::Node::removedLastRef): * dom/Node.h: (WebCore::Node::deref const): * dom/ScriptDisallowedScope.h: (WebCore::ScriptDisallowedScope::InMainThread::isEventDispatchAllowedInSubtree): * dom/ScriptExecutionContext.cpp: (WebCore::ScriptExecutionContext::~ScriptExecutionContext): * dom/ScriptExecutionContext.h: * dom/SelectorQuery.cpp: (WebCore::SelectorDataList::execute const): * dom/SlotAssignment.cpp: (WebCore::SlotAssignment::addSlotElementByName): (WebCore::SlotAssignment::removeSlotElementByName): (WebCore::SlotAssignment::resolveSlotsAfterSlotMutation): (WebCore::SlotAssignment::findFirstSlotElement): * dom/SlotAssignment.h: * dom/TreeScopeOrderedMap.cpp: (WebCore::TreeScopeOrderedMap::add): (WebCore::TreeScopeOrderedMap::get const): * dom/TreeScopeOrderedMap.h: * fileapi/Blob.cpp: * fileapi/Blob.h: * history/BackForwardCache.cpp: (WebCore::BackForwardCache::removeAllItemsForPage): * history/BackForwardCache.h: * html/CanvasBase.cpp: (WebCore::CanvasBase::notifyObserversCanvasDestroyed): * html/CanvasBase.h: * html/HTMLCollection.h: (WebCore::CollectionNamedElementCache::didPopulate): * html/HTMLSelectElement.cpp: (WebCore:: const): * html/HTMLTableRowsCollection.cpp: (WebCore::assertRowIsInTable): * html/HTMLTextFormControlElement.cpp: (WebCore::HTMLTextFormControlElement::indexForPosition const): * html/canvas/CanvasRenderingContext2DBase.cpp: (WebCore::CanvasRenderingContext2DBase::~CanvasRenderingContext2DBase): * html/parser/HTMLParserScheduler.cpp: (WebCore::HTMLParserScheduler::HTMLParserScheduler): (WebCore::HTMLParserScheduler::suspend): (WebCore::HTMLParserScheduler::resume): * html/parser/HTMLParserScheduler.h: * html/parser/HTMLToken.h: (WebCore::HTMLToken::beginStartTag): (WebCore::HTMLToken::beginEndTag): (WebCore::HTMLToken::endAttribute): * html/parser/HTMLTreeBuilder.cpp: (WebCore::HTMLTreeBuilder::HTMLTreeBuilder): (WebCore::HTMLTreeBuilder::constructTree): * html/parser/HTMLTreeBuilder.h: (WebCore::HTMLTreeBuilder::~HTMLTreeBuilder): * layout/FormattingContext.cpp: (WebCore::Layout::FormattingContext::geometryForBox const): * layout/blockformatting/BlockFormattingContext.cpp: (WebCore::Layout::BlockFormattingContext::computeEstimatedVerticalPosition): * layout/blockformatting/BlockFormattingContext.h: * layout/displaytree/DisplayBox.cpp: (WebCore::Display::Box::Box): * layout/displaytree/DisplayBox.h: (WebCore::Display::Box::setTopLeft): (WebCore::Display::Box::setTop): (WebCore::Display::Box::setLeft): (WebCore::Display::Box::setContentBoxHeight): (WebCore::Display::Box::setContentBoxWidth): (WebCore::Display::Box::setHorizontalMargin): (WebCore::Display::Box::setVerticalMargin): (WebCore::Display::Box::setHorizontalComputedMargin): (WebCore::Display::Box::setBorder): (WebCore::Display::Box::setPadding): * layout/displaytree/DisplayInlineRect.h: (WebCore::Display::InlineRect::InlineRect): (WebCore::Display::InlineRect::setTopLeft): (WebCore::Display::InlineRect::setTop): (WebCore::Display::InlineRect::setBottom): (WebCore::Display::InlineRect::setLeft): (WebCore::Display::InlineRect::setWidth): (WebCore::Display::InlineRect::setHeight): * layout/displaytree/DisplayLineBox.h: (WebCore::Display::LineBox::LineBox): (WebCore::Display::LineBox::setBaselineOffsetIfGreater): (WebCore::Display::LineBox::resetBaseline): (WebCore::Display::LineBox::Baseline::Baseline): (WebCore::Display::LineBox::Baseline::setAscent): (WebCore::Display::LineBox::Baseline::setDescent): (WebCore::Display::LineBox::Baseline::reset): * layout/displaytree/DisplayRect.h: (WebCore::Display::Rect::Rect): (WebCore::Display::Rect::setTopLeft): (WebCore::Display::Rect::setTop): (WebCore::Display::Rect::setLeft): (WebCore::Display::Rect::setWidth): (WebCore::Display::Rect::setHeight): (WebCore::Display::Rect::setSize): (WebCore::Display::Rect::clone const): * layout/floats/FloatingContext.cpp: * layout/inlineformatting/InlineLineBuilder.cpp: (WebCore::Layout::LineBuilder::CollapsibleContent::collapse): * layout/tableformatting/TableGrid.cpp: (WebCore::Layout::TableGrid::Column::setWidthConstraints): (WebCore::Layout::TableGrid::Column::setLogicalWidth): (WebCore::Layout::TableGrid::Column::setLogicalLeft): * layout/tableformatting/TableGrid.h: * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::continueAfterContentPolicy): (WebCore::DocumentLoader::attachToFrame): (WebCore::DocumentLoader::detachFromFrame): (WebCore::DocumentLoader::addSubresourceLoader): * loader/DocumentLoader.h: * loader/ImageLoader.cpp: * loader/cache/CachedResource.h: * loader/cache/MemoryCache.cpp: (WebCore::MemoryCache::lruListFor): (WebCore::MemoryCache::removeFromLRUList): * page/FrameView.cpp: (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive): * page/FrameViewLayoutContext.cpp: * page/FrameViewLayoutContext.h: * page/Page.cpp: * page/Page.h: * page/ViewportConfiguration.cpp: * page/ViewportConfiguration.h: * page/mac/EventHandlerMac.mm: (WebCore::CurrentEventScope::CurrentEventScope): * platform/DateComponents.cpp: (WebCore::DateComponents::toStringForTime const): * platform/ScrollableArea.cpp: * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::combineIntoOneSegment const): * platform/SharedBuffer.h: * platform/Supplementable.h: * platform/Timer.cpp: (WebCore::TimerBase::checkHeapIndex const): (WebCore::TimerBase::updateHeapIfNeeded): * platform/graphics/BitmapImage.cpp: * platform/graphics/BitmapImage.h: * platform/graphics/Image.h: * platform/graphics/ShadowBlur.cpp: (WebCore::ScratchBuffer::ScratchBuffer): (WebCore::ScratchBuffer::getScratchBuffer): (WebCore::ScratchBuffer::scheduleScratchBufferPurge): * platform/graphics/ca/win/CACFLayerTreeHost.cpp: (WebCore::CACFLayerTreeHost::setWindow): * platform/graphics/ca/win/CACFLayerTreeHost.h: * platform/graphics/cg/ImageBufferDataCG.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/cocoa/FontCacheCoreText.cpp: * platform/graphics/gstreamer/GstAllocatorFastMalloc.cpp: (gstAllocatorFastMallocFree): * platform/graphics/nicosia/cairo/NicosiaPaintingContextCairo.cpp: (Nicosia::PaintingContextCairo::ForPainting::ForPainting): * platform/graphics/nicosia/texmap/NicosiaBackingStoreTextureMapperImpl.cpp: (Nicosia::BackingStoreTextureMapperImpl::createTile): * platform/graphics/nicosia/texmap/NicosiaContentLayerTextureMapperImpl.cpp: (Nicosia::ContentLayerTextureMapperImpl::~ContentLayerTextureMapperImpl): * platform/graphics/win/GradientDirect2D.cpp: (WebCore::Gradient::fill): * platform/graphics/win/ImageBufferDataDirect2D.cpp: (WebCore::ImageBufferData::putData): * platform/graphics/win/PathDirect2D.cpp: (WebCore::Path::appendGeometry): (WebCore::Path::Path): (WebCore::Path::operator=): (WebCore::Path::strokeContains const): (WebCore::Path::transform): * platform/graphics/win/PlatformContextDirect2D.cpp: (WebCore::PlatformContextDirect2D::setTags): * platform/mediastream/MediaStreamTrackPrivate.h: * platform/mediastream/RealtimeOutgoingAudioSource.cpp: (WebCore::RealtimeOutgoingAudioSource::~RealtimeOutgoingAudioSource): * platform/mediastream/RealtimeOutgoingVideoSource.cpp: (WebCore::RealtimeOutgoingVideoSource::~RealtimeOutgoingVideoSource): * platform/network/HTTPParsers.cpp: (WebCore::isCrossOriginSafeHeader): * platform/sql/SQLiteDatabase.cpp: * platform/sql/SQLiteDatabase.h: * platform/sql/SQLiteStatement.cpp: (WebCore::SQLiteStatement::SQLiteStatement): (WebCore::SQLiteStatement::prepare): (WebCore::SQLiteStatement::finalize): * platform/sql/SQLiteStatement.h: * platform/win/COMPtr.h: * rendering/ComplexLineLayout.cpp: (WebCore::ComplexLineLayout::removeInlineBox const): * rendering/FloatingObjects.cpp: (WebCore::FloatingObject::FloatingObject): (WebCore::FloatingObjects::addPlacedObject): (WebCore::FloatingObjects::removePlacedObject): * rendering/FloatingObjects.h: * rendering/GridTrackSizingAlgorithm.cpp: * rendering/GridTrackSizingAlgorithm.h: * rendering/LayoutDisallowedScope.cpp: * rendering/LayoutDisallowedScope.h: * rendering/RenderBlock.cpp: * rendering/RenderBlock.h: * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::layoutBlockChild): (WebCore::RenderBlockFlow::removeFloatingObject): (WebCore::RenderBlockFlow::ensureLineBoxes): * rendering/RenderBoxModelObject.cpp: * rendering/RenderDeprecatedFlexibleBox.cpp: (WebCore::RenderDeprecatedFlexibleBox::layoutBlock): * rendering/RenderElement.cpp: * rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::mapToContainer const): * rendering/RenderGrid.cpp: (WebCore::RenderGrid::placeItemsOnGrid const): (WebCore::RenderGrid::baselinePosition const): * rendering/RenderInline.cpp: (WebCore::RenderInline::willBeDestroyed): * rendering/RenderLayer.cpp: (WebCore::ClipRectsCache::ClipRectsCache): (WebCore::RenderLayer::RenderLayer): (WebCore::RenderLayer::paintList): (WebCore::RenderLayer::hitTestLayer): (WebCore::RenderLayer::updateClipRects): (WebCore::RenderLayer::calculateClipRects const): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::traverseVisibleNonCompositedDescendantLayers): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::computeCompositingRequirements): (WebCore::RenderLayerCompositor::traverseUnchangedSubtree): (WebCore::RenderLayerCompositor::updateBackingAndHierarchy): (WebCore::RenderLayerCompositor::addDescendantsToOverlapMapRecursive const): (WebCore::RenderLayerCompositor::recursiveRepaintLayer): (WebCore::RenderLayerCompositor::layerHas3DContent const): * rendering/RenderLayoutState.cpp: (WebCore::RenderLayoutState::RenderLayoutState): (WebCore::RenderLayoutState::computeOffsets): (WebCore::RenderLayoutState::addLayoutDelta): * rendering/RenderLayoutState.h: (WebCore::RenderLayoutState::RenderLayoutState): * rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject): (WebCore::RenderObject::clearNeedsLayout): * rendering/RenderObject.h: * rendering/RenderQuote.cpp: (WebCore::quotesForLanguage): * rendering/RenderTableCell.h: * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::computeOverflowFromCells): * rendering/RenderTextLineBoxes.cpp: (WebCore::RenderTextLineBoxes::checkConsistency const): * rendering/RenderTextLineBoxes.h: * rendering/line/BreakingContext.h: (WebCore::tryHyphenating): * rendering/style/GridArea.h: (WebCore::GridSpan::GridSpan): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::~RenderStyle): * rendering/style/RenderStyle.h: * rendering/updating/RenderTreeBuilderRuby.cpp: (WebCore::RenderTreeBuilder::Ruby::detach): * rendering/updating/RenderTreePosition.cpp: (WebCore::RenderTreePosition::computeNextSibling): * rendering/updating/RenderTreePosition.h: * svg/SVGToOTFFontConversion.cpp: (WebCore::SVGToOTFFontConverter::Placeholder::Placeholder): (WebCore::SVGToOTFFontConverter::Placeholder::populate): (WebCore::SVGToOTFFontConverter::appendCFFTable): (WebCore::SVGToOTFFontConverter::firstGlyph const): (WebCore::SVGToOTFFontConverter::appendKERNTable): * svg/SVGTransformDistance.cpp: (WebCore::SVGTransformDistance::SVGTransformDistance): (WebCore::SVGTransformDistance::scaledDistance const): (WebCore::SVGTransformDistance::addSVGTransforms): (WebCore::SVGTransformDistance::addToSVGTransform const): (WebCore::SVGTransformDistance::distance const): * svg/graphics/SVGImage.cpp: (WebCore::SVGImage::nativeImage): * testing/InternalSettings.cpp: * workers/service/ServiceWorkerJob.h: * worklets/PaintWorkletGlobalScope.h: (WebCore::PaintWorkletGlobalScope::~PaintWorkletGlobalScope): * xml/XPathStep.cpp: Source/WebKit: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * NetworkProcess/NetworkSession.cpp: (WebKit::NetworkSession::invalidateAndCancel): * NetworkProcess/NetworkSession.h: * NetworkProcess/cache/NetworkCacheStorage.cpp: (WebKit::NetworkCache::Storage::setCapacity): * NetworkProcess/cocoa/NetworkSessionCocoa.mm: (toNSURLSessionResponseDisposition): (WebKit::NetworkSessionCocoa::NetworkSessionCocoa): * Platform/IPC/Connection.cpp: (IPC::Connection::waitForMessage): * Platform/IPC/MessageReceiver.h: (IPC::MessageReceiver::willBeAddedToMessageReceiverMap): (IPC::MessageReceiver::willBeRemovedFromMessageReceiverMap): * Platform/IPC/cocoa/ConnectionCocoa.mm: (IPC::readFromMachPort): * Platform/mac/MachUtilities.cpp: (setMachExceptionPort): * Shared/API/APIClient.h: (API::Client::Client): * Shared/API/Cocoa/WKRemoteObjectCoder.mm: * Shared/Cocoa/ArgumentCodersCocoa.h: * Shared/SharedStringHashTableReadOnly.cpp: * UIProcess/BackingStore.cpp: (WebKit::BackingStore::incorporateUpdate): * UIProcess/GenericCallback.h: * UIProcess/Launcher/mac/ProcessLauncherMac.mm: (WebKit::ProcessLauncher::launchProcess): * UIProcess/PageLoadState.h: (WebKit::PageLoadState::Transaction::Token::Token): * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::~WebPageProxy): * WebProcess/Network/WebResourceLoader.cpp: (WebKit::WebResourceLoader::didReceiveResponse): * WebProcess/Network/WebResourceLoader.h: * WebProcess/Plugins/Netscape/NetscapePluginStream.cpp: (WebKit::NetscapePluginStream::NetscapePluginStream): (WebKit::NetscapePluginStream::notifyAndDestroyStream): * WebProcess/Plugins/Netscape/NetscapePluginStream.h: * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::runModal): * WebProcess/WebProcess.cpp: (WebKit::checkDocumentsCaptureStateConsistency): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::updateProcessName): Source/WebKitLegacy: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * Storage/StorageAreaImpl.cpp: (WebKit::StorageAreaImpl::StorageAreaImpl): (WebKit::StorageAreaImpl::close): * Storage/StorageAreaImpl.h: Source/WebKitLegacy/mac: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * History/WebHistory.mm: (-[WebHistoryPrivate removeItemForURLString:]): * WebView/WebFrame.mm: Source/WebKitLegacy/win: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. * WebKitQuartzCoreAdditions/CAD3DRenderer.cpp: (WKQCA::CAD3DRenderer::swapChain): (WKQCA::CAD3DRenderer::initialize): * WebKitQuartzCoreAdditions/CAD3DRenderer.h: * WebView.cpp: (WebView::Release): * WebView.h: Source/WTF: Convert ASSERT_DISABLED to ASSERT_ENABLED, and fix some tests of NDEBUG that should actually test for ASSERT_ENABLED. https://bugs.webkit.org/show_bug.cgi?id=205776 Reviewed by Saam Barati. This patch did the following changes: 1. Replaced ASSERT_DISABLED with ASSERT_ENABLED. This change does away with the need for the double negative !ASSERT_DISABLED test that is commonly used all over the code, thereby improving code readability. In Assertions.h, there is also BACKTRACE_DISABLED, ASSERT_MSG_DISABLED, ASSERT_ARG_DISABLED, FATAL_DISABLED, ERROR_DISABLED, LOG_DISABLED, and RELEASE_LOG_DISABLED. We should replace those with ..._ENABLED equivalents as well. We'll do that in another patch. For now, they are left as is to minimize the size of this patch. See https://bugs.webkit.org/show_bug.cgi?id=205780. 2. Fixed some code was guarded with "#ifndef NDEBUG" that should actually be guarded by "#if ASSERT_ENABLED" instead. 3. In cases where the change is minimal, we move some code around so that we can test for "#if ASSERT_ENABLED" instead of "#if !ASSERT_ENABLED". * wtf/Assertions.h: * wtf/AutomaticThread.cpp: (WTF::AutomaticThread::start): * wtf/BitVector.h: * wtf/BlockObjCExceptions.mm: (ReportBlockedObjCException): * wtf/BloomFilter.h: * wtf/CallbackAggregator.h: (WTF::CallbackAggregator::CallbackAggregator): * wtf/CheckedArithmetic.h: (WTF::observesOverflow<AssertNoOverflow>): * wtf/CheckedBoolean.h: (CheckedBoolean::CheckedBoolean): (CheckedBoolean::operator bool): * wtf/CompletionHandler.h: (WTF::CompletionHandler<Out): * wtf/DateMath.cpp: (WTF::initializeDates): * wtf/Gigacage.cpp: (Gigacage::tryAllocateZeroedVirtualPages): * wtf/HashTable.h: (WTF::KeyTraits>::checkKey): (WTF::KeyTraits>::checkTableConsistencyExceptSize const): * wtf/LoggerHelper.h: * wtf/NaturalLoops.h: (WTF::NaturalLoops::headerOf const): * wtf/NeverDestroyed.h: (WTF::LazyNeverDestroyed::construct): * wtf/OptionSet.h: (WTF::OptionSet::OptionSet): * wtf/Platform.h: * wtf/PtrTag.h: * wtf/RefCounted.h: (WTF::RefCountedBase::disableThreadingChecks): (WTF::RefCountedBase::enableThreadingChecksGlobally): (WTF::RefCountedBase::RefCountedBase): (WTF::RefCountedBase::applyRefDerefThreadingCheck const): * wtf/SingleRootGraph.h: (WTF::SingleRootGraph::assertIsConsistent const): * wtf/SizeLimits.cpp: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/URLParser.cpp: (WTF::URLParser::URLParser): (WTF::URLParser::domainToASCII): * wtf/ValueCheck.h: * wtf/Vector.h: (WTF::Malloc>::checkConsistency): * wtf/WeakHashSet.h: * wtf/WeakPtr.h: (WTF::WeakPtrImpl::WeakPtrImpl): (WTF::WeakPtrFactory::WeakPtrFactory): * wtf/text/AtomStringImpl.cpp: * wtf/text/AtomStringImpl.h: * wtf/text/StringBuilder.cpp: (WTF::StringBuilder::reifyString const): * wtf/text/StringBuilder.h: * wtf/text/StringCommon.h: (WTF::hasPrefixWithLettersIgnoringASCIICaseCommon): * wtf/text/StringHasher.h: (WTF::StringHasher::addCharacters): * wtf/text/StringImpl.h: * wtf/text/SymbolImpl.h: * wtf/text/UniquedStringImpl.h: Tools: Remove WebsiteDataStore::setServiceWorkerRegistrationDirectory https://bugs.webkit.org/show_bug.cgi?id=205754 Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-06 Reviewed by Youenn Fablet. * TestWebKitAPI/Tests/WebKitCocoa/ServiceWorkerBasic.mm: * WebKitTestRunner/TestController.cpp: (WTR::TestController::websiteDataStore): (WTR::TestController::platformAdjustContext): * WebKitTestRunner/cocoa/TestControllerCocoa.mm: (WTR::initializeWebViewConfiguration): Canonical link: https://commits.webkit.org/218957@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@254087 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2020-01-06 22:24:50 +00:00
#if ASSERT_ENABLED
Changes towards allowing use of the ASAN detect_stack_use_after_return option. https://bugs.webkit.org/show_bug.cgi?id=190405 <rdar://problem/45131464> Reviewed by Michael Saboff. Source/JavaScriptCore: The ASAN detect_stack_use_after_return option checks for use of stack variables after they have been freed. It does this by allocating relevant stack variables in heap memory (instead of on the stack) if the code ever takes the address of those stack variables. Unfortunately, this is a common idiom that we use to compute the approximate stack pointer value. As a result, on such ASAN runs, the computed approximate stack pointer value will point into the heap instead of the stack. This breaks the VM's expectations and wreaks havoc. To fix this, we use the newly introduced WTF::currentStackPointer() instead of taking the address of stack variables. We also need to enhance ExceptionScopes to be able to work with ASAN detect_stack_use_after_return which will allocated the scope in the heap. We work around this by passing the current stack pointer of the instantiating calling frame into the scope constructor, and using that for the position check in ~ThrowScope() instead. The above is only a start towards enabling ASAN detect_stack_use_after_return on the VM. There are still other issues to be resolved before we can run with this ASAN option. * runtime/CatchScope.h: * runtime/ExceptionEventLocation.h: (JSC::ExceptionEventLocation::ExceptionEventLocation): * runtime/ExceptionScope.h: (JSC::ExceptionScope::stackPosition const): * runtime/JSLock.cpp: (JSC::JSLock::didAcquireLock): * runtime/ThrowScope.cpp: (JSC::ThrowScope::~ThrowScope): * runtime/ThrowScope.h: * runtime/VM.h: (JSC::VM::needExceptionCheck const): (JSC::VM::isSafeToRecurse const): * wasm/js/WebAssemblyFunction.cpp: (JSC::callWebAssemblyFunction): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: Introduce WTF::currentStackPointer() which computes its caller's stack pointer value. * WTF.xcodeproj/project.pbxproj: * wtf/CMakeLists.txt: * wtf/StackBounds.h: (WTF::StackBounds::checkConsistency const): * wtf/StackPointer.cpp: Added. (WTF::currentStackPointer): * wtf/StackPointer.h: Added. Canonical link: https://commits.webkit.org/205416@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@237042 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2018-10-11 19:19:18 +00:00
void* currentPosition = currentStackPointer();
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
ASSERT(m_origin != m_bound);
Remove remnants of support code for an upwards growing stack. https://bugs.webkit.org/show_bug.cgi?id=203942 Reviewed by Yusuke Suzuki. Source/JavaScriptCore: * runtime/VM.cpp: (JSC::VM::updateStackLimits): (JSC::VM::committedStackByteCount): * runtime/VM.h: (JSC::VM::isSafeToRecurse const): * runtime/VMEntryScope.cpp: (JSC::VMEntryScope::VMEntryScope): * runtime/VMInlines.h: (JSC::VM::ensureStackCapacityFor): * yarr/YarrPattern.cpp: (JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const): Source/WTF: We haven't supported an upwards growing stack in years, and a lot of code has since been written specifically with only a downwards growing stack in mind (e.g. the LLInt, the JITs). Also, all our currently supported platforms use a downward growing stack. We should remove the remnants of support code for an upwards growing stack. The presence of that code is deceptive in that it conveys support for an upwards growing stack where this hasn't been the case in years. * wtf/StackBounds.cpp: (WTF::StackBounds::newThreadStackBounds): (WTF::StackBounds::currentThreadStackBoundsInternal): (WTF::StackBounds::stackDirection): Deleted. (WTF::testStackDirection2): Deleted. (WTF::testStackDirection): Deleted. * wtf/StackBounds.h: (WTF::StackBounds::size const): (WTF::StackBounds::contains const): (WTF::StackBounds::recursionLimit const): (WTF::StackBounds::StackBounds): (WTF::StackBounds::isGrowingDownwards const): (WTF::StackBounds::checkConsistency const): (WTF::StackBounds::isGrowingDownward const): Deleted. * wtf/StackStats.cpp: (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): Canonical link: https://commits.webkit.org/217281@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252177 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2019-11-07 07:27:52 +00:00
ASSERT(currentPosition < m_origin && currentPosition > m_bound);
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
#endif
}
void* m_origin;
void* m_bound;
Added WTF::StackStats mechanism. https://bugs.webkit.org/show_bug.cgi?id=99805. Reviewed by Geoffrey Garen. Source/JavaScriptCore: Added StackStats checkpoints and probes. * bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNode): (JSC::BytecodeGenerator::emitNodeInConditionContext): * heap/SlotVisitor.cpp: (JSC::SlotVisitor::append): (JSC::visitChildren): (JSC::SlotVisitor::donateKnownParallel): (JSC::SlotVisitor::drain): (JSC::SlotVisitor::drainFromShared): (JSC::SlotVisitor::mergeOpaqueRoots): (JSC::SlotVisitor::internalAppend): (JSC::SlotVisitor::harvestWeakReferences): (JSC::SlotVisitor::finalizeUnconditionalFinalizers): * interpreter/Interpreter.cpp: (JSC::Interpreter::execute): (JSC::Interpreter::executeCall): (JSC::Interpreter::executeConstruct): (JSC::Interpreter::prepareForRepeatCall): * parser/Parser.h: (JSC::Parser::canRecurse): * runtime/StringRecursionChecker.h: (StringRecursionChecker): Source/WebCore: Added StackStats probes in layout methods. * dom/Document.cpp: (WebCore::Document::updateLayout): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::layout): * rendering/RenderBox.cpp: (WebCore::RenderBox::layout): * rendering/RenderDialog.cpp: (WebCore::RenderDialog::layout): * rendering/RenderEmbeddedObject.cpp: (WebCore::RenderEmbeddedObject::layout): * rendering/RenderFlowThread.cpp: (WebCore::RenderFlowThread::layout): * rendering/RenderFrameSet.cpp: (WebCore::RenderFrameSet::layout): * rendering/RenderIFrame.cpp: (WebCore::RenderIFrame::layout): * rendering/RenderImage.cpp: (WebCore::RenderImage::layout): * rendering/RenderListBox.cpp: (WebCore::RenderListBox::layout): * rendering/RenderListItem.cpp: (WebCore::RenderListItem::layout): * rendering/RenderListMarker.cpp: (WebCore::RenderListMarker::layout): * rendering/RenderMedia.cpp: (WebCore::RenderMedia::layout): * rendering/RenderObject.cpp: (WebCore::RenderObject::layout): * rendering/RenderObject.h: * rendering/RenderRegion.cpp: (WebCore::RenderRegion::layout): * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::layout): * rendering/RenderReplica.cpp: (WebCore::RenderReplica::layout): * rendering/RenderRubyRun.cpp: (WebCore::RenderRubyRun::layoutSpecialExcludedChild): * rendering/RenderScrollbarPart.cpp: (WebCore::RenderScrollbarPart::layout): * rendering/RenderSlider.cpp: (WebCore::RenderSlider::layout): * rendering/RenderTable.cpp: (WebCore::RenderTable::layout): * rendering/RenderTableCell.cpp: (WebCore::RenderTableCell::layout): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::layout): * rendering/RenderTableSection.cpp: (WebCore::RenderTableSection::layout): * rendering/RenderTextControlSingleLine.cpp: (WebCore::RenderTextControlSingleLine::layout): * rendering/RenderTextTrackCue.cpp: (WebCore::RenderTextTrackCue::layout): * rendering/RenderVideo.cpp: (WebCore::RenderVideo::layout): * rendering/RenderView.cpp: (WebCore::RenderView::layout): * rendering/RenderWidget.cpp: (WebCore::RenderWidget::layout): * rendering/svg/RenderSVGContainer.cpp: (WebCore::RenderSVGContainer::layout): * rendering/svg/RenderSVGForeignObject.cpp: (WebCore::RenderSVGForeignObject::layout): * rendering/svg/RenderSVGGradientStop.cpp: (WebCore::RenderSVGGradientStop::layout): * rendering/svg/RenderSVGHiddenContainer.cpp: (WebCore::RenderSVGHiddenContainer::layout): * rendering/svg/RenderSVGImage.cpp: (WebCore::RenderSVGImage::layout): * rendering/svg/RenderSVGResourceContainer.cpp: (WebCore::RenderSVGResourceContainer::layout): * rendering/svg/RenderSVGResourceMarker.cpp: (WebCore::RenderSVGResourceMarker::layout): * rendering/svg/RenderSVGRoot.cpp: (WebCore::RenderSVGRoot::layout): * rendering/svg/RenderSVGShape.cpp: (WebCore::RenderSVGShape::layout): * rendering/svg/RenderSVGText.cpp: (WebCore::RenderSVGText::layout): Source/WTF: Disabled by default. Should have no performance and memory cost when disabled. To enable, #define ENABLE_STACK_STATS 1 in StackStats.h. The output is currently hardcoded to be dumped in /tmp/stack-stats.log, and is in the form of stack sample events. By default, it only logs a sample event when a new high watermark value is encountered. Also renamed StackBounds::recursiveCheck() to isSafeToRecurse(). * WTF.xcodeproj/project.pbxproj: * wtf/StackBounds.h: (StackBounds): (WTF::StackBounds::size): (WTF::StackBounds::isSafeToRecurse): * wtf/StackStats.cpp: Added. (WTF): (WTF::StackStats::initialize): (WTF::StackStats::PerThreadStats::PerThreadStats): (WTF::StackStats::CheckPoint::CheckPoint): (WTF::StackStats::CheckPoint::~CheckPoint): (WTF::StackStats::probe): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::~LayoutCheckPoint): * wtf/StackStats.h: Added. (WTF): (StackStats): (CheckPoint): (WTF::StackStats::CheckPoint::CheckPoint): (PerThreadStats): (WTF::StackStats::PerThreadStats::PerThreadStats): (LayoutCheckPoint): (WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint): (WTF::StackStats::initialize): (WTF::StackStats::probe): * wtf/ThreadingPthreads.cpp: (WTF::initializeThreading): * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTFThreadData): (WTF::WTFThreadData::stackStats): Canonical link: https://commits.webkit.org/117874@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@131938 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2012-10-19 20:09:36 +00:00
friend class StackStats;
Bug 26276 - Need a mechanism to determine stack extent Reviewed by Oliver Hunt. JavaScriptCore: This patch adds a class 'StackBounds', to hold information about the machine stack. The implementation of this class broadly adheres to the current implmentation of stack limit checking, and as such does not solve the problem of determining stack extent, but gives us a common place to do so. Currently two mechanism are provided to determine the stack origin (the point the stack is growing away from). currentThreadStackBase() in Collector provides a more accurate determination of the stack origin, so use this to calculate StackBounds::m_origin; WTFThreadData::approximatedStackStart is less accurate, and as such can be removed. Cache the StackBounds on WTFThreadData such that they need only be determined once per thread, and for non-API contexts cache this information in JSGlobalData, to save a thread-specific access. For the time being retain the estimate of stack size used by JSC's parser (128 * sizeof(void*) * 1024), with a view to replacing this with something more accurate in the near future. * parser/JSParser.cpp: (JSC::JSParser::canRecurse): (JSC::JSParser::JSParser): Change to use StackBounds. * runtime/Collector.cpp: (JSC::Heap::registerThread): (JSC::Heap::markCurrentThreadConservativelyInternal): Change to use StackBounds, cached on JSGlobalData. * runtime/JSGlobalData.cpp: (JSC::JSGlobalData::JSGlobalData): * runtime/JSGlobalData.h: (JSC::JSGlobalData::stack): Add a cached copy of StackBounds. * wtf/StackBounds.cpp: Copied from JavaScriptCore/runtime/Collector.cpp. (WTF::estimateStackBound): (WTF::StackBounds::initialize): (WTF::getStackMax): Copy code from Collector.cpp to determine stack origin. * wtf/StackBounds.h: Added. (WTF::StackBounds::StackBounds): No argument constructor; returns a null StackBounds. (WTF::StackBounds::currentThreadStackBounds): Returns a StackBounds object representing the stack limits of the current thread. (WTF::StackBounds::origin): Returns to stack origin (the point the stack is growing away from; the highest extent of the stack on machines where the stack grows downwards. (WTF::StackBounds::recursionLimit): Returns a limit value that is 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta; should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::recursionCheck): Checks whether we are currently 'a comfortable distance from the end of the stack'. Our concept of this is currently 1 page away from the end, however the default value may be tuned in the future, and clients may override passing a larger delta to apply when checking, if they wish to do so. This method should only be called on StackBounds object representing the stack of the thread this method is called on (checked by checkConsistency). (WTF::StackBounds::current): Approximate current stack position. On machines where the stack is growing downwards this is the lowest address that might need conservative collection. (WTF::StackBounds::isGrowingDownward): True for all platforms other than WINCE, which has to check. (WTF::StackBounds::checkConsistency): This is called in methods that shoulds only be operating on a valid set of bounds; as such we expect m_origin != m_bounds (i.e. stack size != zero) - we're really testing that this object is not null (the constructor initializes both fields to zero). Also checks that current() is within the stack's bounds. * wtf/WTFThreadData.cpp: (WTF::WTFThreadData::WTFThreadData): * wtf/WTFThreadData.h: (WTF::WTFThreadData::stack): Add the StackBounds member variable. JavaScriptGlue: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. WebCore: Add forwarding header for StackBounds.h. * ForwardingHeaders/wtf/StackBounds.h: Added. Canonical link: https://commits.webkit.org/64702@main git-svn-id: https://svn.webkit.org/repository/webkit/trunk@74360 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-12-20 21:16:14 +00:00
};
} // namespace WTF
using WTF::StackBounds;