Title: [187587] trunk/Source
Revision
187587
Author
cdu...@apple.com
Date
2015-07-30 09:25:36 -0700 (Thu, 30 Jul 2015)

Log Message

Mark more classes as fast allocated
https://bugs.webkit.org/show_bug.cgi?id=147440

Reviewed by Sam Weinig.

Mark more classes as fast allocated for performance. We heap-allocate
objects of those types throughout the code base.

Source/_javascript_Core:

* API/JSCallbackObject.h:
* API/ObjCCallbackFunction.mm:
* bytecode/BytecodeKills.h:
* bytecode/BytecodeLivenessAnalysis.h:
* bytecode/CallLinkStatus.h:
* bytecode/FullBytecodeLiveness.h:
* bytecode/SamplingTool.h:
* bytecompiler/BytecodeGenerator.h:
* dfg/DFGBasicBlock.h:
* dfg/DFGBlockMap.h:
* dfg/DFGInPlaceAbstractState.h:
* dfg/DFGThreadData.h:
* heap/HeapVerifier.h:
* heap/SlotVisitor.h:
* parser/Lexer.h:
* runtime/ControlFlowProfiler.h:
* runtime/TypeProfiler.h:
* runtime/TypeProfilerLog.h:
* runtime/Watchdog.h:

Source/WebCore:

* editing/Editor.h:
* history/CachedFrame.h:
* history/CachedPage.h:
* html/parser/HTMLResourcePreloader.h:
* loader/PolicyChecker.h:
* loader/SubresourceLoader.h:
* loader/cache/CachedResource.h:
* page/animation/AnimationController.h:
* page/scrolling/ScrollingConstraints.h:
* page/scrolling/ScrollingStateTree.h:
* platform/graphics/Font.h:
* platform/graphics/GraphicsLayerUpdater.h:
* rendering/FilterEffectRenderer.h:
* rendering/ImageQualityController.h:
* rendering/RenderLayerFilterInfo.h:
* rendering/SimpleLineLayoutResolver.h:
* rendering/shapes/RasterShape.h:
* rendering/shapes/Shape.h:

Source/WebKit2:

* NetworkProcess/cache/NetworkCacheStorage.cpp:
* NetworkProcess/cache/NetworkCacheStorage.h:
* Platform/IPC/MessageRecorder.h:
* Platform/mac/LayerHostingContext.h:

Source/WTF:

* wtf/Bag.h:
* wtf/SegmentedVector.h:
* wtf/SentinelLinkedList.h:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/API/JSCallbackObject.h (187586 => 187587)


--- trunk/Source/_javascript_Core/API/JSCallbackObject.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/API/JSCallbackObject.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -79,6 +79,8 @@
     void* privateData;
     JSClassRef jsClass;
     struct JSPrivatePropertyMap {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
         JSValue getPrivateProperty(const Identifier& propertyName) const
         {
             PrivatePropertyMap::const_iterator location = m_propertyMap.find(propertyName.impl());

Modified: trunk/Source/_javascript_Core/API/ObjCCallbackFunction.mm (187586 => 187587)


--- trunk/Source/_javascript_Core/API/ObjCCallbackFunction.mm	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/API/ObjCCallbackFunction.mm	2015-07-30 16:25:36 UTC (rev 187587)
@@ -43,6 +43,7 @@
 #import <wtf/RetainPtr.h>
 
 class CallbackArgument {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~CallbackArgument();
     virtual void set(NSInvocation *, NSInteger, JSContext *, JSValueRef, JSValueRef*) = 0;
@@ -257,6 +258,7 @@
 };
 
 class CallbackResult {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     virtual ~CallbackResult()
     {

Modified: trunk/Source/_javascript_Core/ChangeLog (187586 => 187587)


--- trunk/Source/_javascript_Core/ChangeLog	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/ChangeLog	2015-07-30 16:25:36 UTC (rev 187587)
@@ -1,3 +1,33 @@
+2015-07-30  Chris Dumez  <cdu...@apple.com>
+
+        Mark more classes as fast allocated
+        https://bugs.webkit.org/show_bug.cgi?id=147440
+
+        Reviewed by Sam Weinig.
+
+        Mark more classes as fast allocated for performance. We heap-allocate
+        objects of those types throughout the code base.
+
+        * API/JSCallbackObject.h:
+        * API/ObjCCallbackFunction.mm:
+        * bytecode/BytecodeKills.h:
+        * bytecode/BytecodeLivenessAnalysis.h:
+        * bytecode/CallLinkStatus.h:
+        * bytecode/FullBytecodeLiveness.h:
+        * bytecode/SamplingTool.h:
+        * bytecompiler/BytecodeGenerator.h:
+        * dfg/DFGBasicBlock.h:
+        * dfg/DFGBlockMap.h:
+        * dfg/DFGInPlaceAbstractState.h:
+        * dfg/DFGThreadData.h:
+        * heap/HeapVerifier.h:
+        * heap/SlotVisitor.h:
+        * parser/Lexer.h:
+        * runtime/ControlFlowProfiler.h:
+        * runtime/TypeProfiler.h:
+        * runtime/TypeProfilerLog.h:
+        * runtime/Watchdog.h:
+
 2015-07-29  Filip Pizlo  <fpi...@apple.com>
 
         DFG::ArgumentsEliminationPhase should emit a PutStack for all of the GetStacks that the ByteCodeParser emitted

Modified: trunk/Source/_javascript_Core/bytecode/BytecodeKills.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecode/BytecodeKills.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecode/BytecodeKills.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -34,6 +34,7 @@
 class BytecodeLivenessAnalysis;
 
 class BytecodeKills {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     BytecodeKills()
         : m_codeBlock(nullptr)

Modified: trunk/Source/_javascript_Core/bytecode/BytecodeLivenessAnalysis.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecode/BytecodeLivenessAnalysis.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecode/BytecodeLivenessAnalysis.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -38,6 +38,7 @@
 class FullBytecodeLiveness;
 
 class BytecodeLivenessAnalysis {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     BytecodeLivenessAnalysis(CodeBlock*);
     

Modified: trunk/Source/_javascript_Core/bytecode/CallLinkStatus.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecode/CallLinkStatus.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecode/CallLinkStatus.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -45,6 +45,7 @@
 class CallLinkInfo;
 
 class CallLinkStatus {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     CallLinkStatus()
         : m_couldTakeSlowPath(false)

Modified: trunk/Source/_javascript_Core/bytecode/FullBytecodeLiveness.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecode/FullBytecodeLiveness.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecode/FullBytecodeLiveness.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -35,6 +35,7 @@
 typedef HashMap<unsigned, FastBitVector, WTF::IntHash<unsigned>, WTF::UnsignedWithZeroKeyHashTraits<unsigned>> BytecodeToBitmapMap;
 
 class FullBytecodeLiveness {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     const FastBitVector& getLiveness(unsigned bytecodeIndex) const
     {

Modified: trunk/Source/_javascript_Core/bytecode/SamplingTool.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecode/SamplingTool.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecode/SamplingTool.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -227,6 +227,7 @@
     };
 
     class SamplingTool {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         friend struct CallRecord;
         

Modified: trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h (187586 => 187587)


--- trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/bytecompiler/BytecodeGenerator.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -102,6 +102,7 @@
     };
 
     class ForInContext {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         ForInContext(RegisterID* localRegister)
             : m_localRegister(localRegister)

Modified: trunk/Source/_javascript_Core/dfg/DFGBasicBlock.h (187586 => 187587)


--- trunk/Source/_javascript_Core/dfg/DFGBasicBlock.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/dfg/DFGBasicBlock.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -237,6 +237,8 @@
     unsigned innerMostLoopIndices[numberOfInnerMostLoopIndices];
 
     struct SSAData {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
         AvailabilityMap availabilityAtHead;
         AvailabilityMap availabilityAtTail;
         

Modified: trunk/Source/_javascript_Core/dfg/DFGBlockMap.h (187586 => 187587)


--- trunk/Source/_javascript_Core/dfg/DFGBlockMap.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/dfg/DFGBlockMap.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -36,6 +36,7 @@
 
 template<typename T>
 class BlockMap {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     BlockMap()
     {

Modified: trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.h (187586 => 187587)


--- trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/dfg/DFGInPlaceAbstractState.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -37,6 +37,7 @@
 namespace JSC { namespace DFG {
 
 class InPlaceAbstractState {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     InPlaceAbstractState(Graph&);
     

Modified: trunk/Source/_javascript_Core/dfg/DFGThreadData.h (187586 => 187587)


--- trunk/Source/_javascript_Core/dfg/DFGThreadData.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/dfg/DFGThreadData.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -37,6 +37,7 @@
 class Worklist;
 
 class ThreadData {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ThreadData(Worklist*);
     ~ThreadData();

Modified: trunk/Source/_javascript_Core/heap/HeapVerifier.h (187586 => 187587)


--- trunk/Source/_javascript_Core/heap/HeapVerifier.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/heap/HeapVerifier.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -66,6 +66,7 @@
 };
 
 class HeapVerifier {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     enum class Phase {
         BeforeGC,

Modified: trunk/Source/_javascript_Core/heap/SlotVisitor.h (187586 => 187587)


--- trunk/Source/_javascript_Core/heap/SlotVisitor.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/heap/SlotVisitor.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -46,7 +46,7 @@
 template<typename T> class WriteBarrierBase;
 
 class SlotVisitor {
-    WTF_MAKE_NONCOPYABLE(SlotVisitor);
+    WTF_MAKE_NONCOPYABLE(SlotVisitor); WTF_MAKE_FAST_ALLOCATED;
     friend class HeapRootVisitor; // Allowed to mark a JSValue* or JSCell** directly.
 
 public:

Modified: trunk/Source/_javascript_Core/parser/Lexer.h (187586 => 187587)


--- trunk/Source/_javascript_Core/parser/Lexer.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/parser/Lexer.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -34,6 +34,7 @@
 namespace JSC {
 
 class Keywords {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     bool isKeyword(const Identifier& ident) const
     {

Modified: trunk/Source/_javascript_Core/runtime/ControlFlowProfiler.h (187586 => 187587)


--- trunk/Source/_javascript_Core/runtime/ControlFlowProfiler.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/runtime/ControlFlowProfiler.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -90,6 +90,7 @@
 };
 
 class ControlFlowProfiler {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     ControlFlowProfiler();
     ~ControlFlowProfiler();

Modified: trunk/Source/_javascript_Core/runtime/TypeProfiler.h (187586 => 187587)


--- trunk/Source/_javascript_Core/runtime/TypeProfiler.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/runtime/TypeProfiler.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -94,6 +94,7 @@
 };
 
 class TypeProfiler {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     TypeProfiler();
     void logTypesForTypeLocation(TypeLocation*, VM&);

Modified: trunk/Source/_javascript_Core/runtime/TypeProfilerLog.h (187586 => 187587)


--- trunk/Source/_javascript_Core/runtime/TypeProfilerLog.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/runtime/TypeProfilerLog.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -39,7 +39,7 @@
 class TypeLocation;
 
 class TypeProfilerLog {
-
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     struct LogEntry {
     public:

Modified: trunk/Source/_javascript_Core/runtime/Watchdog.h (187586 => 187587)


--- trunk/Source/_javascript_Core/runtime/Watchdog.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/_javascript_Core/runtime/Watchdog.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -36,6 +36,7 @@
 class VM;
 
 class Watchdog {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     class Scope;
 

Modified: trunk/Source/WTF/ChangeLog (187586 => 187587)


--- trunk/Source/WTF/ChangeLog	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WTF/ChangeLog	2015-07-30 16:25:36 UTC (rev 187587)
@@ -1,3 +1,17 @@
+2015-07-30  Chris Dumez  <cdu...@apple.com>
+
+        Mark more classes as fast allocated
+        https://bugs.webkit.org/show_bug.cgi?id=147440
+
+        Reviewed by Sam Weinig.
+
+        Mark more classes as fast allocated for performance. We heap-allocate
+        objects of those types throughout the code base.
+
+        * wtf/Bag.h:
+        * wtf/SegmentedVector.h:
+        * wtf/SentinelLinkedList.h:
+
 2015-07-29  Basile Clement  <basile_clem...@apple.com>
 
         Remove native call inlining

Modified: trunk/Source/WTF/wtf/Bag.h (187586 => 187587)


--- trunk/Source/WTF/wtf/Bag.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WTF/wtf/Bag.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -30,6 +30,7 @@
 
 template<typename T>
 class Bag {
+    WTF_MAKE_FAST_ALLOCATED;
 private:
     class Node {
         WTF_MAKE_FAST_ALLOCATED;

Modified: trunk/Source/WTF/wtf/SegmentedVector.h (187586 => 187587)


--- trunk/Source/WTF/wtf/SegmentedVector.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WTF/wtf/SegmentedVector.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -91,6 +91,7 @@
     class SegmentedVector {
         friend class SegmentedVectorIterator<T, SegmentSize>;
         WTF_MAKE_NONCOPYABLE(SegmentedVector);
+        WTF_MAKE_FAST_ALLOCATED;
 
     public:
         typedef SegmentedVectorIterator<T, SegmentSize> Iterator;

Modified: trunk/Source/WTF/wtf/SentinelLinkedList.h (187586 => 187587)


--- trunk/Source/WTF/wtf/SentinelLinkedList.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WTF/wtf/SentinelLinkedList.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -43,6 +43,7 @@
 
 template<typename T>
 class BasicRawSentinelNode {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     BasicRawSentinelNode(SentinelTag)
         : m_next(0)

Modified: trunk/Source/WebCore/ChangeLog (187586 => 187587)


--- trunk/Source/WebCore/ChangeLog	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/ChangeLog	2015-07-30 16:25:36 UTC (rev 187587)
@@ -1,3 +1,32 @@
+2015-07-30  Chris Dumez  <cdu...@apple.com>
+
+        Mark more classes as fast allocated
+        https://bugs.webkit.org/show_bug.cgi?id=147440
+
+        Reviewed by Sam Weinig.
+
+        Mark more classes as fast allocated for performance. We heap-allocate
+        objects of those types throughout the code base.
+
+        * editing/Editor.h:
+        * history/CachedFrame.h:
+        * history/CachedPage.h:
+        * html/parser/HTMLResourcePreloader.h:
+        * loader/PolicyChecker.h:
+        * loader/SubresourceLoader.h:
+        * loader/cache/CachedResource.h:
+        * page/animation/AnimationController.h:
+        * page/scrolling/ScrollingConstraints.h:
+        * page/scrolling/ScrollingStateTree.h:
+        * platform/graphics/Font.h:
+        * platform/graphics/GraphicsLayerUpdater.h:
+        * rendering/FilterEffectRenderer.h:
+        * rendering/ImageQualityController.h:
+        * rendering/RenderLayerFilterInfo.h:
+        * rendering/SimpleLineLayoutResolver.h:
+        * rendering/shapes/RasterShape.h:
+        * rendering/shapes/Shape.h:
+
 2015-07-30  Michael Catanzaro  <mcatanz...@igalia.com>
 
         [GTK] Crashes when SoupSession is destroyed in exit handler

Modified: trunk/Source/WebCore/editing/Editor.h (187586 => 187587)


--- trunk/Source/WebCore/editing/Editor.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/editing/Editor.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -97,6 +97,7 @@
 };
 
 class Editor {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit Editor(Frame&);
     ~Editor();

Modified: trunk/Source/WebCore/history/CachedFrame.h (187586 => 187587)


--- trunk/Source/WebCore/history/CachedFrame.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/history/CachedFrame.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -66,6 +66,7 @@
 };
 
 class CachedFrame : private CachedFrameBase {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit CachedFrame(Frame&);
 

Modified: trunk/Source/WebCore/history/CachedPage.h (187586 => 187587)


--- trunk/Source/WebCore/history/CachedPage.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/history/CachedPage.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -35,6 +35,7 @@
 class Page;
 
 class CachedPage {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit CachedPage(Page&);
     ~CachedPage();

Modified: trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h (187586 => 187587)


--- trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/html/parser/HTMLResourcePreloader.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -32,6 +32,7 @@
 namespace WebCore {
 
 class PreloadRequest {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     PreloadRequest(const String& initiator, const String& resourceURL, const URL& baseURL, CachedResource::Type resourceType, const String& mediaAttribute)
         : m_initiator(initiator)

Modified: trunk/Source/WebCore/loader/PolicyChecker.h (187586 => 187587)


--- trunk/Source/WebCore/loader/PolicyChecker.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/loader/PolicyChecker.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -51,6 +51,7 @@
 
 class PolicyChecker {
     WTF_MAKE_NONCOPYABLE(PolicyChecker);
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit PolicyChecker(Frame&);
 

Modified: trunk/Source/WebCore/loader/SubresourceLoader.h (187586 => 187587)


--- trunk/Source/WebCore/loader/SubresourceLoader.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/loader/SubresourceLoader.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -106,6 +106,7 @@
     };
 
     class RequestCountTracker {
+        WTF_MAKE_FAST_ALLOCATED;
     public:
         RequestCountTracker(CachedResourceLoader&, CachedResource*);
         ~RequestCountTracker();

Modified: trunk/Source/WebCore/loader/cache/CachedResource.h (187586 => 187587)


--- trunk/Source/WebCore/loader/cache/CachedResource.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/loader/cache/CachedResource.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -348,6 +348,7 @@
 };
 
 class CachedResource::Callback {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     Callback(CachedResource&, CachedResourceClient&);
 

Modified: trunk/Source/WebCore/page/animation/AnimationController.h (187586 => 187587)


--- trunk/Source/WebCore/page/animation/AnimationController.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/page/animation/AnimationController.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -44,6 +44,7 @@
 class RenderStyle;
 
 class AnimationController {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit AnimationController(Frame&);
     ~AnimationController();

Modified: trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h (187586 => 187587)


--- trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/page/scrolling/ScrollingConstraints.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -33,6 +33,7 @@
 // ViewportConstraints classes encapsulate data and logic required to reposition elements whose layout
 // depends on the viewport rect (positions fixed and sticky), when scrolling and zooming.
 class ViewportConstraints {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     enum ConstraintType {
         FixedPositionConstraint,

Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateTree.h (187586 => 187587)


--- trunk/Source/WebCore/page/scrolling/ScrollingStateTree.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateTree.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -41,6 +41,7 @@
 // the scrolling thread, avoiding locking. 
 
 class ScrollingStateTree {
+    WTF_MAKE_FAST_ALLOCATED;
     friend class ScrollingStateNode;
 public:
     WEBCORE_EXPORT ScrollingStateTree(AsyncScrollingCoordinator* = nullptr);

Modified: trunk/Source/WebCore/platform/graphics/Font.h (187586 => 187587)


--- trunk/Source/WebCore/platform/graphics/Font.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/platform/graphics/Font.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -267,6 +267,8 @@
     Glyph m_zeroWidthSpaceGlyph;
 
     struct DerivedFontData {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
         explicit DerivedFontData(bool custom)
             : forCustomFont(custom)
         {

Modified: trunk/Source/WebCore/platform/graphics/GraphicsLayerUpdater.h (187586 => 187587)


--- trunk/Source/WebCore/platform/graphics/GraphicsLayerUpdater.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/platform/graphics/GraphicsLayerUpdater.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -47,6 +47,7 @@
     : public DisplayRefreshMonitorClient
 #endif
 {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     GraphicsLayerUpdater(GraphicsLayerUpdaterClient&, PlatformDisplayID);
     virtual ~GraphicsLayerUpdater();

Modified: trunk/Source/WebCore/rendering/FilterEffectRenderer.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/FilterEffectRenderer.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/FilterEffectRenderer.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -55,6 +55,7 @@
 };
 
 class FilterEffectRendererHelper {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     FilterEffectRendererHelper(bool haveFilterEffect)
         : m_renderLayer(0)

Modified: trunk/Source/WebCore/rendering/ImageQualityController.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/ImageQualityController.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/ImageQualityController.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -39,7 +39,7 @@
 class RenderView;
 
 class ImageQualityController {
-    WTF_MAKE_NONCOPYABLE(ImageQualityController)
+    WTF_MAKE_NONCOPYABLE(ImageQualityController); WTF_MAKE_FAST_ALLOCATED;
 public:
     explicit ImageQualityController(const RenderView&);
 

Modified: trunk/Source/WebCore/rendering/RenderLayerFilterInfo.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/RenderLayerFilterInfo.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/RenderLayerFilterInfo.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -41,6 +41,7 @@
 class Element;
 
 class RenderLayer::FilterInfo final : private CachedSVGDocumentClient {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     static FilterInfo& get(RenderLayer&);
     static FilterInfo* getIfExists(const RenderLayer&);

Modified: trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/SimpleLineLayoutResolver.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -50,6 +50,7 @@
 };
 
 class RunResolver {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     class Iterator;
 

Modified: trunk/Source/WebCore/rendering/shapes/RasterShape.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/shapes/RasterShape.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/shapes/RasterShape.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -39,6 +39,7 @@
 namespace WebCore {
 
 class RasterShapeIntervals {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     RasterShapeIntervals(unsigned size, int offset = 0)
         : m_offset(offset)

Modified: trunk/Source/WebCore/rendering/shapes/Shape.h (187586 => 187587)


--- trunk/Source/WebCore/rendering/shapes/Shape.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebCore/rendering/shapes/Shape.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -66,6 +66,7 @@
 // physical coordinates.
 
 class Shape {
+    WTF_MAKE_FAST_ALLOCATED;
 public:
     struct DisplayPaths {
         Path shape;

Modified: trunk/Source/WebKit2/ChangeLog (187586 => 187587)


--- trunk/Source/WebKit2/ChangeLog	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebKit2/ChangeLog	2015-07-30 16:25:36 UTC (rev 187587)
@@ -1,3 +1,18 @@
+2015-07-30  Chris Dumez  <cdu...@apple.com>
+
+        Mark more classes as fast allocated
+        https://bugs.webkit.org/show_bug.cgi?id=147440
+
+        Reviewed by Sam Weinig.
+
+        Mark more classes as fast allocated for performance. We heap-allocate
+        objects of those types throughout the code base.
+
+        * NetworkProcess/cache/NetworkCacheStorage.cpp:
+        * NetworkProcess/cache/NetworkCacheStorage.h:
+        * Platform/IPC/MessageRecorder.h:
+        * Platform/mac/LayerHostingContext.h:
+
 2015-07-29  Andy VanWagoner  <thetalecraf...@gmail.com>
 
         Implement basic types for ECMAScript Internationalization API

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp (187586 => 187587)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.cpp	2015-07-30 16:25:36 UTC (rev 187587)
@@ -49,6 +49,8 @@
 static double computeRecordWorth(FileTimes);
 
 struct Storage::ReadOperation {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
     ReadOperation(const Key& key, const RetrieveCompletionHandler& completionHandler)
         : key(key)
         , completionHandler(completionHandler)
@@ -64,6 +66,8 @@
 };
 
 struct Storage::WriteOperation {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
     WriteOperation(const Record& record, const MappedBodyHandler& mappedBodyHandler)
         : record(record)
         , mappedBodyHandler(mappedBodyHandler)
@@ -76,6 +80,8 @@
 };
 
 struct Storage::TraverseOperation {
+    WTF_MAKE_FAST_ALLOCATED;
+public:
     TraverseOperation(TraverseFlags flags, const TraverseHandler& handler)
         : flags(flags)
         , handler(handler)

Modified: trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h (187586 => 187587)


--- trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebKit2/NetworkProcess/cache/NetworkCacheStorage.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -50,6 +50,8 @@
     static std::unique_ptr<Storage> open(const String& cachePath);
 
     struct Record {
+        WTF_MAKE_FAST_ALLOCATED;
+    public:
         Key key;
         std::chrono::system_clock::time_point timeStamp;
         Data header;

Modified: trunk/Source/WebKit2/Platform/IPC/MessageRecorder.h (187586 => 187587)


--- trunk/Source/WebKit2/Platform/IPC/MessageRecorder.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebKit2/Platform/IPC/MessageRecorder.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -68,7 +68,7 @@
     static bool isEnabled();
 
     class MessageProcessingToken {
-        WTF_MAKE_NONCOPYABLE(MessageProcessingToken);
+        WTF_MAKE_NONCOPYABLE(MessageProcessingToken); WTF_MAKE_FAST_ALLOCATED;
     public:
         explicit MessageProcessingToken(WebKitMessageRecord);
         ~MessageProcessingToken();

Modified: trunk/Source/WebKit2/Platform/mac/LayerHostingContext.h (187586 => 187587)


--- trunk/Source/WebKit2/Platform/mac/LayerHostingContext.h	2015-07-30 16:21:45 UTC (rev 187586)
+++ trunk/Source/WebKit2/Platform/mac/LayerHostingContext.h	2015-07-30 16:25:36 UTC (rev 187587)
@@ -41,7 +41,7 @@
 namespace WebKit {
 
 class LayerHostingContext {
-    WTF_MAKE_NONCOPYABLE(LayerHostingContext);
+    WTF_MAKE_NONCOPYABLE(LayerHostingContext); WTF_MAKE_FAST_ALLOCATED;
 public:
     static std::unique_ptr<LayerHostingContext> createForPort(const WebCore::MachSendRight& serverPort);
 #if HAVE(OUT_OF_PROCESS_LAYER_HOSTING)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to