Ignore:
Timestamp:
May 6, 2009, 10:10:22 AM (16 years ago)
Author:
Darin Adler
Message:

2009-05-06 Darin Adler <Darin Adler>

Working with Sam Weinig.

Redo parse tree constructor optimization without breaking the Windows
build the way I did yesterday. The previous try broke the build by adding
an include of Lexer.h and all its dependencies that had to work outside
the JavaScriptCore project.

  • GNUmakefile.am: Added NodeConstructors.h.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: Ditto.
  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCoreCommon.vsprops: Removed byteocde directory -- we no longer are trying to include Lexer.h outside JavaScriptCore.
  • JavaScriptCore.xcodeproj/project.pbxproj: Change SegmentedVector.h and Lexer.h back to internal files. Added NodeConstructors.h.
  • parser/Grammar.y: Added include of NodeConstructors.h. Changed use of ConstDeclNode to use public functions.
  • parser/NodeConstructors.h: Copied from parser/Nodes.h. Just contains the inlined constructors now.
  • parser/Nodes.cpp: Added include of NodeConstructors.h. Moved node constructors into the header. (JSC::FunctionBodyNode::FunctionBodyNode): Removed m_refCount initialization.
  • parser/Nodes.h: Removed all the constructor definitions, and also removed the JSC_FAST_CALL from them since these are all inlined, so the calling convention is irrelevant. Made more things private. Used a data member for operator opcodes instead of a virtual function. Removed the special FunctionBodyNode::ref/deref functions since the default functions are now just as fast.
  • runtime/FunctionConstructor.cpp: (JSC::extractFunctionBody): Fixed types here so we don't typecast until after we do type checking.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r43264 r43311  
    165165                969A072A0ED1CE6900F1F681 /* Label.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A07270ED1CE6900F1F681 /* Label.h */; };
    166166                969A072B0ED1CE6900F1F681 /* RegisterID.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A07280ED1CE6900F1F681 /* RegisterID.h */; };
    167                 969A072C0ED1CE6900F1F681 /* SegmentedVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A07290ED1CE6900F1F681 /* SegmentedVector.h */; settings = {ATTRIBUTES = (Private, ); }; };
     167                969A072C0ED1CE6900F1F681 /* SegmentedVector.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A07290ED1CE6900F1F681 /* SegmentedVector.h */; };
    168168                969A07960ED1D3AE00F1F681 /* CodeBlock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 969A07900ED1D3AE00F1F681 /* CodeBlock.cpp */; };
    169169                969A07970ED1D3AE00F1F681 /* CodeBlock.h in Headers */ = {isa = PBXBuildFile; fileRef = 969A07910ED1D3AE00F1F681 /* CodeBlock.h */; settings = {ATTRIBUTES = (); }; };
     
    257257                BC18C42D0E16F5CD00B34460 /* JSVariableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSVariableObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
    258258                BC18C42E0E16F5CD00B34460 /* JSWrapperObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
    259                 BC18C4310E16F5CD00B34460 /* Lexer.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8660255597D01FF60F7 /* Lexer.h */; settings = {ATTRIBUTES = (Private, ); }; };
     259                BC18C4310E16F5CD00B34460 /* Lexer.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8660255597D01FF60F7 /* Lexer.h */; };
    260260                BC18C4340E16F5CD00B34460 /* ListHashSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 657EB7450B708F540063461B /* ListHashSet.h */; settings = {ATTRIBUTES = (Private, ); }; };
    261261                BC18C4350E16F5CD00B34460 /* ListRefPtr.h in Headers */ = {isa = PBXBuildFile; fileRef = 148A1626095D16BB00666D0D /* ListRefPtr.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    633633                930754CE08B0F74500AB3056 /* pcre_tables.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pcre_tables.cpp; sourceTree = "<group>"; tabWidth = 8; };
    634634                930754E908B0F78500AB3056 /* pcre_exec.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.cpp.cpp; path = pcre_exec.cpp; sourceTree = "<group>"; tabWidth = 8; };
     635                930DAD030FB1EB1A0082D205 /* NodeConstructors.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NodeConstructors.h; sourceTree = "<group>"; };
    635636                9322A00306C341D3009067BB /* libicucore.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libicucore.dylib; path = /usr/lib/libicucore.dylib; sourceTree = "<absolute>"; };
    636637                932F5BD80822A1C700736975 /* Info.plist */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; tabWidth = 8; usesTabs = 1; };
     
    12461247                                F692A8650255597D01FF60F7 /* Lexer.cpp */,
    12471248                                F692A8660255597D01FF60F7 /* Lexer.h */,
     1249                                930DAD030FB1EB1A0082D205 /* NodeConstructors.h */,
    12481250                                7EFF00630EC05A9A00AA7C93 /* NodeInfo.h */,
    12491251                                F692A86D0255597D01FF60F7 /* Nodes.cpp */,
Note: See TracChangeset for help on using the changeset viewer.