Changeset 169584 in webkit


Ignore:
Timestamp:
Jun 3, 2014 9:47:43 PM (10 years ago)
Author:
fpizlo@apple.com
Message:

[ftlopt] Unreviewed, roll out r169578. The build system needs some more love.

  • InlineRuntimeSymbolTable.h: Removed.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • build-symbol-table-index.py:
  • build-symbol-table-index.sh:
  • copy-llvm-ir-to-derived-sources.sh:
  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleCall):

  • dfg/DFGNode.h:

(JSC::DFG::Node::canBeKnownFunction): Deleted.
(JSC::DFG::Node::hasKnownFunction): Deleted.
(JSC::DFG::Node::knownFunction): Deleted.
(JSC::DFG::Node::giveKnownFunction): Deleted.

  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::lower):
(JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
(JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall): Deleted.
(JSC::FTL::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
(JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
(JSC::FTL::LowerDFGToLLVM::isInlinableSize): Deleted.

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

  • ftl/FTLState.h:
  • heap/HandleStack.h:
  • llvm/InitializeLLVM.h:
  • llvm/InitializeLLVMMac.cpp: Removed.
  • llvm/InitializeLLVMMac.mm: Added.

(JSC::initializeLLVMImpl):

  • llvm/LLVMAPIFunctions.h:
  • llvm/LLVMHeaders.h:
  • runtime/BundlePath.h: Removed.
  • runtime/BundlePath.mm: Removed.
  • runtime/DateConversion.h:
  • runtime/DateInstance.h:
  • runtime/ExceptionHelpers.h:
  • runtime/JSArray.h:
  • runtime/JSCJSValue.h:

(JSC::JSValue::toFloat):

  • runtime/JSDateMath.h:
  • runtime/JSObject.h:
  • runtime/JSWrapperObject.h:
  • runtime/Options.h:
  • runtime/RegExp.h:
  • runtime/StringObject.h:
  • runtime/Structure.h:
  • tested-symbols.symlst: Removed.
Location:
branches/ftlopt/Source/JavaScriptCore
Files:
1 added
5 deleted
28 edited

Legend:

Unmodified
Added
Removed
  • branches/ftlopt/Source/JavaScriptCore/ChangeLog

    r169582 r169584  
     12014-06-03  Filip Pizlo  <fpizlo@apple.com>
     2
     3        [ftlopt] Unreviewed, roll out r169578. The build system needs some more love.
     4
     5        * InlineRuntimeSymbolTable.h: Removed.
     6        * JavaScriptCore.xcodeproj/project.pbxproj:
     7        * build-symbol-table-index.py:
     8        * build-symbol-table-index.sh:
     9        * copy-llvm-ir-to-derived-sources.sh:
     10        * dfg/DFGByteCodeParser.cpp:
     11        (JSC::DFG::ByteCodeParser::handleCall):
     12        * dfg/DFGNode.h:
     13        (JSC::DFG::Node::canBeKnownFunction): Deleted.
     14        (JSC::DFG::Node::hasKnownFunction): Deleted.
     15        (JSC::DFG::Node::knownFunction): Deleted.
     16        (JSC::DFG::Node::giveKnownFunction): Deleted.
     17        * ftl/FTLAbbreviatedTypes.h:
     18        * ftl/FTLCompile.cpp:
     19        (JSC::FTL::compile):
     20        * ftl/FTLLowerDFGToLLVM.cpp:
     21        (JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
     22        (JSC::FTL::LowerDFGToLLVM::lower):
     23        (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct):
     24        (JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall): Deleted.
     25        (JSC::FTL::LowerDFGToLLVM::getFunctionBySymbol): Deleted.
     26        (JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol): Deleted.
     27        (JSC::FTL::LowerDFGToLLVM::isInlinableSize): Deleted.
     28        * ftl/FTLState.cpp:
     29        (JSC::FTL::State::State):
     30        * ftl/FTLState.h:
     31        * heap/HandleStack.h:
     32        * llvm/InitializeLLVM.h:
     33        * llvm/InitializeLLVMMac.cpp: Removed.
     34        * llvm/InitializeLLVMMac.mm: Added.
     35        (JSC::initializeLLVMImpl):
     36        * llvm/LLVMAPIFunctions.h:
     37        * llvm/LLVMHeaders.h:
     38        * runtime/BundlePath.h: Removed.
     39        * runtime/BundlePath.mm: Removed.
     40        * runtime/DateConversion.h:
     41        * runtime/DateInstance.h:
     42        * runtime/ExceptionHelpers.h:
     43        * runtime/JSArray.h:
     44        * runtime/JSCJSValue.h:
     45        (JSC::JSValue::toFloat):
     46        * runtime/JSDateMath.h:
     47        * runtime/JSObject.h:
     48        * runtime/JSWrapperObject.h:
     49        * runtime/Options.h:
     50        * runtime/RegExp.h:
     51        * runtime/StringObject.h:
     52        * runtime/Structure.h:
     53        * tested-symbols.symlst: Removed.
     54
    1552014-06-03  Filip Pizlo  <fpizlo@apple.com>
    256
  • branches/ftlopt/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r169578 r169584  
    478478                0FCEFAAC1804C13E00472CE4 /* FTLSaveRestore.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAAA1804C13E00472CE4 /* FTLSaveRestore.h */; settings = {ATTRIBUTES = (Private, ); }; };
    479479                0FCEFAB01805CA6D00472CE4 /* InitializeLLVM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */; settings = {ATTRIBUTES = (Private, ); }; };
     480                0FCEFAB11805CA6D00472CE4 /* InitializeLLVMMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */; };
    480481                0FCEFAC11805D94E00472CE4 /* LLVMOverrides.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC01805D94100472CE4 /* LLVMOverrides.cpp */; };
    481482                0FCEFAC31805E74000472CE4 /* LLVMExports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC21805E74000472CE4 /* LLVMExports.cpp */; };
    482483                0FCEFACA1805E75500472CE4 /* InitializeLLVM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC41805E75500472CE4 /* InitializeLLVM.cpp */; };
     484                0FCEFACB1805E75500472CE4 /* InitializeLLVMPOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */; };
    483485                0FCEFACC1805E75500472CE4 /* InitializeLLVMPOSIX.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAC61805E75500472CE4 /* InitializeLLVMPOSIX.h */; settings = {ATTRIBUTES = (Private, ); }; };
    484486                0FCEFACD1805E75500472CE4 /* LLVMAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC71805E75500472CE4 /* LLVMAPI.cpp */; };
     
    823825                451539B912DC994500EF7AC4 /* Yarr.h in Headers */ = {isa = PBXBuildFile; fileRef = 451539B812DC994500EF7AC4 /* Yarr.h */; settings = {ATTRIBUTES = (Private, ); }; };
    824826                5510502618EB827500001F3E /* JSCallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1440F88F0A508B100005F061 /* JSCallbackFunction.h */; };
    825                 552EA70C1908704800A66F2F /* JSDataViewPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66BF17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp */; };
    826827                5540757218DA58AD00EFF7F2 /* ArgList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF605120E203EF800B9A64D /* ArgList.h */; };
    827828                5540757318DA58AD00EFF7F2 /* Arguments.h in Headers */ = {isa = PBXBuildFile; fileRef = BC257DE60E1F51C50016B6C9 /* Arguments.h */; };
     
    10571058                55407A3818DA58AD00EFF7F2 /* NumberConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C20E16D4E900A06E92 /* NumberConstructor.cpp */; };
    10581059                55407A3A18DA58AD00EFF7F2 /* NumberPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C40E16D4E900A06E92 /* NumberPrototype.cpp */; };
    1059                 556A35C8190842BC00B56747 /* SetConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299DA317D12858005F5FF9 /* SetConstructor.cpp */; };
    1060                 556A35C9190842D500B56747 /* NativeErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9080E1839DB000F9297 /* NativeErrorConstructor.cpp */; };
    1061                 556A35CA190842DD00B56747 /* Arguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC257DE50E1F51C50016B6C9 /* Arguments.cpp */; };
    1062                 556A35CB190842E800B56747 /* ArgumentsIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A76140C9182982CB00750624 /* ArgumentsIteratorPrototype.cpp */; };
    1063                 556A35CC190842F300B56747 /* ArrayIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */; };
    1064                 556A35CD190842FD00B56747 /* BooleanConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952320E15EB5600A898AB /* BooleanConstructor.cpp */; };
    1065                 556A35CE1908430B00B56747 /* BooleanPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952340E15EB5600A898AB /* BooleanPrototype.cpp */; };
    1066                 556A35CF1908431600B56747 /* DateConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203450E17135E002C7E82 /* DateConstructor.cpp */; };
    1067                 556A35D01908432000B56747 /* DatePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203470E17135E002C7E82 /* DatePrototype.cpp */; };
    1068                 556A35D11908432900B56747 /* ErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */; };
    1069                 556A35D21908433300B56747 /* ErrorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9060E1839DB000F9297 /* ErrorPrototype.cpp */; };
    1070                 556A35D31908434300B56747 /* FunctionConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C00E16D4E900A06E92 /* FunctionConstructor.cpp */; };
    1071                 556A35D41908434D00B56747 /* FunctionPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85C0255597D01FF60F7 /* FunctionPrototype.cpp */; };
    1072                 556A35D51908436800B56747 /* JSArrayBufferConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B617B6B5AB00A7AE3F /* JSArrayBufferConstructor.cpp */; };
    1073                 556A35D61908437500B56747 /* JSArrayBufferPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B817B6B5AB00A7AE3F /* JSArrayBufferPrototype.cpp */; };
    1074                 556A35D71908438A00B56747 /* JSArrayIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */; };
    1075                 556A35D81908439D00B56747 /* JSBoundFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86FA9E8F142BBB2D001773B7 /* JSBoundFunction.cpp */; };
    1076                 556A35D9190843B100B56747 /* JSFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85E0255597D01FF60F7 /* JSFunction.cpp */; };
    1077                 556A35DA190843C200B56747 /* JSGlobalObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC756FC60E2031B200DE7D12 /* JSGlobalObjectFunctions.cpp */; };
    1078                 556A35DB190843CF00B56747 /* JSONObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */; };
    1079                 556A35DC190843E700B56747 /* JSPromiseConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E2017BEE240007CB63A /* JSPromiseConstructor.cpp */; };
    1080                 556A35DD190843E700B56747 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; };
    1081                 556A35DE190843E700B56747 /* JSPromisePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E1C17BEE22E007CB63A /* JSPromisePrototype.cpp */; };
    1082                 556A35DF190843F300B56747 /* ConsolePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A53CE08118BC1A5600BEDF76 /* ConsolePrototype.cpp */; };
    1083                 556A35E01908441D00B56747 /* MapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873717CBE85300C3E643 /* MapConstructor.cpp */; };
    1084                 556A35E11908441D00B56747 /* MapIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A74DEF8D182D991400522C22 /* MapIteratorPrototype.cpp */; };
    1085                 556A35E21908441D00B56747 /* MapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873B17CBE8D300C3E643 /* MapPrototype.cpp */; };
    1086                 556A35E31908442A00B56747 /* MathObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A86A0255597D01FF60F7 /* MathObject.cpp */; };
    1087                 556A35E41908443700B56747 /* NameConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2F91560F036008E9222 /* NameConstructor.cpp */; };
    1088                 556A35E51908443700B56747 /* NamePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2FD1560F036008E9222 /* NamePrototype.cpp */; };
    1089                 556A35E61908444900B56747 /* ObjectConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C60E16D4E900A06E92 /* ObjectConstructor.cpp */; };
    1090                 556A35E71908444900B56747 /* ObjectPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C80E16D4E900A06E92 /* ObjectPrototype.cpp */; };
    1091                 556A35E81908448000B56747 /* RegExpConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BD0E1706A7002C7E82 /* RegExpConstructor.cpp */; };
    1092                 556A35E91908448000B56747 /* RegExpPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BF0E1706A7002C7E82 /* RegExpPrototype.cpp */; };
    1093                 556A35EA190844A000B56747 /* SetIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A790DD67182F499700588807 /* SetIteratorPrototype.cpp */; };
    1094                 556A35EB190844A000B56747 /* SetPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299D9F17D12848005F5FF9 /* SetPrototype.cpp */; };
    1095                 556A35EC190844AA00B56747 /* StringConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C00E16EE3300B34460 /* StringConstructor.cpp */; };
    1096                 556A35ED190844B500B56747 /* WeakMapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADD17DA41AE006538AF /* WeakMapConstructor.cpp */; };
    1097                 556A35EE190844C000B56747 /* WeakMapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADF17DA41AE006538AF /* WeakMapPrototype.cpp */; };
    1098                 55A04E211908653D0024E40C /* StringPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C50E16EE3300B34460 /* StringPrototype.cpp */; };
    10991060                5D53726F0E1C54880021E549 /* Tracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D53726E0E1C54880021E549 /* Tracing.h */; };
    11001061                5D5D8AD10E0D0EBE00F9C692 /* libedit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5D8AD00E0D0EBE00F9C692 /* libedit.dylib */; };
     
    12701231                99E45A2718A1B2590026D88F /* InputCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 99E45A2218A1B2590026D88F /* InputCursor.h */; settings = {ATTRIBUTES = (Private, ); }; };
    12711232                99E45A2818A1B2590026D88F /* NondeterministicInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 99E45A2318A1B2590026D88F /* NondeterministicInput.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1272                 9E729407190F01A5001A91B5 /* InitializeThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E178636C0D9BEEC300D74E75 /* InitializeThreading.cpp */; };
    1273                 9E729408190F021E001A91B5 /* InitializeLLVMPOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */; };
    1274                 9E72940B190F0514001A91B5 /* BundlePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E72940A190F0514001A91B5 /* BundlePath.h */; };
    1275                 9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9E729409190F0306001A91B5 /* BundlePath.mm */; };
    1276                 9EA5C7A2190F088700508EBE /* InitializeLLVMMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */; };
    12771233                A1712B3B11C7B212007A5315 /* RegExpCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1712B3A11C7B212007A5315 /* RegExpCache.cpp */; };
    12781234                A1712B3F11C7B228007A5315 /* RegExpCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B3E11C7B228007A5315 /* RegExpCache.h */; settings = {ATTRIBUTES = (Private, ); }; };
     
    17471703                E124A8F70E555775003091F1 /* OpaqueJSString.h in Headers */ = {isa = PBXBuildFile; fileRef = E124A8F50E555775003091F1 /* OpaqueJSString.h */; settings = {ATTRIBUTES = (Private, ); }; };
    17481704                E124A8F80E555775003091F1 /* OpaqueJSString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E124A8F60E555775003091F1 /* OpaqueJSString.cpp */; };
     1705                E178636D0D9BEEC300D74E75 /* InitializeThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E178636C0D9BEEC300D74E75 /* InitializeThreading.cpp */; };
    17491706                E18E3A590DF9278C00D90B34 /* VM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18E3A570DF9278C00D90B34 /* VM.cpp */; };
    17501707                E49DC16B12EF293E00184A1F /* SourceProviderCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E49DC15512EF277200184A1F /* SourceProviderCache.cpp */; };
     
    23402297                0FCEFAAA1804C13E00472CE4 /* FTLSaveRestore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLSaveRestore.h; path = ftl/FTLSaveRestore.h; sourceTree = "<group>"; };
    23412298                0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InitializeLLVM.h; path = llvm/InitializeLLVM.h; sourceTree = "<group>"; };
     2299                0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InitializeLLVMMac.mm; path = llvm/InitializeLLVMMac.mm; sourceTree = "<group>"; };
    23422300                0FCEFAB61805D61600472CE4 /* libllvmForJSC.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libllvmForJSC.dylib; sourceTree = BUILT_PRODUCTS_DIR; };
    23432301                0FCEFABE1805D86900472CE4 /* LLVMForJSC.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = LLVMForJSC.xcconfig; sourceTree = "<group>"; };
     
    28742832                99E45A2218A1B2590026D88F /* InputCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputCursor.h; sourceTree = "<group>"; };
    28752833                99E45A2318A1B2590026D88F /* NondeterministicInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NondeterministicInput.h; sourceTree = "<group>"; };
    2876                 9E729409190F0306001A91B5 /* BundlePath.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BundlePath.mm; sourceTree = "<group>"; };
    2877                 9E72940A190F0514001A91B5 /* BundlePath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BundlePath.h; sourceTree = "<group>"; };
    2878                 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InitializeLLVMMac.cpp; path = llvm/InitializeLLVMMac.cpp; sourceTree = "<group>"; };
    28792834                A1712B3A11C7B212007A5315 /* RegExpCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExpCache.cpp; sourceTree = "<group>"; };
    28802835                A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = "<group>"; };
     
    35813536                        isa = PBXGroup;
    35823537                        children = (
    3583                                 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */,
    35843538                                0FCEFABF1805D94100472CE4 /* library */,
    35853539                                0FCEFAC41805E75500472CE4 /* InitializeLLVM.cpp */,
    35863540                                0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */,
     3541                                0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */,
    35873542                                0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */,
    35883543                                0FCEFAC61805E75500472CE4 /* InitializeLLVMPOSIX.h */,
     
    42134168                        isa = PBXGroup;
    42144169                        children = (
    4215                                 9E72940A190F0514001A91B5 /* BundlePath.h */,
    4216                                 9E729409190F0306001A91B5 /* BundlePath.mm */,
    42174170                                BCF605110E203EF800B9A64D /* ArgList.cpp */,
    42184171                                BCF605120E203EF800B9A64D /* ArgList.h */,
     
    58525805                                0F235BE017178E1C00690C7F /* FTLOSRExitCompiler.h in Headers */,
    58535806                                0FEA0A11170513DB00BB722C /* FTLOutput.h in Headers */,
    5854                                 9E72940B190F0514001A91B5 /* BundlePath.h in Headers */,
    58555807                                0F48532A187DFDEC0083B687 /* FTLRecoveryOpcode.h in Headers */,
    58565808                                0F6B1CC41862C47800845D97 /* FTLRegisterAtOffset.h in Headers */,
     
    68586810                        buildActionMask = 2147483647;
    68596811                        files = (
    6860                                 552EA70C1908704800A66F2F /* JSDataViewPrototype.cpp in Sources */,
    6861                                 55A04E211908653D0024E40C /* StringPrototype.cpp in Sources */,
    6862                                 556A35EE190844C000B56747 /* WeakMapPrototype.cpp in Sources */,
    6863                                 556A35ED190844B500B56747 /* WeakMapConstructor.cpp in Sources */,
    6864                                 556A35EC190844AA00B56747 /* StringConstructor.cpp in Sources */,
    6865                                 556A35EA190844A000B56747 /* SetIteratorPrototype.cpp in Sources */,
    6866                                 556A35EB190844A000B56747 /* SetPrototype.cpp in Sources */,
    6867                                 556A35E81908448000B56747 /* RegExpConstructor.cpp in Sources */,
    6868                                 556A35E91908448000B56747 /* RegExpPrototype.cpp in Sources */,
    6869                                 556A35E61908444900B56747 /* ObjectConstructor.cpp in Sources */,
    6870                                 556A35E71908444900B56747 /* ObjectPrototype.cpp in Sources */,
    6871                                 556A35E41908443700B56747 /* NameConstructor.cpp in Sources */,
    6872                                 556A35E51908443700B56747 /* NamePrototype.cpp in Sources */,
    6873                                 556A35E31908442A00B56747 /* MathObject.cpp in Sources */,
    6874                                 556A35E01908441D00B56747 /* MapConstructor.cpp in Sources */,
    6875                                 556A35E11908441D00B56747 /* MapIteratorPrototype.cpp in Sources */,
    6876                                 556A35E21908441D00B56747 /* MapPrototype.cpp in Sources */,
    6877                                 556A35DF190843F300B56747 /* ConsolePrototype.cpp in Sources */,
    6878                                 556A35DC190843E700B56747 /* JSPromiseConstructor.cpp in Sources */,
    6879                                 556A35DD190843E700B56747 /* JSPromiseFunctions.cpp in Sources */,
    6880                                 556A35DE190843E700B56747 /* JSPromisePrototype.cpp in Sources */,
    6881                                 556A35DB190843CF00B56747 /* JSONObject.cpp in Sources */,
    6882                                 556A35DA190843C200B56747 /* JSGlobalObjectFunctions.cpp in Sources */,
    6883                                 556A35D9190843B100B56747 /* JSFunction.cpp in Sources */,
    6884                                 556A35D81908439D00B56747 /* JSBoundFunction.cpp in Sources */,
    6885                                 556A35D71908438A00B56747 /* JSArrayIterator.cpp in Sources */,
    6886                                 556A35D61908437500B56747 /* JSArrayBufferPrototype.cpp in Sources */,
    6887                                 556A35D51908436800B56747 /* JSArrayBufferConstructor.cpp in Sources */,
    6888                                 556A35D41908434D00B56747 /* FunctionPrototype.cpp in Sources */,
    6889                                 556A35D31908434300B56747 /* FunctionConstructor.cpp in Sources */,
    6890                                 556A35D21908433300B56747 /* ErrorPrototype.cpp in Sources */,
    6891                                 556A35D11908432900B56747 /* ErrorConstructor.cpp in Sources */,
    6892                                 556A35D01908432000B56747 /* DatePrototype.cpp in Sources */,
    6893                                 556A35CF1908431600B56747 /* DateConstructor.cpp in Sources */,
    6894                                 556A35CE1908430B00B56747 /* BooleanPrototype.cpp in Sources */,
    6895                                 556A35CD190842FD00B56747 /* BooleanConstructor.cpp in Sources */,
    6896                                 556A35CC190842F300B56747 /* ArrayIteratorPrototype.cpp in Sources */,
    6897                                 556A35CB190842E800B56747 /* ArgumentsIteratorPrototype.cpp in Sources */,
    6898                                 556A35CA190842DD00B56747 /* Arguments.cpp in Sources */,
    6899                                 556A35C9190842D500B56747 /* NativeErrorConstructor.cpp in Sources */,
    6900                                 556A35C8190842BC00B56747 /* SetConstructor.cpp in Sources */,
    69016812                                554078AB18DA58AD00EFF7F2 /* ArrayConstructor.cpp in Sources */,
    69026813                                554078AF18DA58AD00EFF7F2 /* ArrayPrototype.cpp in Sources */,
     
    69186829                        buildActionMask = 2147483647;
    69196830                        files = (
    6920                                 9EA5C7A2190F088700508EBE /* InitializeLLVMMac.cpp in Sources */,
    6921                                 9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */,
    6922                                 9E729408190F021E001A91B5 /* InitializeLLVMPOSIX.cpp in Sources */,
    6923                                 9E729407190F01A5001A91B5 /* InitializeThreading.cpp in Sources */,
    69246831                                0FFA549716B8835000B3A982 /* A64DOpcode.cpp in Sources */,
    69256832                                0F55F0F414D1063900AC7649 /* AbstractPC.cpp in Sources */,
     
    71737080                                0F13E04E16164A1F00DC8DE7 /* IndexingType.cpp in Sources */,
    71747081                                0FCEFACA1805E75500472CE4 /* InitializeLLVM.cpp in Sources */,
     7082                                0FCEFAB11805CA6D00472CE4 /* InitializeLLVMMac.mm in Sources */,
     7083                                0FCEFACB1805E75500472CE4 /* InitializeLLVMPOSIX.cpp in Sources */,
     7084                                E178636D0D9BEEC300D74E75 /* InitializeThreading.cpp in Sources */,
    71757085                                A513E5B7185B8BD3007E95AD /* InjectedScript.cpp in Sources */,
    71767086                                A514B2C2185A684400F3C7CB /* InjectedScriptBase.cpp in Sources */,
  • branches/ftlopt/Source/JavaScriptCore/build-symbol-table-index.py

    r169578 r169584  
    55import subprocess
    66import sys
    7 from sets import Set
    87from operator import itemgetter
    98
     
    3534    symbol_table_modification_time = os.path.getmtime(symbol_table_location)
    3635
    37 file_suffix = "bc"
     36file_suffix = "bc.gz"
    3837file_suffix_length = len(file_suffix)
    39 
    40 tested_symbols_location = "./tested-symbols.symlst"
    41 include_symbol_table_location = "./InlineRuntimeSymbolTable.h"
    42 tested_symbols = Set([])
    43 
    44 if os.path.isfile(tested_symbols_location):
    45     with open(tested_symbols_location, 'r') as file:
    46         print("Loading tested symbols")
    47         for line in file:
    48             tested_symbols.add(line[:-1])
    4938
    5039for bitcode_file in glob.iglob(os.path.join(framework_directory, "*." + file_suffix)):
     
    6049
    6150    for symbol in lines:
    62         if symbol[:2] == "__" and symbol[-3:] != ".eh" and symbol in tested_symbols:
    63             symbol_table[symbol[1:]] = bitcode_basename
     51        if symbol[:2] == "__" and symbol[-3:] != ".eh":
     52            symbol_table[symbol] = bitcode_basename[1:]
    6453
    6554if not symbol_table_is_out_of_date:
     
    7968print("Writing symbol table")
    8069
    81 with open(symbol_table_location, "w") as symbol_file:
    82     with open(include_symbol_table_location, "w") as include_file:
    83         include_file.write("#define FOR_EACH_LIBRARY_SYMBOL(macro)")
    84         for symbol, location in symbol_list:
    85             symbol_file.write("{} {}\n".format(symbol, location))
    86             include_file.write(" \\\nmacro(\"{}\", \"{}\")".format(symbol, location))
    87         include_file.write("\n")
     70with open(symbol_table_location, "w") as file:
     71    for symbol, location in symbol_list:
     72        file.write("{} {}\n".format(symbol, location))
     73
    8874print("Done")
  • branches/ftlopt/Source/JavaScriptCore/build-symbol-table-index.sh

    r169578 r169584  
    99    then
    1010        mkdir -p "$RUNTIME_INSTALL_DIR/$arch"
    11         cp "$RUNTIME_DERIVED_SOURCES_DIR/$arch"/*.bc "$RUNTIME_INSTALL_DIR/$arch"/.
     11        cp "$RUNTIME_DERIVED_SOURCES_DIR/$arch"/*.bc.gz "$RUNTIME_INSTALL_DIR/$arch"/.
    1212        ${SRCROOT}/build-symbol-table-index.py $arch
    1313    fi
  • branches/ftlopt/Source/JavaScriptCore/copy-llvm-ir-to-derived-sources.sh

    r169578 r169584  
    1212        do
    1313            file_name=${file##*/}
    14             cp "$file" "$RUNTIME_DERIVED_SOURCES_DIR/$arch/${file_name%.o}.bc"
     14            gzip -9 -c "$file" > "$RUNTIME_DERIVED_SOURCES_DIR/$arch/${file_name%.o}.bc.gz"
    1515        done
    1616    fi
  • branches/ftlopt/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp

    r169578 r169584  
    12541254       
    12551255    Intrinsic intrinsic = callLinkStatus.intrinsicFor(specializationKind);
    1256 
    1257     JSFunction* knownFunction = nullptr;
    12581256    if (intrinsic != NoIntrinsic) {
    12591257        emitFunctionChecks(callLinkStatus, callTarget, registerOffset, specializationKind);
     
    12721270            m_graph.compilation()->noticeInlinedCall();
    12731271        return;
    1274     } else if (JSFunction* function = callLinkStatus.function())
    1275         if (function->isHostFunction()) {
    1276             emitFunctionChecks(callLinkStatus, callTarget, registerOffset, specializationKind);
    1277             knownFunction = function;
    1278         }
    1279    
    1280     addCall(result, op, callTarget, argumentCountIncludingThis, registerOffset)->giveKnownFunction(knownFunction);
     1272    }
     1273   
     1274    addCall(result, op, callTarget, argumentCountIncludingThis, registerOffset);
    12811275}
    12821276
  • branches/ftlopt/Source/JavaScriptCore/dfg/DFGNode.h

    r169578 r169584  
    10331033    }
    10341034   
    1035     bool canBeKnownFunction()
    1036     {
    1037         switch (op()) {
    1038         case Construct:
    1039         case Call:
    1040             return true;
    1041         default:
    1042             return false;
    1043         }
    1044     }
    1045 
    1046     bool hasKnownFunction()
    1047     {
    1048         switch (op()) {
    1049         case Construct:
    1050         case Call:
    1051             return (bool)m_opInfo;
    1052         default:
    1053             return false;
    1054         }
    1055     }
    1056    
    1057     JSFunction* knownFunction()
    1058     {
    1059         ASSERT(canBeKnownFunction());
    1060         return bitwise_cast<JSFunction*>(m_opInfo);
    1061     }
    1062 
    1063     void giveKnownFunction(JSFunction* callData)
    1064     {
    1065         ASSERT(canBeKnownFunction());
    1066         m_opInfo = bitwise_cast<uintptr_t>(callData);
    1067     }
    1068 
    10691035    bool hasFunction()
    10701036    {
  • branches/ftlopt/Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h

    r169578 r169584  
    4444typedef LLVMTypeRef LType;
    4545typedef LLVMValueRef LValue;
    46 typedef LLVMMemoryBufferRef LMemoryBuffer;
    4746
    4847} } // namespace JSC::FTL
  • branches/ftlopt/Source/JavaScriptCore/ftl/FTLCompile.cpp

    r169578 r169584  
    524524            modulePasses = llvm->CreatePassManager();
    525525            llvm->AddTargetData(llvm->GetExecutionEngineTargetData(engine), modulePasses);
    526 
    527             LLVMTargetMachineRef targetMachine = llvm->GetExecutionEngineTargetMachine(engine);
    528            
    529             llvm->AddAnalysisPasses(targetMachine, modulePasses);
    530526            llvm->AddPromoteMemoryToRegisterPass(modulePasses);
    531 
    532             llvm->AddGlobalOptimizerPass(modulePasses);
    533 
    534             llvm->AddFunctionInliningPass(modulePasses);
    535             llvm->AddPruneEHPass(modulePasses);
    536             llvm->AddGlobalDCEPass(modulePasses);
    537            
    538527            llvm->AddConstantPropagationPass(modulePasses);
    539             llvm->AddAggressiveDCEPass(modulePasses);
    540528            llvm->AddInstructionCombiningPass(modulePasses);
    541529            llvm->AddBasicAliasAnalysisPass(modulePasses);
     
    544532            llvm->AddCFGSimplificationPass(modulePasses);
    545533            llvm->AddDeadStoreEliminationPass(modulePasses);
    546 
    547534            llvm->RunPassManager(modulePasses, state.module);
    548535        } else {
    549536            LLVMPassManagerBuilderRef passBuilder = llvm->PassManagerBuilderCreate();
    550537            llvm->PassManagerBuilderSetOptLevel(passBuilder, Options::llvmOptimizationLevel());
    551             llvm->PassManagerBuilderUseInlinerWithThreshold(passBuilder, 275);
    552538            llvm->PassManagerBuilderSetSizeLevel(passBuilder, Options::llvmSizeLevel());
    553539       
  • branches/ftlopt/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp

    r169578 r169584  
    2929#if ENABLE(FTL_JIT)
    3030
    31 #include "BundlePath.h"
    3231#include "CodeBlockWithJITType.h"
    3332#include "DFGAbstractInterpreterInlines.h"
     
    4241#include "FTLThunks.h"
    4342#include "FTLWeightedTarget.h"
    44 #include "JSCInlines.h"
    4543#include "LinkBuffer.h"
    4644#include "OperandsInlines.h"
     45#include "JSCInlines.h"
    4746#include "VirtualRegister.h"
    4847#include <atomic>
    49 #include <dlfcn.h>
    50 #include <llvm/InitializeLLVM.h>
    5148#include <wtf/ProcessID.h>
    5249
     
    7976        , m_interpreter(state.graph, m_state)
    8077        , m_stackmapIDs(0)
    81         , m_tbaaKind(mdKindID(state.context, "tbaa"))
    82         , m_tbaaStructKind(mdKindID(state.context, "tbaa.struct"))
    8378    {
    8479    }
     
    126121        m_out.appendTo(m_prologue, stackOverflow);
    127122        createPhiVariables();
    128 
    129         Vector<BasicBlock*> depthFirst;
    130         m_graph.getBlocksInDepthFirstOrder(depthFirst);
    131 
    132         int maxNumberOfArguments = -1;
    133         for (unsigned blockIndex = depthFirst.size(); blockIndex--; ) {
    134             BasicBlock* block = depthFirst[blockIndex];
    135             for (unsigned nodeIndex = block->size(); nodeIndex--; ) {
    136                 Node* m_node = block->at(nodeIndex);
    137                 if (m_node->hasKnownFunction()) {
    138                     int numArgs = m_node->numChildren();
    139                     NativeFunction func = m_node->knownFunction()->nativeFunction();
    140                     Dl_info info;
    141                     if (dladdr((void*)func, &info)) {
    142                         LValue callee = getFunctionBySymbol(info.dli_sname);
    143                         if (callee && numArgs > maxNumberOfArguments)
    144                             maxNumberOfArguments = numArgs;
    145                     }
    146                 }
    147             }
    148         }
    149 
    150123        LValue capturedAlloca = m_out.alloca(arrayType(m_out.int64, m_graph.m_nextMachineLocal));
    151 
    152         if (maxNumberOfArguments >= 0) {
    153             m_execState = m_out.alloca(arrayType(m_out.int64, JSStack::CallFrameHeaderSize + maxNumberOfArguments));
    154             m_execStorage = m_out.ptrToInt(m_execState, m_out.intPtr);       
    155         }
    156 
    157124        m_captured = m_out.add(
    158125            m_out.ptrToInt(capturedAlloca, m_out.intPtr),
     
    191158            m_out.constInt32(MacroAssembler::maxJumpReplacementSize()));
    192159        m_out.unreachable();
    193 
    194 
     160       
     161        Vector<BasicBlock*> depthFirst;
     162        m_graph.getBlocksInDepthFirstOrder(depthFirst);
    195163        for (unsigned i = 0; i < depthFirst.size(); ++i)
    196164            compileBlock(depthFirst[i]);
     
    35613529        setBoolean(m_out.bitNot(boolify(m_node->child1())));
    35623530    }
    3563 
     3531   
    35643532    void compileCallOrConstruct()
    35653533    {
     
    35673535        int numPassedArgs = m_node->numChildren() - 1;
    35683536        int numArgs = numPassedArgs + dummyThisArgument;
    3569 
    3570         if (m_node->hasKnownFunction()
    3571             && possiblyCompileInlineableNativeCall(dummyThisArgument, numPassedArgs, numArgs))
    3572             return;
    3573 
    3574         LValue jsCallee = lowJSValue(m_graph.varArgChild(m_node, 0));
    3575 
     3537       
     3538        LValue callee = lowJSValue(m_graph.varArgChild(m_node, 0));
     3539       
    35763540        unsigned stackmapID = m_stackmapIDs++;
    35773541       
     
    35813545        arguments.append(constNull(m_out.ref8));
    35823546        arguments.append(m_out.constInt32(1 + JSStack::CallFrameHeaderSize - JSStack::CallerFrameAndPCSize + numArgs));
    3583         arguments.append(jsCallee); // callee -> %rax
     3547        arguments.append(callee); // callee -> %rax
    35843548        arguments.append(getUndef(m_out.int64)); // code block
    35853549        arguments.append(getUndef(m_out.int64)); // scope chain
    3586         arguments.append(jsCallee); // callee -> stack
     3550        arguments.append(callee); // callee -> stack
    35873551        arguments.append(m_out.constInt64(numArgs)); // argument count and zeros for the tag
    35883552        if (dummyThisArgument)
     
    36003564        setJSValue(call);
    36013565    }
    3602 
    3603     bool possiblyCompileInlineableNativeCall(int dummyThisArgument, int numPassedArgs, int numArgs)
    3604     {
    3605         JSFunction* knownFunction = m_node->knownFunction();
    3606         NativeFunction function = knownFunction->nativeFunction();
    3607         Dl_info info;
    3608         if (dladdr((void*)function, &info)) {
    3609             LValue callee = getFunctionBySymbol(info.dli_sname);
    3610             LType typeCallee;
    3611             if (callee && (typeCallee = llvm->TypeOf(callee)) && (typeCallee = llvm->GetElementType(typeCallee))) {
    3612 
    3613                 JSScope* scope = knownFunction->scopeUnchecked();
    3614                 m_out.storePtr(m_callFrame, m_execStorage, m_heaps.CallFrame_callerFrame);
    3615                 m_out.storePtr(constNull(m_out.intPtr), addressFor(m_execStorage, JSStack::CodeBlock));
    3616                 m_out.storePtr(weakPointer(scope), addressFor(m_execStorage, JSStack::ScopeChain));
    3617                 m_out.storePtr(weakPointer(knownFunction), addressFor(m_execStorage, JSStack::Callee));
    3618 
    3619                 m_out.store64(m_out.constInt64(numArgs), addressFor(m_execStorage, JSStack::ArgumentCount));
    3620 
    3621                 if (dummyThisArgument)
    3622                     m_out.storePtr(getUndef(m_out.int64), addressFor(m_execStorage, JSStack::ThisArgument));
    3623                
    3624                 for (int i = 0; i < numPassedArgs; ++i) {
    3625                     m_out.storePtr(lowJSValue(m_graph.varArgChild(m_node, 1 + i)),
    3626                         addressFor(m_execStorage, dummyThisArgument ? JSStack::FirstArgument : JSStack::ThisArgument, i * sizeof(Register)));
    3627                 }
    3628 
    3629                 LType typeCalleeArg;
    3630                 llvm->GetParamTypes(typeCallee, &typeCalleeArg);
    3631                 LValue calleeCallFrame = m_out.address(m_execState, m_heaps.CallFrame_callerFrame).value();
    3632                 m_out.storePtr(m_out.ptrToInt(calleeCallFrame, m_out.intPtr), m_out.absolute(&vm().topCallFrame));
    3633                
    3634                 LValue call = vmCall(callee,
    3635                     m_out.bitCast(calleeCallFrame, typeCalleeArg));
    3636 
    3637                 if (Options::verboseCompilation())
    3638                     dataLog("Inlining: ", info.dli_sname, "\n");
    3639 
    3640                 setJSValue(call);
    3641                 return true;
    3642             }
    3643         }
    3644         return false;
    3645     }
    3646 
    3647     LValue getFunctionBySymbol(const CString symbol)
    3648     {
    3649         if (!m_ftlState.symbolTable.contains(symbol))
    3650             return nullptr;
    3651         if (!getModuleByPathForSymbol(m_ftlState.symbolTable.get(symbol), symbol))
    3652             return nullptr;
    3653         return llvm->GetNamedFunction(m_ftlState.module, symbol.data());
    3654     }
    3655 
    3656     bool getModuleByPathForSymbol(const CString path, const CString symbol)
    3657     {
    3658         if (m_ftlState.nativeLoadedLibraries.contains(path)) {
    3659             LValue function = llvm->GetNamedFunction(m_ftlState.module, symbol.data());
    3660             if (!isInlinableSize(function)) {
    3661                 // We had no choice but to compile this function, but don't try to inline it ever again.
    3662                 m_ftlState.symbolTable.remove(symbol);
    3663                 return false;
    3664             }
    3665             return true;
    3666         }
    3667 
    3668         LMemoryBuffer memBuf;
    3669        
    3670         const CString actualPath = toCString(bundlePath().data(),
    3671 #if CPU(X86_64)
    3672             "/Resources/Runtime/x86_64/",
    3673 #elif CPU(ARM64)
    3674             "/Resources/Runtime/arm64/",
    3675 #else
    3676 #error "Unrecognized Architecture"
    3677 #endif
    3678             path.data());
    3679 
    3680         if (llvm->CreateMemoryBufferWithContentsOfFile(actualPath.data(), &memBuf, nullptr)) {
    3681             if (Options::verboseCompilation())
    3682                 dataLog("Failed to load module at ", actualPath.data(), "\n for symbol ", symbol.data());
    3683             return false;
    3684         }
    3685 
    3686         LModule module;
    3687 
    3688         if (llvm->ParseBitcodeInContext(m_ftlState.context, memBuf, &module, nullptr)) {
    3689             llvm->DisposeMemoryBuffer(memBuf);
    3690             return false;
    3691         }
    3692 
    3693         llvm->DisposeMemoryBuffer(memBuf);
    3694        
    3695         if (LValue function = llvm->GetNamedFunction(m_ftlState.module, symbol.data())) {
    3696             if (!isInlinableSize(function)) {
    3697                 m_ftlState.symbolTable.remove(symbol);
    3698                 llvm->DisposeModule(module);
    3699                 return false;
    3700             }
    3701         }
    3702 
    3703         Vector<CString> namedFunctions;
    3704         for (LValue function = llvm->GetFirstFunction(module); function; function = llvm->GetNextFunction(function)) {
    3705             CString functionName(llvm->GetValueName(function));
    3706             namedFunctions.append(functionName);
    3707            
    3708             for (LBasicBlock basicBlock = llvm->GetFirstBasicBlock(function); basicBlock; basicBlock = llvm->GetNextBasicBlock(basicBlock)) {
    3709                 for (LValue instruction = llvm->GetFirstInstruction(basicBlock); instruction; instruction = llvm->GetNextInstruction(instruction)) {
    3710                     llvm->SetMetadata(instruction, m_tbaaKind, nullptr);
    3711                     llvm->SetMetadata(instruction, m_tbaaStructKind, nullptr);
    3712                 }
    3713             }
    3714         }
    3715 
    3716         Vector<CString> namedGlobals;
    3717         for (LValue global = llvm->GetFirstGlobal(module); global; global = llvm->GetNextGlobal(global)) {
    3718             CString globalName(llvm->GetValueName(global));
    3719             namedGlobals.append(globalName);
    3720         }
    3721 
    3722         if (llvm->LinkModules(m_ftlState.module, module, LLVMLinkerDestroySource, nullptr))
    3723             return false;
    3724        
    3725         for (CString* symbol = namedFunctions.begin(); symbol != namedFunctions.end(); ++symbol) {
    3726             LValue function = llvm->GetNamedFunction(m_ftlState.module, symbol->data());
    3727             llvm->SetVisibility(function, LLVMHiddenVisibility);
    3728             if (!llvm->IsDeclaration(function)) {
    3729                 llvm->SetLinkage(function, LLVMPrivateLinkage);
    3730 
    3731 #if ASSERT_DISABLED
    3732                 llvm->RemoveFunctionAttr(function, LLVMStackProtectAttribute);
    3733 #endif // ASSERT_DISABLED
    3734             }
    3735         }
    3736 
    3737         for (CString* symbol = namedGlobals.begin(); symbol != namedGlobals.end(); ++symbol) {
    3738             LValue global = llvm->GetNamedGlobal(m_ftlState.module, symbol->data());
    3739             llvm->SetVisibility(global, LLVMHiddenVisibility);
    3740             if (!llvm->IsDeclaration(global))
    3741                 llvm->SetLinkage(global, LLVMPrivateLinkage);
    3742         }
    3743 
    3744         m_ftlState.nativeLoadedLibraries.add(path);
    3745         return true;
    3746     }
    3747 
    3748     bool isInlinableSize(LValue function)
    3749     {
    3750         size_t instructionCount = 0;
    3751         size_t maxSize = Options::maximumLLVMInstructionCountForNativeInlining();
    3752         for (LBasicBlock basicBlock = llvm->GetFirstBasicBlock(function); basicBlock; basicBlock = llvm->GetNextBasicBlock(basicBlock)) {
    3753             for (LValue instruction = llvm->GetFirstInstruction(basicBlock); instruction; instruction = llvm->GetNextInstruction(instruction)) {
    3754                 if (++instructionCount >= maxSize)
    3755                     return false;
    3756             }
    3757         }
    3758         return true;
    3759     }
    3760 
     3566   
    37613567    void compileJump()
    37623568    {
     
    62776083    HashMap<BasicBlock*, LBasicBlock> m_blocks;
    62786084   
    6279     LValue m_execState;
    6280     LValue m_execStorage;
    62816085    LValue m_callFrame;
    62826086    LValue m_captured;
     
    63106114   
    63116115    uint32_t m_stackmapIDs;
    6312     unsigned m_tbaaKind;
    6313     unsigned m_tbaaStructKind;
    63146116};
    63156117
  • branches/ftlopt/Source/JavaScriptCore/ftl/FTLState.cpp

    r169578 r169584  
    3333#include "FTLJITCode.h"
    3434#include "FTLJITFinalizer.h"
    35 #include "InlineRuntimeSymbolTable.h"
    36 #include <llvm/InitializeLLVM.h>
    37 #include <stdio.h>
    3835
    3936namespace JSC { namespace FTL {
     
    4138using namespace DFG;
    4239
    43 #define LINE_SIZE 500
    4440State::State(Graph& graph)
    4541    : graph(graph)
     
    5147    , compactUnwindSize(0)
    5248{
    53 
    54 #define SYMBOL_TABLE_ADD(symbol, file) \
    55     symbolTable.fastAdd(symbol, file);
    56     FOR_EACH_LIBRARY_SYMBOL(SYMBOL_TABLE_ADD)
    57 #undef SYMBOL_TABLE_ADD
    58    
    5949    switch (graph.m_plan.mode) {
    6050    case FTLMode: {
  • branches/ftlopt/Source/JavaScriptCore/ftl/FTLState.h

    r169578 r169584  
    8282   
    8383    void dumpState(const char* when);
    84 
    85     HashSet<CString> nativeLoadedLibraries;
    86     HashMap<CString, CString> symbolTable;
    8784};
    8885
  • branches/ftlopt/Source/JavaScriptCore/heap/HandleStack.h

    r169578 r169584  
    5454
    5555private:
    56     JS_EXPORT_PRIVATE void grow();
     56    void grow();
    5757    void zapTo(Frame&);
    5858    HandleSlot findFirstAfter(HandleSlot);
  • branches/ftlopt/Source/JavaScriptCore/llvm/InitializeLLVM.h

    r169578 r169584  
    2929#if HAVE(LLVM)
    3030
    31 #include <string>
    32 #include <wtf/text/CString.h>
    33 
    3431namespace JSC {
    3532
    3633void initializeLLVMImpl();
    37 
    38 extern const CString* llvmBitcodeLibraryForInliningPath;
    3934
    4035// You msut call this before using JSC::llvm. It's safe to call this multiple times.
  • branches/ftlopt/Source/JavaScriptCore/llvm/LLVMAPIFunctions.h

    r169578 r169584  
    3030
    3131#define FOR_EACH_LLVM_API_FUNCTION(macro) \
    32     macro(LLVMBool, ParseBitcode, (LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule, char **OutMessage)) \
    33     macro(LLVMBool, ParseBitcodeInContext, (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutModule, char **OutMessage)) \
    34     macro(LLVMBool, GetBitcodeModuleInContext, (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM, char **OutMessage)) \
    35     macro(LLVMBool, GetBitcodeModule, (LLVMMemoryBufferRef MemBuf, LLVMModuleRef *OutM, char **OutMessage)) \
    36     macro(LLVMBool, GetBitcodeModuleProviderInContext, (LLVMContextRef ContextRef, LLVMMemoryBufferRef MemBuf, LLVMModuleProviderRef *OutMP, char **OutMessage)) \
    37     macro(LLVMBool, GetBitcodeModuleProvider, (LLVMMemoryBufferRef MemBuf, LLVMModuleProviderRef *OutMP, char **OutMessage)) \
    38     macro(LLVMBool, LinkModules, (LLVMModuleRef Dest, LLVMModuleRef Str, LLVMLinkerMode Mode, char **OutMessage)) \
    3932    macro(void, InitializeCore, (LLVMPassRegistryRef R)) \
    4033    macro(void, Shutdown, ()) \
     
    5952    macro(LLVMContextRef, GetModuleContext, (LLVMModuleRef M)) \
    6053    macro(LLVMTypeRef, GetTypeByName, (LLVMModuleRef M, const char *Name)) \
    61     macro(void, DumpType, (LLVMTypeRef Val)) \
    6254    macro(unsigned, GetNamedMetadataNumOperands, (LLVMModuleRef M, const char* name)) \
    6355    macro(void, GetNamedMetadataOperands, (LLVMModuleRef M, const char* name, LLVMValueRef *Dest)) \
     
    584576    macro(void *, RecompileAndRelinkFunction, (LLVMExecutionEngineRef EE, LLVMValueRef Fn)) \
    585577    macro(LLVMTargetDataRef, GetExecutionEngineTargetData, (LLVMExecutionEngineRef EE)) \
    586     macro(LLVMTargetMachineRef, GetExecutionEngineTargetMachine, (LLVMExecutionEngineRef EE)) \
    587578    macro(void, AddGlobalMapping, (LLVMExecutionEngineRef EE, LLVMValueRef Global, void* Addr)) \
    588579    macro(void *, GetPointerToGlobal, (LLVMExecutionEngineRef EE, LLVMValueRef Global)) \
     
    611602    macro(void, PassManagerBuilderPopulateModulePassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)) \
    612603    macro(void, PassManagerBuilderPopulateLTOPassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM, LLVMBool Internalize, LLVMBool RunInliner)) \
    613     macro(void, AddAnalysisPasses, (LLVMTargetMachineRef T, LLVMPassManagerRef PM)) \
    614     macro(void, AddInternalizePass, (LLVMPassManagerRef PM, unsigned AllButMain)) \
    615604    macro(void, AddAggressiveDCEPass, (LLVMPassManagerRef PM)) \
    616605    macro(void, AddCFGSimplificationPass, (LLVMPassManagerRef PM)) \
    617606    macro(void, AddDeadStoreEliminationPass, (LLVMPassManagerRef PM)) \
    618     macro(void, AddFunctionInliningPass, (LLVMPassManagerRef PM)) \
    619     macro(void, AddGlobalDCEPass, (LLVMPassManagerRef PM)) \
    620     macro(void, AddPruneEHPass, (LLVMPassManagerRef PM)) \
    621     macro(void, AddIPSCCPPass, (LLVMPassManagerRef PM)) \
    622     macro(void, AddDeadArgEliminationPass, (LLVMPassManagerRef PM)) \
    623     macro(void, AddConstantMergePass, (LLVMPassManagerRef PM)) \
    624     macro(void, AddGlobalOptimizerPass, (LLVMPassManagerRef PM)) \
    625607    macro(void, AddGVNPass, (LLVMPassManagerRef PM)) \
    626608    macro(void, AddIndVarSimplifyPass, (LLVMPassManagerRef PM)) \
  • branches/ftlopt/Source/JavaScriptCore/llvm/LLVMHeaders.h

    r169578 r169584  
    4444
    4545#include <llvm-c/Analysis.h>
    46 #include <llvm-c/BitReader.h>
    4746#include <llvm-c/Core.h>
    4847#include <llvm-c/Disassembler.h>
    4948#include <llvm-c/ExecutionEngine.h>
    50 #include <llvm-c/Initialization.h>
    51 #include <llvm-c/Linker.h>
    5249#include <llvm-c/Target.h>
    53 #include <llvm-c/TargetMachine.h>
    54 #include <llvm-c/Transforms/IPO.h>
    5550#include <llvm-c/Transforms/PassManagerBuilder.h>
    5651#include <llvm-c/Transforms/Scalar.h>
  • branches/ftlopt/Source/JavaScriptCore/runtime/DateConversion.h

    r169578 r169584  
    4040};
    4141
    42 JS_EXPORT_PRIVATE WTF::String formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant);
     42WTF::String formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant);
    4343
    4444} // namespace JSC
  • branches/ftlopt/Source/JavaScriptCore/runtime/DateInstance.h

    r169578 r169584  
    3232        JS_EXPORT_PRIVATE void finishCreation(VM&, double);
    3333
    34         JS_EXPORT_PRIVATE static void destroy(JSCell*);
     34        static void destroy(JSCell*);
    3535 
    3636    public:
     
    7575
    7676    private:
    77         JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTime(ExecState*) const;
    78         JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTimeUTC(ExecState*) const;
     77        const GregorianDateTime* calculateGregorianDateTime(ExecState*) const;
     78        const GregorianDateTime* calculateGregorianDateTimeUTC(ExecState*) const;
    7979
    8080        mutable RefPtr<DateInstanceData> m_data;
  • branches/ftlopt/Source/JavaScriptCore/runtime/ExceptionHelpers.h

    r169578 r169584  
    5151JSString* errorDescriptionForValue(ExecState*, JSValue);
    5252
    53 JS_EXPORT_PRIVATE JSObject* throwOutOfMemoryError(ExecState*);
    54 JS_EXPORT_PRIVATE JSObject* throwStackOverflowError(ExecState*);
    55 JS_EXPORT_PRIVATE JSObject* throwTerminatedExecutionException(ExecState*);
     53JSObject* throwOutOfMemoryError(ExecState*);
     54JSObject* throwStackOverflowError(ExecState*);
     55JSObject* throwTerminatedExecutionException(ExecState*);
    5656
    5757
  • branches/ftlopt/Source/JavaScriptCore/runtime/JSArray.h

    r169578 r169584  
    6262    JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool throwException);
    6363
    64     JS_EXPORT_PRIVATE static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
     64    static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
    6565
    6666    DECLARE_EXPORT_INFO;
     
    6868    unsigned length() const { return getArrayLength(); }
    6969    // OK to use on new arrays, but not if it might be a RegExpMatchArray.
    70     JS_EXPORT_PRIVATE bool setLength(ExecState*, unsigned, bool throwException = false);
    71 
    72     JS_EXPORT_PRIVATE void sort(ExecState*);
    73     JS_EXPORT_PRIVATE void sort(ExecState*, JSValue compareFunction, CallType, const CallData&);
    74     JS_EXPORT_PRIVATE void sortNumeric(ExecState*, JSValue compareFunction, CallType, const CallData&);
    75 
    76     JS_EXPORT_PRIVATE void push(ExecState*, JSValue);
    77     JS_EXPORT_PRIVATE JSValue pop(ExecState*);
     70    bool setLength(ExecState*, unsigned, bool throwException = false);
     71
     72    void sort(ExecState*);
     73    void sort(ExecState*, JSValue compareFunction, CallType, const CallData&);
     74    void sortNumeric(ExecState*, JSValue compareFunction, CallType, const CallData&);
     75
     76    void push(ExecState*, JSValue);
     77    JSValue pop(ExecState*);
    7878
    7979    enum ShiftCountMode {
     
    132132    }
    133133
    134     JS_EXPORT_PRIVATE void fillArgList(ExecState*, MarkedArgumentBuffer&);
    135     JS_EXPORT_PRIVATE void copyToArguments(ExecState*, CallFrame*, uint32_t length, int32_t firstVarArgOffset);
     134    void fillArgList(ExecState*, MarkedArgumentBuffer&);
     135    void copyToArguments(ExecState*, CallFrame*, uint32_t length, int32_t firstVarArgOffset);
    136136
    137137    static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype, IndexingType indexingType)
     
    158158       
    159159    bool shiftCountWithAnyIndexingType(ExecState*, unsigned startIndex, unsigned count);
    160     JS_EXPORT_PRIVATE bool shiftCountWithArrayStorage(unsigned startIndex, unsigned count, ArrayStorage*);
     160    bool shiftCountWithArrayStorage(unsigned startIndex, unsigned count, ArrayStorage*);
    161161
    162162    bool unshiftCountWithAnyIndexingType(ExecState*, unsigned startIndex, unsigned count);
  • branches/ftlopt/Source/JavaScriptCore/runtime/JSCJSValue.h

    r169578 r169584  
    241241
    242242    // Integer conversions.
    243     double toInteger(ExecState*) const;
    244     JS_EXPORT_PRIVATE double toIntegerPreserveNaN(ExecState*) const;
     243    JS_EXPORT_PRIVATE double toInteger(ExecState*) const;
     244    double toIntegerPreserveNaN(ExecState*) const;
    245245    int32_t toInt32(ExecState*) const;
    246246    uint32_t toUInt32(ExecState*) const;
     
    248248    // Floating point conversions (this is a convenience method for webcore;
    249249    // signle precision float is not a representation used in JS or JSC).
    250     JS_EXPORT_PRIVATE float toFloat(ExecState* exec) const { return static_cast<float>(toNumber(exec)); }
     250    float toFloat(ExecState* exec) const { return static_cast<float>(toNumber(exec)); }
    251251
    252252    // Object operations, with the toObject operation included.
     
    256256    JSValue get(ExecState*, unsigned propertyName, PropertySlot&) const;
    257257    void put(ExecState*, PropertyName, JSValue, PutPropertySlot&);
    258     JS_EXPORT_PRIVATE void putToPrimitive(ExecState*, PropertyName, JSValue, PutPropertySlot&);
    259     JS_EXPORT_PRIVATE void putToPrimitiveByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
     258    void putToPrimitive(ExecState*, PropertyName, JSValue, PutPropertySlot&);
     259    void putToPrimitiveByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
    260260    void putByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
    261261
  • branches/ftlopt/Source/JavaScriptCore/runtime/JSDateMath.h

    r169578 r169584  
    5151class VM;
    5252
    53 JS_EXPORT_PRIVATE void msToGregorianDateTime(VM&, double, bool outputIsUTC, GregorianDateTime&);
    54 JS_EXPORT_PRIVATE double gregorianDateTimeToMS(VM&, const GregorianDateTime&, double, bool inputIsUTC);
    55 JS_EXPORT_PRIVATE double getUTCOffset(VM&);
    56 JS_EXPORT_PRIVATE double parseDate(VM&, const WTF::String&);
     53void msToGregorianDateTime(VM&, double, bool outputIsUTC, GregorianDateTime&);
     54double gregorianDateTimeToMS(VM&, const GregorianDateTime&, double, bool inputIsUTC);
     55double getUTCOffset(VM&);
     56double parseDate(VM&, const WTF::String&);
    5757
    5858} // namespace JSC
  • branches/ftlopt/Source/JavaScriptCore/runtime/JSObject.h

    r169578 r169584  
    111111
    112112    JSValue prototype() const;
    113     JS_EXPORT_PRIVATE void setPrototype(VM&, JSValue prototype);
    114     JS_EXPORT_PRIVATE bool setPrototypeWithCycleCheck(ExecState*, JSValue prototype);
     113    void setPrototype(VM&, JSValue prototype);
     114    bool setPrototypeWithCycleCheck(ExecState*, JSValue prototype);
    115115       
    116116    bool mayInterceptIndexedAccesses()
     
    132132    // currently returns incorrect results for the DOM window (with non-own properties)
    133133    // being returned. Once this is fixed we should migrate code & remove this method.
    134     JS_EXPORT_PRIVATE bool getOwnPropertyDescriptor(ExecState*, PropertyName, PropertyDescriptor&);
    135 
    136     JS_EXPORT_PRIVATE bool allowsAccessFrom(ExecState*);
     134    bool getOwnPropertyDescriptor(ExecState*, PropertyName, PropertyDescriptor&);
     135
     136    bool allowsAccessFrom(ExecState*);
    137137
    138138    unsigned getArrayLength() const
     
    590590    JSFunction* putDirectBuiltinFunction(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes);
    591591    JSFunction* putDirectBuiltinFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes);
    592     JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
     592    void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);
    593593
    594594    JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow);
     
    601601    bool isErrorInstance() const;
    602602
    603     JS_EXPORT_PRIVATE void seal(VM&);
    604     JS_EXPORT_PRIVATE void freeze(VM&);
     603    void seal(VM&);
     604    void freeze(VM&);
    605605    JS_EXPORT_PRIVATE void preventExtensions(VM&);
    606606    bool isSealed(VM& vm) { return structure(vm)->isSealed(vm); }
     
    979979    ContiguousJSValues ensureContiguousSlow(VM&);
    980980    ContiguousJSValues rageEnsureContiguousSlow(VM&);
    981     JS_EXPORT_PRIVATE ArrayStorage* ensureArrayStorageSlow(VM&);
     981    ArrayStorage* ensureArrayStorageSlow(VM&);
    982982   
    983983    enum DoubleToContiguousMode { EncodeValueAsDouble, RageConvertDoubleToValue };
  • branches/ftlopt/Source/JavaScriptCore/runtime/JSWrapperObject.h

    r169578 r169584  
    6161        static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags;
    6262
    63         JS_EXPORT_PRIVATE static void visitChildren(JSCell*, SlotVisitor&);
     63        static void visitChildren(JSCell*, SlotVisitor&);
    6464
    6565    private:
  • branches/ftlopt/Source/JavaScriptCore/runtime/Options.h

    r169578 r169584  
    197197    v(unsigned, maximumInliningRecursionForMustInline, 3) \
    198198    \
    199     v(unsigned, maximumLLVMInstructionCountForNativeInlining, 80) \
    200     \
    201199    /* Maximum size of a caller for enabling inlining. This is purely to protect us */\
    202200    /* from super long compiles that take a lot of memory. */\
  • branches/ftlopt/Source/JavaScriptCore/runtime/RegExp.h

    r169578 r169584  
    6262
    6363        JS_EXPORT_PRIVATE int match(VM&, const String&, unsigned startOffset, Vector<int, 32>& ovector);
    64         JS_EXPORT_PRIVATE MatchResult match(VM&, const String&, unsigned startOffset);
     64        MatchResult match(VM&, const String&, unsigned startOffset);
    6565        unsigned numSubpatterns() const { return m_numSubpatterns; }
    6666
  • branches/ftlopt/Source/JavaScriptCore/runtime/StringObject.h

    r169578 r169584  
    4646        static StringObject* create(VM&, JSGlobalObject*, JSString*);
    4747
    48         JS_EXPORT_PRIVATE static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
    49         JS_EXPORT_PRIVATE static bool getOwnPropertySlotByIndex(JSObject*, ExecState*, unsigned propertyName, PropertySlot&);
     48        static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);
     49        static bool getOwnPropertySlotByIndex(JSObject*, ExecState*, unsigned propertyName, PropertySlot&);
    5050
    51         JS_EXPORT_PRIVATE static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
    52         JS_EXPORT_PRIVATE static void putByIndex(JSCell*, ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
     51        static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);
     52        static void putByIndex(JSCell*, ExecState*, unsigned propertyName, JSValue, bool shouldThrow);
    5353
    54         JS_EXPORT_PRIVATE static bool deleteProperty(JSCell*, ExecState*, PropertyName);
    55         JS_EXPORT_PRIVATE static bool deletePropertyByIndex(JSCell*, ExecState*, unsigned propertyName);
    56         JS_EXPORT_PRIVATE static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
    57         JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow);
     54        static bool deleteProperty(JSCell*, ExecState*, PropertyName);
     55        static bool deletePropertyByIndex(JSCell*, ExecState*, unsigned propertyName);
     56        static void getOwnPropertyNames(JSObject*, ExecState*, PropertyNameArray&, EnumerationMode);
     57        static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow);
    5858
    5959        DECLARE_EXPORT_INFO;
  • branches/ftlopt/Source/JavaScriptCore/runtime/Structure.h

    r169578 r169584  
    121121    static Structure* toCacheableDictionaryTransition(VM&, Structure*);
    122122    static Structure* toUncacheableDictionaryTransition(VM&, Structure*);
    123     JS_EXPORT_PRIVATE static Structure* sealTransition(VM&, Structure*);
    124     JS_EXPORT_PRIVATE static Structure* freezeTransition(VM&, Structure*);
     123    static Structure* sealTransition(VM&, Structure*);
     124    static Structure* freezeTransition(VM&, Structure*);
    125125    static Structure* preventExtensionsTransition(VM&, Structure*);
    126     JS_EXPORT_PRIVATE static Structure* nonPropertyTransition(VM&, Structure*, NonPropertyTransition);
    127 
    128     JS_EXPORT_PRIVATE bool isSealed(VM&);
    129     JS_EXPORT_PRIVATE bool isFrozen(VM&);
     126    static Structure* nonPropertyTransition(VM&, Structure*, NonPropertyTransition);
     127
     128    bool isSealed(VM&);
     129    bool isFrozen(VM&);
    130130    bool isExtensible() const { return !m_preventExtensions; }
    131131    bool didTransition() const { return m_didTransition; }
     
    479479    bool checkOffsetConsistency() const;
    480480
    481     JS_EXPORT_PRIVATE void allocateRareData(VM&);
     481    void allocateRareData(VM&);
    482482    void cloneRareDataFrom(VM&, const Structure*);
    483483
Note: See TracChangeset for help on using the changeset viewer.