Changeset 247105 in webkit


Ignore:
Timestamp:
Jul 3, 2019 2:20:04 PM (5 years ago)
Author:
rmorisset@apple.com
Message:

[WHLSL] WHLSL::AST::Node is useless
https://bugs.webkit.org/show_bug.cgi?id=199391

Reviewed by Dean Jackson.

It has no member, no non-trivial method, and we never access an AST node completely generically.
So WHLSL::AST::Node can be removed, as a first step towards removing the virtual table pointer from most AST nodes (and avoiding a virtual destructor call at the end of the compiler).

No new test because there is no functional change.

  • Modules/webgpu/WHLSL/AST/WHLSLAST.h:
  • Modules/webgpu/WHLSL/AST/WHLSLBaseFunctionAttribute.h:
  • Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h:
  • Modules/webgpu/WHLSL/AST/WHLSLEnumerationMember.h:
  • Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h:
  • Modules/webgpu/WHLSL/AST/WHLSLNamedType.h:
  • Modules/webgpu/WHLSL/AST/WHLSLReplaceWith.h: Renamed from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLNode.h.

(WebCore::WHLSL::AST::replaceWith):

  • Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h:
  • Modules/webgpu/WHLSL/AST/WHLSLType.h:
  • Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h:
  • Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.h:
  • Modules/webgpu/WHLSL/AST/WHLSLValue.h:
  • Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:
  • Modules/webgpu/WHLSL/WHLSLParser.h:
  • Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp:
  • Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
  • WebCore.xcodeproj/project.pbxproj:
Location:
trunk/Source/WebCore
Files:
17 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r247104 r247105  
     12019-07-03  Robin Morisset  <rmorisset@apple.com>
     2
     3        [WHLSL] WHLSL::AST::Node is useless
     4        https://bugs.webkit.org/show_bug.cgi?id=199391
     5
     6        Reviewed by Dean Jackson.
     7
     8        It has no member, no non-trivial method, and we never access an AST node completely generically.
     9        So WHLSL::AST::Node can be removed, as a first step towards removing the virtual table pointer from most AST nodes (and avoiding a virtual destructor call at the end of the compiler).
     10
     11        No new test because there is no functional change.
     12
     13        * Modules/webgpu/WHLSL/AST/WHLSLAST.h:
     14        * Modules/webgpu/WHLSL/AST/WHLSLBaseFunctionAttribute.h:
     15        * Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h:
     16        * Modules/webgpu/WHLSL/AST/WHLSLEnumerationMember.h:
     17        * Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h:
     18        * Modules/webgpu/WHLSL/AST/WHLSLNamedType.h:
     19        * Modules/webgpu/WHLSL/AST/WHLSLReplaceWith.h: Renamed from Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLNode.h.
     20        (WebCore::WHLSL::AST::replaceWith):
     21        * Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h:
     22        * Modules/webgpu/WHLSL/AST/WHLSLType.h:
     23        * Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h:
     24        * Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.h:
     25        * Modules/webgpu/WHLSL/AST/WHLSLValue.h:
     26        * Modules/webgpu/WHLSL/WHLSLNameResolver.cpp:
     27        * Modules/webgpu/WHLSL/WHLSLParser.h:
     28        * Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp:
     29        * Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp:
     30        * WebCore.xcodeproj/project.pbxproj:
     31
    1322019-07-03  Youenn Fablet  <youenn@apple.com>
    233
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLAST.h

    r245945 r247105  
    7070#include "WHLSLNativeFunctionDeclaration.h"
    7171#include "WHLSLNativeTypeDeclaration.h"
    72 #include "WHLSLNode.h"
    7372#include "WHLSLNullLiteral.h"
    7473#include "WHLSLNullLiteralType.h"
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLBaseFunctionAttribute.h

    r239844 r247105  
    2929
    3030#include "WHLSLLexer.h"
    31 #include "WHLSLNode.h"
    3231
    3332namespace WebCore {
     
    3736namespace AST {
    3837
    39 class BaseFunctionAttribute : public Node {
     38class BaseFunctionAttribute {
    4039public:
    4140    BaseFunctionAttribute(Lexer::Token&& origin)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLBaseSemantic.h

    r239930 r247105  
    3030#include "WHLSLEntryPointType.h"
    3131#include "WHLSLLexer.h"
    32 #include "WHLSLNode.h"
    3332#include <wtf/Optional.h>
    3433
     
    4443class UnnamedType;
    4544
    46 class BaseSemantic : public Node {
     45class BaseSemantic {
    4746public:
    4847    BaseSemantic(Lexer::Token&& origin)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLEnumerationMember.h

    r245662 r247105  
    3030#include "WHLSLConstantExpression.h"
    3131#include "WHLSLLexer.h"
    32 #include "WHLSLNode.h"
    3332#include <wtf/Optional.h>
    3433#include <wtf/Vector.h>
     
    4140namespace AST {
    4241
    43 class EnumerationMember : public Node {
     42class EnumerationMember {
    4443public:
    4544    EnumerationMember(Lexer::Token&& origin, String&& name, Optional<ConstantExpression>&& value = WTF::nullopt)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLFunctionDeclaration.h

    r245945 r247105  
    3131#include "WHLSLFunctionAttribute.h"
    3232#include "WHLSLLexer.h"
    33 #include "WHLSLNode.h"
    3433#include "WHLSLSemantic.h"
    3534#include "WHLSLUnnamedType.h"
     
    4443namespace AST {
    4544
    46 class FunctionDeclaration : public Node {
     45class FunctionDeclaration {
    4746public:
    4847    FunctionDeclaration(Lexer::Token&& origin, AttributeBlock&& attributeBlock, Optional<EntryPointType> entryPointType, UniqueRef<UnnamedType>&& type, String&& name, VariableDeclarations&& parameters, Optional<Semantic>&& semantic, bool isOperator)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLNamedType.h

    r239844 r247105  
    2929
    3030#include "WHLSLLexer.h"
    31 #include "WHLSLNode.h"
    3231#include "WHLSLType.h"
    3332#include <wtf/text/WTFString.h>
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLReplaceWith.h

    r247104 r247105  
    3434namespace AST {
    3535
    36 class Node {
    37 public:
    38     Node() = default;
    39 
    40     virtual ~Node() = default;
    41 
    42     explicit Node(const Node&) = default;
    43     Node(Node&&) = default;
    44 
    45     Node& operator=(const Node&) = default;
    46     Node& operator=(Node&&) = default;
    47 
    48 private:
    49 };
    50 
    5136template <typename New, typename Old, typename ...Args>
    5237ALWAYS_INLINE New* replaceWith(Old& old, Args&&... args)
     
    5843}
    5944
    60 } // namespace AST
     45} } } // namespace WebCore::WHLSL::AST
    6146
    62 }
    63 
    64 }
    65 
    66 #endif
     47#endif // ENABLE(WEBGPU)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLStructureElement.h

    r239930 r247105  
    2929
    3030#include "WHLSLLexer.h"
    31 #include "WHLSLNode.h"
    3231#include "WHLSLQualifier.h"
    3332#include "WHLSLSemantic.h"
     
    4140namespace AST {
    4241
    43 class StructureElement : public Node {
     42class StructureElement {
    4443public:
    4544    StructureElement(Lexer::Token&& origin, Qualifiers&& qualifiers, UniqueRef<UnnamedType>&& type, String&& name, Optional<Semantic> semantic)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLType.h

    r239844 r247105  
    2828#if ENABLE(WEBGPU)
    2929
    30 #include "WHLSLNode.h"
    3130#include <wtf/TypeCasts.h>
    3231
     
    3736namespace AST {
    3837
    39 class Type : public Node {
     38class Type {
    4039public:
    4140    Type() = default;
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLTypeDefinition.h

    r239930 r247105  
    3030#include "WHLSLLexer.h"
    3131#include "WHLSLNamedType.h"
    32 #include "WHLSLNode.h"
    3332#include "WHLSLUnnamedType.h"
    3433#include <wtf/UniqueRef.h>
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLUnnamedType.h

    r246550 r247105  
    2929
    3030#include "WHLSLLexer.h"
    31 #include "WHLSLNode.h"
    3231#include "WHLSLType.h"
    3332#include <wtf/UniqueRef.h>
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/AST/WHLSLValue.h

    r245945 r247105  
    2828#if ENABLE(WEBGPU)
    2929
    30 #include "WHLSLNode.h"
    31 
    3230namespace WebCore {
    3331
     
    3634namespace AST {
    3735
    38 class Value : public Node {
     36class Value {
    3937public:
    4038    Value(Lexer::Token&& origin)
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLNameResolver.cpp

    r246700 r247105  
    4040#include "WHLSLProgram.h"
    4141#include "WHLSLPropertyAccessExpression.h"
     42#include "WHLSLReplaceWith.h"
    4243#include "WHLSLResolveOverloadImpl.h"
    4344#include "WHLSLReturn.h"
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLParser.h

    r246135 r247105  
    6464#include "WHLSLNativeFunctionDeclaration.h"
    6565#include "WHLSLNativeTypeDeclaration.h"
    66 #include "WHLSLNode.h"
    6766#include "WHLSLNullLiteral.h"
    6867#include "WHLSLNumThreadsFunctionAttribute.h"
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLPreserveVariableLifetimes.cpp

    r247062 r247105  
    3131#include "WHLSLAST.h"
    3232#include "WHLSLASTDumper.h"
     33#include "WHLSLReplaceWith.h"
    3334#include "WHLSLVisitor.h"
    3435
  • trunk/Source/WebCore/Modules/webgpu/WHLSL/WHLSLPropertyResolver.cpp

    r247062 r247105  
    4040#include "WHLSLPointerType.h"
    4141#include "WHLSLReadModifyWriteExpression.h"
     42#include "WHLSLReplaceWith.h"
    4243#include "WHLSLVariableDeclaration.h"
    4344#include "WHLSLVariableReference.h"
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r247085 r247105  
    71297129                33503CA010179AD7003B47E1 /* JSNotification.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSNotification.h; sourceTree = "<group>"; };
    71307130                33503CC61017A1B1003B47E1 /* Notification.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Notification.cpp; sourceTree = "<group>"; };
     7131                3351F70B22CAD8DA0015B40D /* WHLSLReplaceWith.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLReplaceWith.h; sourceTree = "<group>"; };
    71317132                35C74FD3228A1912000C21A0 /* CSSGridIntegerRepeatValue.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = CSSGridIntegerRepeatValue.cpp; sourceTree = "<group>"; };
    71327133                35C74FD7228A19A6000C21A0 /* CSSGridIntegerRepeatValue.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CSSGridIntegerRepeatValue.h; sourceTree = "<group>"; };
     
    1332813329                C21BF72221CD89DF00227979 /* WHLSLBuiltInSemantic.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLBuiltInSemantic.h; sourceTree = "<group>"; };
    1332913330                C21BF72321CD89E100227979 /* WHLSLNativeFunctionDeclaration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLNativeFunctionDeclaration.h; sourceTree = "<group>"; };
    13330                 C21BF72421CD89E100227979 /* WHLSLNode.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLNode.h; sourceTree = "<group>"; };
    1333113331                C21BF72521CD89E200227979 /* WHLSLArrayReferenceType.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLArrayReferenceType.h; sourceTree = "<group>"; };
    1333213332                C21BF72621CD89E300227979 /* WHLSLEnumerationMember.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WHLSLEnumerationMember.h; sourceTree = "<group>"; };
     
    1713317133                                C21BF72321CD89E100227979 /* WHLSLNativeFunctionDeclaration.h */,
    1713417134                                C21BF72A21CD89E700227979 /* WHLSLNativeTypeDeclaration.h */,
    17135                                 C21BF72421CD89E100227979 /* WHLSLNode.h */,
    1713617135                                C21BF70721CD89C800227979 /* WHLSLNullLiteral.h */,
    1713717136                                1CB69B3A21DF0403006E846A /* WHLSLNullLiteralType.cpp */,
     
    1714317142                                C21BF71B21CD89D900227979 /* WHLSLReadModifyWriteExpression.h */,
    1714417143                                C21BF70D21CD89CD00227979 /* WHLSLReferenceType.h */,
     17144                                3351F70B22CAD8DA0015B40D /* WHLSLReplaceWith.h */,
    1714517145                                1CB69B3221DED40B006E846A /* WHLSLResolvableType.h */,
    1714617146                                C2138A1521DDECE900F516BA /* WHLSLResourceSemantic.cpp */,
Note: See TracChangeset for help on using the changeset viewer.