Changeset 169628 in webkit
- Timestamp:
- Jun 5, 2014, 3:54:49 PM (11 years ago)
- Location:
- branches/ftlopt/Source/JavaScriptCore
- Files:
-
- 4 added
- 1 deleted
- 29 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/ftlopt/Source/JavaScriptCore/ChangeLog
r169597 r169628 1 2014-06-04 Matthew Mirman <[email protected]> 2 3 Added system for inlining native functions via the FTL. 4 https://bugs.webkit.org/show_bug.cgi?id=131515 5 6 Reviewed by Filip Pizlo. 7 8 Also fixed the build to not compress the bitcode and to 9 include all of the relevant runtime. With GCC_GENERATE_DEBUGGING_SYMBOLS = NO, 10 the produced bitcode files are a 100th the size they were before. 11 Now we can include all of the relevant runtime files with only a 3mb overhead. 12 This is the same overhead as for two compressed files before, 13 but done more efficiently (on both ends) and with less code. 14 15 Deciding whether to inline native functions is left up to LLVM. 16 The entire module containing the function is linked into the current 17 compiled JS so that inlining the native functions shouldn't make them smaller. 18 19 Rather than loading Runtime.symtbl at runtime FTLState.cpp now generates a file 20 InlineRuntimeSymbolTable.h which statically builds the symbol table hash table. 21 22 * JavaScriptCore.xcodeproj/project.pbxproj: Added back runtime files to compile. 23 * build-symbol-table-index.py: Changed bitcode suffix. 24 Added inclusion of only tested symbols. 25 Added output to InlineRuntimeSymbolTable.h. 26 * build-symbol-table-index.sh: Changed bitcode suffix. 27 * copy-llvm-ir-to-derived-sources.sh: Removed gzip compression. 28 * tested-symbols.symlst: Added. 29 * dfg/DFGByteCodeParser.cpp: 30 (JSC::DFG::ByteCodeParser::handleCall): 31 Now sets the knownFunction of the call node if such a function exists 32 and emits a check that during runtime the callee is in fact known. 33 * dfg/DFGNode.h: 34 Added functions to set the known function of a call node. 35 (JSC::DFG::Node::canBeKnownFunction): Added. 36 (JSC::DFG::Node::hasKnownFunction): Added. 37 (JSC::DFG::Node::knownFunction): Added. 38 (JSC::DFG::Node::giveKnownFunction): Added. 39 * ftl/FTLAbbreviatedTypes.h: Added a typedef for LLVMMemoryBufferRef 40 * ftl/FTLAbbreviations.h: Added some abbreviations. 41 * ftl/FTLLowerDFGToLLVM.cpp: 42 (JSC::FTL::LowerDFGToLLVM::isInlinableSize): Added. Hardcoded threshold to 275. 43 (JSC::FTL::LowerDFGToLLVM::getModuleByPathForSymbol): Added. 44 (JSC::FTL::LowerDFGToLLVM::getFunctionBySymbol): Added. 45 (JSC::FTL::LowerDFGToLLVM::possiblyCompileInlineableNativeCall): Added. 46 (JSC::FTL::LowerDFGToLLVM::compileCallOrConstruct): 47 Added call to possiblyCompileInlineableNativeCall 48 * ftl/FTLOutput.h: 49 (JSC::FTL::Output::allocaName): Added. Useful for debugging. 50 * ftl/FTLState.cpp: 51 (JSC::FTL::State::State): Added an include for InlineRuntimeSymbolTable.h 52 * ftl/FTLState.h: Added symbol table hash table. 53 * ftl/FTLCompile.cpp: 54 (JSC::FTL::compile): Added inlining and dead function elimination passes. 55 * heap/HandleStack.h: Added JS_EXPORT_PRIVATE to a few functions to get inlining to compile. 56 * llvm/InitializeLLVMMac.mm: Deleted. 57 * llvm/InitializeLLVMMac.cpp: Added. 58 * llvm/LLVMAPIFunctions.h: Added macros to include Bitcode parsing and linking functions. 59 * llvm/LLVMHeaders.h: Added includes for Bitcode parsing and linking. 60 * runtime/BundlePath.h: Added. 61 * runtime/BundlePath.mm: Added. 62 * runtime/DateInstance.h: Added JS_EXPORT_PRIVATE to a few functions to get inlining to compile. 63 * runtime/DateInstance.h: ditto. 64 * runtime/DateConversion.h: ditto. 65 * runtime/ExceptionHelpers.h: ditto. 66 * runtime/JSCJSValue.h: ditto. 67 * runtime/JSArray.h: ditto. 68 * runtime/JSDateMath.h: ditto. 69 * runtime/JSObject.h: ditto. 70 * runtime/JSObject.h: ditto. 71 * runtime/RegExp.h: ditto. 72 * runtime/Structure.h: ditto. 73 * runtime/Options.h: Added maximumLLVMInstructionCountForNativeInlining. 74 1 75 2014-06-04 Filip Pizlo <[email protected]> 2 76 -
branches/ftlopt/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r169588 r169628 480 480 0FCEFAAC1804C13E00472CE4 /* FTLSaveRestore.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAAA1804C13E00472CE4 /* FTLSaveRestore.h */; settings = {ATTRIBUTES = (Private, ); }; }; 481 481 0FCEFAB01805CA6D00472CE4 /* InitializeLLVM.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */; settings = {ATTRIBUTES = (Private, ); }; }; 482 0FCEFAB11805CA6D00472CE4 /* InitializeLLVMMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */; };483 482 0FCEFAC11805D94E00472CE4 /* LLVMOverrides.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC01805D94100472CE4 /* LLVMOverrides.cpp */; }; 484 483 0FCEFAC31805E74000472CE4 /* LLVMExports.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC21805E74000472CE4 /* LLVMExports.cpp */; }; 485 484 0FCEFACA1805E75500472CE4 /* InitializeLLVM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC41805E75500472CE4 /* InitializeLLVM.cpp */; }; 486 0FCEFACB1805E75500472CE4 /* InitializeLLVMPOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */; };487 485 0FCEFACC1805E75500472CE4 /* InitializeLLVMPOSIX.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FCEFAC61805E75500472CE4 /* InitializeLLVMPOSIX.h */; settings = {ATTRIBUTES = (Private, ); }; }; 488 486 0FCEFACD1805E75500472CE4 /* LLVMAPI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC71805E75500472CE4 /* LLVMAPI.cpp */; }; … … 831 829 451539B912DC994500EF7AC4 /* Yarr.h in Headers */ = {isa = PBXBuildFile; fileRef = 451539B812DC994500EF7AC4 /* Yarr.h */; settings = {ATTRIBUTES = (Private, ); }; }; 832 830 5510502618EB827500001F3E /* JSCallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1440F88F0A508B100005F061 /* JSCallbackFunction.h */; }; 831 552EA70C1908704800A66F2F /* JSDataViewPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66BF17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp */; }; 833 832 5540757218DA58AD00EFF7F2 /* ArgList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF605120E203EF800B9A64D /* ArgList.h */; }; 834 833 5540757318DA58AD00EFF7F2 /* Arguments.h in Headers */ = {isa = PBXBuildFile; fileRef = BC257DE60E1F51C50016B6C9 /* Arguments.h */; }; … … 1064 1063 55407A3818DA58AD00EFF7F2 /* NumberConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C20E16D4E900A06E92 /* NumberConstructor.cpp */; }; 1065 1064 55407A3A18DA58AD00EFF7F2 /* NumberPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C40E16D4E900A06E92 /* NumberPrototype.cpp */; }; 1065 556A35C8190842BC00B56747 /* SetConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299DA317D12858005F5FF9 /* SetConstructor.cpp */; }; 1066 556A35C9190842D500B56747 /* NativeErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9080E1839DB000F9297 /* NativeErrorConstructor.cpp */; }; 1067 556A35CA190842DD00B56747 /* Arguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC257DE50E1F51C50016B6C9 /* Arguments.cpp */; }; 1068 556A35CB190842E800B56747 /* ArgumentsIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A76140C9182982CB00750624 /* ArgumentsIteratorPrototype.cpp */; }; 1069 556A35CC190842F300B56747 /* ArrayIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */; }; 1070 556A35CD190842FD00B56747 /* BooleanConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952320E15EB5600A898AB /* BooleanConstructor.cpp */; }; 1071 556A35CE1908430B00B56747 /* BooleanPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952340E15EB5600A898AB /* BooleanPrototype.cpp */; }; 1072 556A35CF1908431600B56747 /* DateConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203450E17135E002C7E82 /* DateConstructor.cpp */; }; 1073 556A35D01908432000B56747 /* DatePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203470E17135E002C7E82 /* DatePrototype.cpp */; }; 1074 556A35D11908432900B56747 /* ErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */; }; 1075 556A35D21908433300B56747 /* ErrorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9060E1839DB000F9297 /* ErrorPrototype.cpp */; }; 1076 556A35D31908434300B56747 /* FunctionConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C00E16D4E900A06E92 /* FunctionConstructor.cpp */; }; 1077 556A35D41908434D00B56747 /* FunctionPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85C0255597D01FF60F7 /* FunctionPrototype.cpp */; }; 1078 556A35D51908436800B56747 /* JSArrayBufferConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B617B6B5AB00A7AE3F /* JSArrayBufferConstructor.cpp */; }; 1079 556A35D61908437500B56747 /* JSArrayBufferPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B817B6B5AB00A7AE3F /* JSArrayBufferPrototype.cpp */; }; 1080 556A35D71908438A00B56747 /* JSArrayIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */; }; 1081 556A35D81908439D00B56747 /* JSBoundFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86FA9E8F142BBB2D001773B7 /* JSBoundFunction.cpp */; }; 1082 556A35D9190843B100B56747 /* JSFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85E0255597D01FF60F7 /* JSFunction.cpp */; }; 1083 556A35DA190843C200B56747 /* JSGlobalObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC756FC60E2031B200DE7D12 /* JSGlobalObjectFunctions.cpp */; }; 1084 556A35DB190843CF00B56747 /* JSONObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */; }; 1085 556A35DC190843E700B56747 /* JSPromiseConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E2017BEE240007CB63A /* JSPromiseConstructor.cpp */; }; 1086 556A35DD190843E700B56747 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; }; 1087 556A35DE190843E700B56747 /* JSPromisePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E1C17BEE22E007CB63A /* JSPromisePrototype.cpp */; }; 1088 556A35DF190843F300B56747 /* ConsolePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A53CE08118BC1A5600BEDF76 /* ConsolePrototype.cpp */; }; 1089 556A35E01908441D00B56747 /* MapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873717CBE85300C3E643 /* MapConstructor.cpp */; }; 1090 556A35E11908441D00B56747 /* MapIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A74DEF8D182D991400522C22 /* MapIteratorPrototype.cpp */; }; 1091 556A35E21908441D00B56747 /* MapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873B17CBE8D300C3E643 /* MapPrototype.cpp */; }; 1092 556A35E31908442A00B56747 /* MathObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A86A0255597D01FF60F7 /* MathObject.cpp */; }; 1093 556A35E41908443700B56747 /* NameConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2F91560F036008E9222 /* NameConstructor.cpp */; }; 1094 556A35E51908443700B56747 /* NamePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2FD1560F036008E9222 /* NamePrototype.cpp */; }; 1095 556A35E61908444900B56747 /* ObjectConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C60E16D4E900A06E92 /* ObjectConstructor.cpp */; }; 1096 556A35E71908444900B56747 /* ObjectPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C80E16D4E900A06E92 /* ObjectPrototype.cpp */; }; 1097 556A35E81908448000B56747 /* RegExpConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BD0E1706A7002C7E82 /* RegExpConstructor.cpp */; }; 1098 556A35E91908448000B56747 /* RegExpPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BF0E1706A7002C7E82 /* RegExpPrototype.cpp */; }; 1099 556A35EA190844A000B56747 /* SetIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A790DD67182F499700588807 /* SetIteratorPrototype.cpp */; }; 1100 556A35EB190844A000B56747 /* SetPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299D9F17D12848005F5FF9 /* SetPrototype.cpp */; }; 1101 556A35EC190844AA00B56747 /* StringConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C00E16EE3300B34460 /* StringConstructor.cpp */; }; 1102 556A35ED190844B500B56747 /* WeakMapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADD17DA41AE006538AF /* WeakMapConstructor.cpp */; }; 1103 556A35EE190844C000B56747 /* WeakMapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADF17DA41AE006538AF /* WeakMapPrototype.cpp */; }; 1104 55A04E211908653D0024E40C /* StringPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C50E16EE3300B34460 /* StringPrototype.cpp */; }; 1066 1105 5D53726F0E1C54880021E549 /* Tracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D53726E0E1C54880021E549 /* Tracing.h */; }; 1067 1106 5D5D8AD10E0D0EBE00F9C692 /* libedit.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 5D5D8AD00E0D0EBE00F9C692 /* libedit.dylib */; }; … … 1237 1276 99E45A2718A1B2590026D88F /* InputCursor.h in Headers */ = {isa = PBXBuildFile; fileRef = 99E45A2218A1B2590026D88F /* InputCursor.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1238 1277 99E45A2818A1B2590026D88F /* NondeterministicInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 99E45A2318A1B2590026D88F /* NondeterministicInput.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1278 9E729407190F01A5001A91B5 /* InitializeThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E178636C0D9BEEC300D74E75 /* InitializeThreading.cpp */; }; 1279 9E729408190F021E001A91B5 /* InitializeLLVMPOSIX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */; }; 1280 9E72940B190F0514001A91B5 /* BundlePath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9E72940A190F0514001A91B5 /* BundlePath.h */; }; 1281 9E8791E0193FB6800076CA78 /* Arguments.h in Headers */ = {isa = PBXBuildFile; fileRef = BC257DE60E1F51C50016B6C9 /* Arguments.h */; }; 1282 9E8791E1193FB6800076CA78 /* ArgumentsIteratorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A76140C8182982CB00750624 /* ArgumentsIteratorConstructor.h */; }; 1283 9E8791E2193FB6800076CA78 /* ArgumentsIteratorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A76140CA182982CB00750624 /* ArgumentsIteratorPrototype.h */; }; 1284 9E8791E3193FB6800076CA78 /* ArrayConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC7952070E15E8A800A898AB /* ArrayConstructor.h */; }; 1285 9E8791E4193FB6800076CA78 /* ArrayIteratorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BDAEC117F4EA1400F6140C /* ArrayIteratorConstructor.h */; }; 1286 9E8791E5193FB6800076CA78 /* ArrayIteratorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BDAEC317F4EA1400F6140C /* ArrayIteratorPrototype.h */; }; 1287 9E8791E6193FB6800076CA78 /* BatchedTransitionOptimizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 147B83AA0E6DB8C9004775A4 /* BatchedTransitionOptimizer.h */; }; 1288 9E8791E7193FB6800076CA78 /* BigInteger.h in Headers */ = {isa = PBXBuildFile; fileRef = 866739D013BFDE710023D87C /* BigInteger.h */; }; 1289 9E8791E8193FB6800076CA78 /* CommonSlowPathsExceptions.h in Headers */ = {isa = PBXBuildFile; fileRef = 6553A33017A1F1EE008CF6F3 /* CommonSlowPathsExceptions.h */; }; 1290 9E8791E9193FB6800076CA78 /* JSConsole.h in Headers */ = {isa = PBXBuildFile; fileRef = A53CE08418BC1A5600BEDF76 /* JSConsole.h */; }; 1291 9E8791EA193FB6800076CA78 /* DateConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD203460E17135E002C7E82 /* DateConstructor.h */; }; 1292 9E8791EB193FB6800076CA78 /* DateConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = D21202290AD4310C00ED79B6 /* DateConversion.h */; }; 1293 9E8791EC193FB6800076CA78 /* DatePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD203480E17135E002C7E82 /* DatePrototype.h */; }; 1294 9E8791ED193FB6800076CA78 /* ErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9050E1839DB000F9297 /* ErrorConstructor.h */; }; 1295 9E8791EE193FB6800076CA78 /* ConsolePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A53CE08218BC1A5600BEDF76 /* ConsolePrototype.h */; }; 1296 9E8791EF193FB6800076CA78 /* JSActivation.h in Headers */ = {isa = PBXBuildFile; fileRef = 14DA818E0D99FD2000B0A4FB /* JSActivation.h */; settings = {ATTRIBUTES = (); }; }; 1297 9E8791F0193FB6800076CA78 /* JSArgumentsIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A76140CC182982CB00750624 /* JSArgumentsIterator.h */; }; 1298 9E8791F1193FB6800076CA78 /* JSArrayIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A7BDAEC517F4EA1400F6140C /* JSArrayIterator.h */; }; 1299 9E8791F2193FB6800076CA78 /* (null) in Headers */ = {isa = PBXBuildFile; }; 1300 9E8791F3193FB6800076CA78 /* JSGlobalObjectDebuggable.h in Headers */ = {isa = PBXBuildFile; fileRef = A59455911824744700CC3843 /* JSGlobalObjectDebuggable.h */; }; 1301 9E8791F4193FB6800076CA78 /* JSGlobalObjectFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = BC756FC70E2031B200DE7D12 /* JSGlobalObjectFunctions.h */; }; 1302 9E8791F5193FB6800076CA78 /* JSMapIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A74DEF90182D991400522C22 /* JSMapIterator.h */; }; 1303 9E8791F6193FB6800076CA78 /* JSPromiseConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C184E2117BEE240007CB63A /* JSPromiseConstructor.h */; }; 1304 9E8791F7193FB6800076CA78 /* JSPromisePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C184E1D17BEE22E007CB63A /* JSPromisePrototype.h */; }; 1305 9E8791F8193FB6800076CA78 /* JSPromiseReaction.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CDD1871258D00955C24 /* JSPromiseReaction.h */; }; 1306 9E8791F9193FB6800076CA78 /* JSSetIterator.h in Headers */ = {isa = PBXBuildFile; fileRef = A790DD6A182F499700588807 /* JSSetIterator.h */; }; 1307 9E8791FA193FB6800076CA78 /* JSStackInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = A7C1EAEB17987AB600299DB2 /* JSStackInlines.h */; }; 1308 9E8791FB193FB6800076CA78 /* JSStringBuilder.h in Headers */ = {isa = PBXBuildFile; fileRef = 86E85538111B9968001AF51E /* JSStringBuilder.h */; }; 1309 9E8791FC193FB6800076CA78 /* JSStringJoiner.h in Headers */ = {isa = PBXBuildFile; fileRef = 2600B5A5152BAAA70091EE5F /* JSStringJoiner.h */; }; 1310 9E8791FD193FB6800076CA78 /* JSWeakMap.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AE217DA41AE006538AF /* JSWeakMap.h */; }; 1311 9E8791FE193FB6800076CA78 /* LiteralParser.h in Headers */ = {isa = PBXBuildFile; fileRef = A7E2EA690FB460CF00601F06 /* LiteralParser.h */; }; 1312 9E8791FF193FB6800076CA78 /* MapConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A700873817CBE85300C3E643 /* MapConstructor.h */; }; 1313 9E879200193FB6800076CA78 /* MapIteratorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A74DEF8C182D991400522C22 /* MapIteratorConstructor.h */; }; 1314 9E879201193FB6800076CA78 /* MapIteratorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A74DEF8E182D991400522C22 /* MapIteratorPrototype.h */; }; 1315 9E879202193FB6800076CA78 /* MapPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A700873C17CBE8D300C3E643 /* MapPrototype.h */; }; 1316 9E879203193FB6800076CA78 /* NameConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 86EBF2FA1560F036008E9222 /* NameConstructor.h */; }; 1317 9E879204193FB6800076CA78 /* NameInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = 86EBF2FC1560F036008E9222 /* NameInstance.h */; }; 1318 9E879205193FB6800076CA78 /* NamePrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 86EBF2FE1560F036008E9222 /* NamePrototype.h */; }; 1319 9E879206193FB6800076CA78 /* NativeErrorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9090E1839DB000F9297 /* NativeErrorConstructor.h */; }; 1320 9E879207193FB6800076CA78 /* NativeErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E90B0E1839DB000F9297 /* NativeErrorPrototype.h */; }; 1321 9E879208193FB6800076CA78 /* NumberConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2680C30E16D4E900A06E92 /* NumberConstructor.h */; }; 1322 9E879209193FB6800076CA78 /* StructureIDBlob.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AAAA31018BD49D100394CC8 /* StructureIDBlob.h */; }; 1323 9E87920A193FB6800076CA78 /* ArrayBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2617ADB5F3005AB174 /* ArrayBuffer.h */; }; 1324 9E87920B193FB6800076CA78 /* ArrayBufferNeuteringWatchpoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FFC99D3184EE318009C10AB /* ArrayBufferNeuteringWatchpoint.h */; }; 1325 9E87920C193FB6800076CA78 /* ArrayBufferView.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2817ADB5F3005AB174 /* ArrayBufferView.h */; }; 1326 9E87920D193FB6800076CA78 /* ArrayConventions.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38915ED8E3800F167B2 /* ArrayConventions.h */; }; 1327 9E87920E193FB6800076CA78 /* ArrayPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A84E0255597D01FF60F7 /* ArrayPrototype.h */; }; 1328 9E87920F193FB6800076CA78 /* StructureIDTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AF7382B18BBBF92008A5A37 /* StructureIDTable.h */; }; 1329 9E879210193FB6800076CA78 /* ArrayStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38A15ED8E3800F167B2 /* ArrayStorage.h */; }; 1330 9E879211193FB6800076CA78 /* BooleanObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 704FD35305697E6D003DBED9 /* BooleanObject.h */; }; 1331 9E879212193FB6800076CA78 /* Butterfly.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38B15ED8E3800F167B2 /* Butterfly.h */; }; 1332 9E879213193FB6800076CA78 /* ButterflyInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38C15ED8E3800F167B2 /* ButterflyInlines.h */; }; 1333 9E879214193FB6800076CA78 /* CallData.h in Headers */ = {isa = PBXBuildFile; fileRef = 145C507F0D9DF63B0088F6B9 /* CallData.h */; }; 1334 9E879215193FB6800076CA78 /* ClassInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = BC6AAAE40E1F426500AD87D8 /* ClassInfo.h */; }; 1335 9E879216193FB6800076CA78 /* CodeCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A77F1820164088B200640A47 /* CodeCache.h */; }; 1336 9E879217193FB6800076CA78 /* CodeSpecializationKind.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F21C27914BE727300ADC64B /* CodeSpecializationKind.h */; }; 1337 9E879218193FB6800076CA78 /* CommonIdentifiers.h in Headers */ = {isa = PBXBuildFile; fileRef = 65EA73630BAE35D1001BB560 /* CommonIdentifiers.h */; }; 1338 9E879219193FB6800076CA78 /* CommonSlowPaths.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F15F15D14B7A73A005DE37D /* CommonSlowPaths.h */; }; 1339 9E87921A193FB6800076CA78 /* CompilationResult.h in Headers */ = {isa = PBXBuildFile; fileRef = A7E5A3A61797432D00E893C0 /* CompilationResult.h */; }; 1340 9E87921B193FB6800076CA78 /* Completion.h in Headers */ = {isa = PBXBuildFile; fileRef = F5BB2BC5030F772101FCFE1D /* Completion.h */; }; 1341 9E87921C193FB6800076CA78 /* ConcurrentJITLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FDB2CE9174896C7007B3C1B /* ConcurrentJITLock.h */; }; 1342 9E87921D193FB6800076CA78 /* ConsoleTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = A5FD0071189B038C00633231 /* ConsoleTypes.h */; }; 1343 9E87921E193FB6800076CA78 /* ConstantMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FFC99D0184EC8AD009C10AB /* ConstantMode.h */; }; 1344 9E87921F193FB6800076CA78 /* ConstructData.h in Headers */ = {isa = PBXBuildFile; fileRef = BC8F3CCF0DAF17BA00577A80 /* ConstructData.h */; }; 1345 9E879220193FB6800076CA78 /* DataView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B117B6B5AB00A7AE3F /* DataView.h */; }; 1346 9E879221193FB6800076CA78 /* DateInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1166010E1997B1008066DD /* DateInstance.h */; }; 1347 9E879222193FB6800076CA78 /* DateInstanceCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A1563010966365006FA260 /* DateInstanceCache.h */; }; 1348 9E879223193FB6800076CA78 /* Debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8590255597D01FF60F7 /* Debugger.h */; }; 1349 9E879224193FB6800076CA78 /* DumpContext.h in Headers */ = {isa = PBXBuildFile; fileRef = A70447EC17A0BD7000F5898E /* DumpContext.h */; }; 1350 9E879225193FB6800076CA78 /* Error.h in Headers */ = {isa = PBXBuildFile; fileRef = BC3046060E1F497F003232CF /* Error.h */; }; 1351 9E879226193FB6800076CA78 /* ErrorHandlingScope.h in Headers */ = {isa = PBXBuildFile; fileRef = FEB58C13187B8B160098EF0B /* ErrorHandlingScope.h */; }; 1352 9E879227193FB6800076CA78 /* ErrorInstance.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E98B0E183E38000F9297 /* ErrorInstance.h */; }; 1353 9E879228193FB6800076CA78 /* ErrorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC02E9070E1839DB000F9297 /* ErrorPrototype.h */; }; 1354 9E879229193FB6800076CA78 /* ExceptionHelpers.h in Headers */ = {isa = PBXBuildFile; fileRef = A72701B30DADE94900E548D7 /* ExceptionHelpers.h */; }; 1355 9E87922A193FB6800076CA78 /* Executable.h in Headers */ = {isa = PBXBuildFile; fileRef = 86CAFEE21035DDE60028A609 /* Executable.h */; }; 1356 9E87922B193FB6800076CA78 /* Float32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2917ADB5F3005AB174 /* Float32Array.h */; }; 1357 9E87922C193FB6800076CA78 /* Float64Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2A17ADB5F3005AB174 /* Float64Array.h */; }; 1358 9E87922D193FB6800076CA78 /* ConsoleClient.h in Headers */ = {isa = PBXBuildFile; fileRef = A53CE08918BC21C300BEDF76 /* ConsoleClient.h */; }; 1359 9E87922E193FB6800076CA78 /* FunctionConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2680C10E16D4E900A06E92 /* FunctionConstructor.h */; }; 1360 9E87922F193FB6800076CA78 /* FunctionExecutableDump.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB4B52216B6278D003F696B /* FunctionExecutableDump.h */; }; 1361 9E879230193FB6800076CA78 /* FunctionPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A85D0255597D01FF60F7 /* FunctionPrototype.h */; }; 1362 9E879231193FB6800076CA78 /* GenericTypedArrayView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B217B6B5AB00A7AE3F /* GenericTypedArrayView.h */; }; 1363 9E879232193FB6800076CA78 /* GenericTypedArrayViewInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B317B6B5AB00A7AE3F /* GenericTypedArrayViewInlines.h */; }; 1364 9E879233193FB6800076CA78 /* Identifier.h in Headers */ = {isa = PBXBuildFile; fileRef = 933A349A038AE7C6008635CE /* Identifier.h */; }; 1365 9E879234193FB6800076CA78 /* IndexingHeader.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38D15ED8E3800F167B2 /* IndexingHeader.h */; }; 1366 9E879235193FB6800076CA78 /* IndexingHeaderInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38E15ED8E3800F167B2 /* IndexingHeaderInlines.h */; }; 1367 9E879236193FB6800076CA78 /* IndexingType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F38F15ED8E3800F167B2 /* IndexingType.h */; }; 1368 9E879237193FB6800076CA78 /* InitializeThreading.h in Headers */ = {isa = PBXBuildFile; fileRef = E178633F0D9BEC0000D74E75 /* InitializeThreading.h */; }; 1369 9E879238193FB6800076CA78 /* Int16Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2C17ADB5F3005AB174 /* Int16Array.h */; }; 1370 9E879239193FB6800076CA78 /* Int32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2D17ADB5F3005AB174 /* Int32Array.h */; }; 1371 9E87923A193FB6800076CA78 /* Int8Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF2B17ADB5F3005AB174 /* Int8Array.h */; }; 1372 9E87923B193FB6800076CA78 /* IntendedStructureChain.h in Headers */ = {isa = PBXBuildFile; fileRef = A78853F817972629001440E4 /* IntendedStructureChain.h */; }; 1373 9E87923C193FB6800076CA78 /* InternalFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = BC11667A0E199C05008066DD /* InternalFunction.h */; }; 1374 9E87923D193FB6800076CA78 /* Intrinsic.h in Headers */ = {isa = PBXBuildFile; fileRef = 86BF642A148DB2B5004DE36A /* Intrinsic.h */; }; 1375 9E87923E193FB6800076CA78 /* JSAPIValueWrapper.h in Headers */ = {isa = PBXBuildFile; fileRef = BC0894D60FAFBA2D00001865 /* JSAPIValueWrapper.h */; }; 1376 9E87923F193FB6800076CA78 /* JSArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 938772E5038BFE19008635CE /* JSArray.h */; }; 1377 9E879240193FB6800076CA78 /* JSArrayBuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B517B6B5AB00A7AE3F /* JSArrayBuffer.h */; }; 1378 9E879241193FB6800076CA78 /* JSArrayBufferConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B717B6B5AB00A7AE3F /* JSArrayBufferConstructor.h */; }; 1379 9E879242193FB6800076CA78 /* JSArrayBufferPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66B917B6B5AB00A7AE3F /* JSArrayBufferPrototype.h */; }; 1380 9E879243193FB6800076CA78 /* JSArrayBufferView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66BB17B6B5AB00A7AE3F /* JSArrayBufferView.h */; }; 1381 9E879244193FB6800076CA78 /* JSArrayBufferViewInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66BC17B6B5AB00A7AE3F /* JSArrayBufferViewInlines.h */; }; 1382 9E879245193FB6800076CA78 /* JSCell.h in Headers */ = {isa = PBXBuildFile; fileRef = BC1167D80E19BCC9008066DD /* JSCell.h */; }; 1383 9E879246193FB6800076CA78 /* JSCellInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F97496F1687ADE200A4FF6A /* JSCellInlines.h */; }; 1384 9E879247193FB6800076CA78 /* JSCInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F1DD84918A945BE0026F3FA /* JSCInlines.h */; }; 1385 9E879248193FB6800076CA78 /* JSCJSValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB36E099C076400E2A24F /* JSCJSValue.h */; }; 1386 9E879249193FB6800076CA78 /* JSCJSValueInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 865A30F0135007E100CDB49E /* JSCJSValueInlines.h */; }; 1387 9E87924A193FB6800076CA78 /* JSDataView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66BE17B6B5AB00A7AE3F /* JSDataView.h */; }; 1388 9E87924B193FB6800076CA78 /* JSDataViewPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C017B6B5AB00A7AE3F /* JSDataViewPrototype.h */; }; 1389 9E87924C193FB6800076CA78 /* JSDateMath.h in Headers */ = {isa = PBXBuildFile; fileRef = 9788FC231471AD0C0068CE2D /* JSDateMath.h */; }; 1390 9E87924D193FB6800076CA78 /* JSDestructibleObject.h in Headers */ = {isa = PBXBuildFile; fileRef = C2A7F687160432D400F76B98 /* JSDestructibleObject.h */; }; 1391 9E87924E193FB6800076CA78 /* JSExportMacros.h in Headers */ = {isa = PBXBuildFile; fileRef = A7B4ACAE1484C9CE00B38A36 /* JSExportMacros.h */; }; 1392 9E87924F193FB6800076CA78 /* JSFloat32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C117B6B5AB00A7AE3F /* JSFloat32Array.h */; }; 1393 9E879250193FB6800076CA78 /* JSFloat64Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C217B6B5AB00A7AE3F /* JSFloat64Array.h */; }; 1394 9E879251193FB6800076CA78 /* JSFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A85F0255597D01FF60F7 /* JSFunction.h */; }; 1395 9E879252193FB6800076CA78 /* JSFunctionInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = A72028B91797603D0098028C /* JSFunctionInlines.h */; }; 1396 9E879253193FB6800076CA78 /* JSGenericTypedArrayView.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C317B6B5AB00A7AE3F /* JSGenericTypedArrayView.h */; }; 1397 9E879254193FB6800076CA78 /* JSGenericTypedArrayViewConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C417B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructor.h */; }; 1398 9E879255193FB6800076CA78 /* JSGenericTypedArrayViewConstructorInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C517B6B5AB00A7AE3F /* JSGenericTypedArrayViewConstructorInlines.h */; }; 1399 9E879256193FB6800076CA78 /* JSGenericTypedArrayViewInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C617B6B5AB00A7AE3F /* JSGenericTypedArrayViewInlines.h */; }; 1400 9E879257193FB6800076CA78 /* JSGenericTypedArrayViewPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C717B6B5AB00A7AE3F /* JSGenericTypedArrayViewPrototype.h */; }; 1401 9E879258193FB6800076CA78 /* JSGenericTypedArrayViewPrototypeInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C817B6B5AB00A7AE3F /* JSGenericTypedArrayViewPrototypeInlines.h */; }; 1402 9E879259193FB6800076CA78 /* JSGlobalObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A8E894330CD0603F00367179 /* JSGlobalObject.h */; }; 1403 9E87925A193FB6800076CA78 /* JSInt16Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66CA17B6B5AB00A7AE3F /* JSInt16Array.h */; }; 1404 9E87925B193FB6800076CA78 /* JSInt32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66CB17B6B5AB00A7AE3F /* JSInt32Array.h */; }; 1405 9E87925C193FB6800076CA78 /* JSInt8Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66C917B6B5AB00A7AE3F /* JSInt8Array.h */; }; 1406 9E87925D193FB6800076CA78 /* JSLock.h in Headers */ = {isa = PBXBuildFile; fileRef = 65EA4C9A092AF9E20093D800 /* JSLock.h */; }; 1407 9E87925E193FB6800076CA78 /* JSMap.h in Headers */ = {isa = PBXBuildFile; fileRef = A700874017CBE8EB00C3E643 /* JSMap.h */; }; 1408 9E87925F193FB6800076CA78 /* JSNameScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 14874AE015EBDE4A002E3587 /* JSNameScope.h */; }; 1409 9E879260193FB6800076CA78 /* JSObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BC22A3990E16E14800AF21C8 /* JSObject.h */; }; 1410 9E879261193FB6800076CA78 /* JSONObject.h in Headers */ = {isa = PBXBuildFile; fileRef = A7F9935D0FD7325100A0B2D0 /* JSONObject.h */; }; 1411 9E879262193FB6800076CA78 /* JSPromise.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C184E1917BEDBD3007CB63A /* JSPromise.h */; }; 1412 9E879263193FB6800076CA78 /* JSPromiseDeferred.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD9187124BB00955C24 /* JSPromiseDeferred.h */; }; 1413 9E879264193FB6800076CA78 /* JSPromiseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */; }; 1414 9E879265193FB6800076CA78 /* JSProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 862553CF16136AA5009F17D0 /* JSProxy.h */; }; 1415 9E879266193FB6800076CA78 /* JSScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 14874AE215EBDE4A002E3587 /* JSScope.h */; }; 1416 9E879267193FB6800076CA78 /* JSSegmentedVariableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F919D0F157F3327004A4E7D /* JSSegmentedVariableObject.h */; }; 1417 9E879268193FB6800076CA78 /* JSSet.h in Headers */ = {isa = PBXBuildFile; fileRef = A7299D9C17D12837005F5FF9 /* JSSet.h */; }; 1418 9E879269193FB6800076CA78 /* JSString.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8620255597D01FF60F7 /* JSString.h */; }; 1419 9E87926A193FB6800076CA78 /* JSSymbolTableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F919D0A157EE09D004A4E7D /* JSSymbolTableObject.h */; }; 1420 9E87926B193FB6800076CA78 /* JSType.h in Headers */ = {isa = PBXBuildFile; fileRef = 14ABB454099C2A0F00E2A24F /* JSType.h */; }; 1421 9E87926C193FB6800076CA78 /* JSTypedArrayConstructors.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66CD17B6B5AB00A7AE3F /* JSTypedArrayConstructors.h */; }; 1422 9E87926D193FB6800076CA78 /* JSTypedArrayPrototypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66CF17B6B5AB00A7AE3F /* JSTypedArrayPrototypes.h */; }; 1423 9E87926E193FB6800076CA78 /* JSTypedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D117B6B5AB00A7AE3F /* JSTypedArrays.h */; }; 1424 9E87926F193FB6800076CA78 /* JSTypeInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 6507D2970E871E4A00D7D896 /* JSTypeInfo.h */; }; 1425 9E879270193FB6800076CA78 /* JSUint16Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D417B6B5AB00A7AE3F /* JSUint16Array.h */; }; 1426 9E879271193FB6800076CA78 /* JSUint32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D517B6B5AB00A7AE3F /* JSUint32Array.h */; }; 1427 9E879272193FB6800076CA78 /* JSUint8Array.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D217B6B5AB00A7AE3F /* JSUint8Array.h */; }; 1428 9E879273193FB6800076CA78 /* JSUint8ClampedArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D317B6B5AB00A7AE3F /* JSUint8ClampedArray.h */; }; 1429 9E879274193FB6800076CA78 /* JSVariableObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 14F252560D08DD8D004ECFFF /* JSVariableObject.h */; }; 1430 9E879275193FB6800076CA78 /* JSWithScope.h in Headers */ = {isa = PBXBuildFile; fileRef = 1442566015EDE98D0066A49B /* JSWithScope.h */; }; 1431 9E879276193FB6800076CA78 /* JSWrapperObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C7A1720A8EAACB00FA37EA /* JSWrapperObject.h */; }; 1432 9E879277193FB6800076CA78 /* Lookup.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8690255597D01FF60F7 /* Lookup.h */; }; 1433 9E879278193FB6800076CA78 /* MapData.h in Headers */ = {isa = PBXBuildFile; fileRef = A78507D517CBC6FD0011F6E7 /* MapData.h */; }; 1434 9E879279193FB6800076CA78 /* MatchResult.h in Headers */ = {isa = PBXBuildFile; fileRef = 8612E4CB1522918400C836BE /* MatchResult.h */; }; 1435 9E87927A193FB6800076CA78 /* MathObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A86B0255597D01FF60F7 /* MathObject.h */; }; 1436 9E87927B193FB6800076CA78 /* MemoryStatistics.h in Headers */ = {isa = PBXBuildFile; fileRef = 90213E3C123A40C200D422F3 /* MemoryStatistics.h */; }; 1437 9E87927C193FB6800076CA78 /* Microtask.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CE5187631B600955C24 /* Microtask.h */; }; 1438 9E87927D193FB6800076CA78 /* NumberObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8710255597D01FF60F7 /* NumberObject.h */; }; 1439 9E87927E193FB6800076CA78 /* NumberPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2680C50E16D4E900A06E92 /* NumberPrototype.h */; }; 1440 9E87927F193FB6800076CA78 /* NumericStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 142D3938103E4560007DCB52 /* NumericStrings.h */; }; 1441 9E879280193FB6800076CA78 /* ObjectConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2680C70E16D4E900A06E92 /* ObjectConstructor.h */; }; 1442 9E879281193FB6800076CA78 /* ObjectPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC2680C90E16D4E900A06E92 /* ObjectPrototype.h */; }; 1443 9E879282193FB6800076CA78 /* Operations.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A8780255597D01FF60F7 /* Operations.h */; }; 1444 9E879283193FB6800076CA78 /* Options.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FE228EB1436AB2300196C48 /* Options.h */; }; 1445 9E879284193FB6800076CA78 /* PrivateName.h in Headers */ = {isa = PBXBuildFile; fileRef = 868916A9155F285400CB2B9A /* PrivateName.h */; }; 1446 9E879285193FB6800076CA78 /* PropertyDescriptor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7FB604B103F5EAB0017A286 /* PropertyDescriptor.h */; }; 1447 9E879286193FB6800076CA78 /* PropertyMapHashTable.h in Headers */ = {isa = PBXBuildFile; fileRef = BC95437C0EBA70FD0072B6D3 /* PropertyMapHashTable.h */; }; 1448 9E879287193FB6800076CA78 /* PropertyName.h in Headers */ = {isa = PBXBuildFile; fileRef = 86158AB2155C8B3F00B45C9C /* PropertyName.h */; }; 1449 9E879288193FB6800076CA78 /* PropertyNameArray.h in Headers */ = {isa = PBXBuildFile; fileRef = 65400C100A69BAF200509887 /* PropertyNameArray.h */; }; 1450 9E879289193FB6800076CA78 /* PropertyOffset.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FF7168A15A3B231008F5DAA /* PropertyOffset.h */; }; 1451 9E87928A193FB6800076CA78 /* PropertySlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 65621E6C089E859700760F35 /* PropertySlot.h */; }; 1452 9E87928B193FB6800076CA78 /* PropertyStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F39015ED8E3800F167B2 /* PropertyStorage.h */; }; 1453 9E87928C193FB6800076CA78 /* Protect.h in Headers */ = {isa = PBXBuildFile; fileRef = 65C02FBB0637462A003E7EE6 /* Protect.h */; }; 1454 9E87928D193FB6800076CA78 /* PrototypeMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 14D844A316AA2C7000A65AF0 /* PrototypeMap.h */; }; 1455 9E87928E193FB6800076CA78 /* PutDirectIndexMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F0CD4C015F1A6040032F1C0 /* PutDirectIndexMode.h */; }; 1456 9E87928F193FB6800076CA78 /* PutPropertySlot.h in Headers */ = {isa = PBXBuildFile; fileRef = 147B84620E6DE6B1004775A4 /* PutPropertySlot.h */; }; 1457 9E879290193FB6800076CA78 /* RegExp.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A87E0255597D01FF60F7 /* RegExp.h */; }; 1458 9E879291193FB6800076CA78 /* RegExpCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B3E11C7B228007A5315 /* RegExpCache.h */; }; 1459 9E879292193FB6800076CA78 /* RegExpKey.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B4011C7B235007A5315 /* RegExpKey.h */; }; 1460 9E879293193FB6800076CA78 /* RegExpObject.h in Headers */ = {isa = PBXBuildFile; fileRef = F692A87C0255597D01FF60F7 /* RegExpObject.h */; }; 1461 9E879294193FB6800076CA78 /* RegisterPreservationMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6B1CB81861244C00845D97 /* RegisterPreservationMode.h */; }; 1462 9E879295193FB6800076CA78 /* Reject.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F39115ED8E3800F167B2 /* Reject.h */; }; 1463 9E879296193FB6800076CA78 /* SamplingCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F77008E1402FDD60078EB39 /* SamplingCounter.h */; }; 1464 9E879297193FB6800076CA78 /* SimpleTypedArrayController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D717B6B5AB00A7AE3F /* SimpleTypedArrayController.h */; }; 1465 9E879298193FB6800076CA78 /* SmallStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = 93303FEA0E6A72C000786E6A /* SmallStrings.h */; }; 1466 9E879299193FB6800076CA78 /* SparseArrayValueMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FB7F39215ED8E3800F167B2 /* SparseArrayValueMap.h */; }; 1467 9E87929A193FB6800076CA78 /* StackAlignment.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F3AC751183EA1040032029F /* StackAlignment.h */; }; 1468 9E87929B193FB6800076CA78 /* StringObject.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C30E16EE3300B34460 /* StringObject.h */; }; 1469 9E87929C193FB6800076CA78 /* StringPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C60E16EE3300B34460 /* StringPrototype.h */; }; 1470 9E87929D193FB6800076CA78 /* Structure.h in Headers */ = {isa = PBXBuildFile; fileRef = BCDE3AB10E6C82CF001453A7 /* Structure.h */; }; 1471 9E87929E193FB6800076CA78 /* StructureChain.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E4EE7080EBB7963005934AA /* StructureChain.h */; }; 1472 9E87929F193FB6800076CA78 /* StructureInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FD2C92316D01EE900C7803F /* StructureInlines.h */; }; 1473 9E8792A0193FB6800076CA78 /* StructureRareData.h in Headers */ = {isa = PBXBuildFile; fileRef = C2FE18A316BAEC4000AF3061 /* StructureRareData.h */; }; 1474 9E8792A1193FB6800076CA78 /* StructureRareDataInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = C20BA92C16BB1C1500B3AEA2 /* StructureRareDataInlines.h */; }; 1475 9E8792A2193FB6800076CA78 /* StructureTransitionTable.h in Headers */ = {isa = PBXBuildFile; fileRef = BC9041470EB9250900FE26FA /* StructureTransitionTable.h */; }; 1476 9E8792A3193FB6800076CA78 /* SymbolTable.h in Headers */ = {isa = PBXBuildFile; fileRef = 14A396A60CD2933100B5B4FF /* SymbolTable.h */; }; 1477 9E8792A4193FB6800076CA78 /* TestRunnerUtils.h in Headers */ = {isa = PBXBuildFile; fileRef = 0FA2C17A17D7CF84009D015F /* TestRunnerUtils.h */; }; 1478 9E8792A5193FB6800076CA78 /* ToNativeFromValue.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F55989717C86C5600A1E543 /* ToNativeFromValue.h */; }; 1479 9E8792A6193FB6800076CA78 /* TypedArrayAdaptors.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66D817B6B5AB00A7AE3F /* TypedArrayAdaptors.h */; }; 1480 9E8792A7193FB6800076CA78 /* TypedArrayController.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66DA17B6B5AB00A7AE3F /* TypedArrayController.h */; }; 1481 9E8792A8193FB6800076CA78 /* TypedArrayInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4B94DB17B9F07500DD03A4 /* TypedArrayInlines.h */; }; 1482 9E8792A9193FB6800076CA78 /* TypedArrays.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66DB17B6B5AB00A7AE3F /* TypedArrays.h */; }; 1483 9E8792AA193FB6800076CA78 /* TypedArrayType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F2B66DD17B6B5AB00A7AE3F /* TypedArrayType.h */; }; 1484 9E8792AB193FB6800076CA78 /* Uint16Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3217ADB5F3005AB174 /* Uint16Array.h */; }; 1485 9E8792AC193FB6800076CA78 /* Uint32Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3317ADB5F3005AB174 /* Uint32Array.h */; }; 1486 9E8792AD193FB6800076CA78 /* Uint8Array.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3017ADB5F3005AB174 /* Uint8Array.h */; }; 1487 9E8792AE193FB6800076CA78 /* Uint8ClampedArray.h in Headers */ = {isa = PBXBuildFile; fileRef = A7A8AF3117ADB5F3005AB174 /* Uint8ClampedArray.h */; }; 1488 9E8792AF193FB6800076CA78 /* VM.h in Headers */ = {isa = PBXBuildFile; fileRef = E18E3A560DF9278C00D90B34 /* VM.h */; }; 1489 9E8792B0193FB6800076CA78 /* VMEntryScope.h in Headers */ = {isa = PBXBuildFile; fileRef = FE5932A6183C5A2600A1ECCC /* VMEntryScope.h */; }; 1490 9E8792B1193FB6800076CA78 /* Watchdog.h in Headers */ = {isa = PBXBuildFile; fileRef = FED94F2C171E3E2300BE77A4 /* Watchdog.h */; }; 1491 9E8792B2193FB6800076CA78 /* WeakGCMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 14BFCE6810CDB1FC00364CCE /* WeakGCMap.h */; }; 1492 9E8792B3193FB6800076CA78 /* WeakRandom.h in Headers */ = {isa = PBXBuildFile; fileRef = 1420BE7A10AA6DDB00F455D2 /* WeakRandom.h */; }; 1493 9E8792B4193FB6800076CA78 /* WriteBarrier.h in Headers */ = {isa = PBXBuildFile; fileRef = A7DCB77912E3D90500911940 /* WriteBarrier.h */; }; 1494 9E8792B5193FB6800076CA78 /* WriteBarrierInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = C2B6D75218A33793004A9301 /* WriteBarrierInlines.h */; }; 1495 9E8792B6193FB6800076CA78 /* ArityCheckMode.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F6B1CB71861244C00845D97 /* ArityCheckMode.h */; }; 1496 9E8792B7193FB6800076CA78 /* ArgList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCF605120E203EF800B9A64D /* ArgList.h */; }; 1497 9E8792B8193FB6800076CA78 /* JSCallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 1440F88F0A508B100005F061 /* JSCallbackFunction.h */; }; 1498 9E8792B9193FB6800076CA78 /* RegExpConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD202BE0E1706A7002C7E82 /* RegExpConstructor.h */; }; 1499 9E8792BA193FB6800076CA78 /* RegExpPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = BCD202C00E1706A7002C7E82 /* RegExpPrototype.h */; }; 1500 9E8792BB193FB6800076CA78 /* SetConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7299DA417D12858005F5FF9 /* SetConstructor.h */; }; 1501 9E8792BC193FB6800076CA78 /* SetIteratorConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A790DD66182F499700588807 /* SetIteratorConstructor.h */; }; 1502 9E8792BD193FB6800076CA78 /* SetIteratorPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A790DD68182F499700588807 /* SetIteratorPrototype.h */; }; 1503 9E8792BE193FB6800076CA78 /* SetPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A7299DA017D12848005F5FF9 /* SetPrototype.h */; }; 1504 9E8792BF193FB6800076CA78 /* StrictEvalActivation.h in Headers */ = {isa = PBXBuildFile; fileRef = A730B6101250068F009D25B1 /* StrictEvalActivation.h */; }; 1505 9E8792C0193FB6800076CA78 /* StringConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = BC18C3C10E16EE3300B34460 /* StringConstructor.h */; }; 1506 9E8792C1193FB6800076CA78 /* Tracing.h in Headers */ = {isa = PBXBuildFile; fileRef = 5D53726E0E1C54880021E549 /* Tracing.h */; }; 1507 9E8792C2193FB6800076CA78 /* Uint16WithFraction.h in Headers */ = {isa = PBXBuildFile; fileRef = 866739D113BFDE710023D87C /* Uint16WithFraction.h */; }; 1508 9E8792C3193FB6800076CA78 /* WeakMapConstructor.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3ADE17DA41AE006538AF /* WeakMapConstructor.h */; }; 1509 9E8792C4193FB6800076CA78 /* WeakMapData.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AEA17DA5168006538AF /* WeakMapData.h */; }; 1510 9E8792C5193FB6800076CA78 /* WeakMapPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = A7CA3AE017DA41AE006538AF /* WeakMapPrototype.h */; }; 1511 9E8792C7193FB6800076CA78 /* JSDataViewPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66BF17B6B5AB00A7AE3F /* JSDataViewPrototype.cpp */; }; 1512 9E8792C8193FB6800076CA78 /* StringPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C50E16EE3300B34460 /* StringPrototype.cpp */; }; 1513 9E8792C9193FB6800076CA78 /* WeakMapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADF17DA41AE006538AF /* WeakMapPrototype.cpp */; }; 1514 9E8792CA193FB6800076CA78 /* WeakMapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7CA3ADD17DA41AE006538AF /* WeakMapConstructor.cpp */; }; 1515 9E8792CB193FB6800076CA78 /* StringConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC18C3C00E16EE3300B34460 /* StringConstructor.cpp */; }; 1516 9E8792CC193FB6800076CA78 /* SetIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A790DD67182F499700588807 /* SetIteratorPrototype.cpp */; }; 1517 9E8792CD193FB6800076CA78 /* SetPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299D9F17D12848005F5FF9 /* SetPrototype.cpp */; }; 1518 9E8792CE193FB6800076CA78 /* RegExpConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BD0E1706A7002C7E82 /* RegExpConstructor.cpp */; }; 1519 9E8792CF193FB6800076CA78 /* RegExpPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD202BF0E1706A7002C7E82 /* RegExpPrototype.cpp */; }; 1520 9E8792D0193FB6800076CA78 /* ObjectConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C60E16D4E900A06E92 /* ObjectConstructor.cpp */; }; 1521 9E8792D1193FB6800076CA78 /* ObjectPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C80E16D4E900A06E92 /* ObjectPrototype.cpp */; }; 1522 9E8792D2193FB6800076CA78 /* NameConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2F91560F036008E9222 /* NameConstructor.cpp */; }; 1523 9E8792D3193FB6800076CA78 /* NamePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86EBF2FD1560F036008E9222 /* NamePrototype.cpp */; }; 1524 9E8792D4193FB6800076CA78 /* MathObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A86A0255597D01FF60F7 /* MathObject.cpp */; }; 1525 9E8792D5193FB6800076CA78 /* MapConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873717CBE85300C3E643 /* MapConstructor.cpp */; }; 1526 9E8792D6193FB6800076CA78 /* MapIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A74DEF8D182D991400522C22 /* MapIteratorPrototype.cpp */; }; 1527 9E8792D7193FB6800076CA78 /* MapPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A700873B17CBE8D300C3E643 /* MapPrototype.cpp */; }; 1528 9E8792D8193FB6800076CA78 /* ConsolePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A53CE08118BC1A5600BEDF76 /* ConsolePrototype.cpp */; }; 1529 9E8792D9193FB6800076CA78 /* JSPromiseConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E2017BEE240007CB63A /* JSPromiseConstructor.cpp */; }; 1530 9E8792DA193FB6800076CA78 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; }; 1531 9E8792DB193FB6800076CA78 /* JSPromisePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C184E1C17BEE22E007CB63A /* JSPromisePrototype.cpp */; }; 1532 9E8792DC193FB6800076CA78 /* JSONObject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7F9935E0FD7325100A0B2D0 /* JSONObject.cpp */; }; 1533 9E8792DD193FB6800076CA78 /* JSGlobalObjectFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC756FC60E2031B200DE7D12 /* JSGlobalObjectFunctions.cpp */; }; 1534 9E8792DE193FB6800076CA78 /* JSFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85E0255597D01FF60F7 /* JSFunction.cpp */; }; 1535 9E8792DF193FB6800076CA78 /* JSBoundFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 86FA9E8F142BBB2D001773B7 /* JSBoundFunction.cpp */; }; 1536 9E8792E0193FB6800076CA78 /* JSArrayIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC417F4EA1400F6140C /* JSArrayIterator.cpp */; }; 1537 9E8792E1193FB6800076CA78 /* JSArrayBufferPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B817B6B5AB00A7AE3F /* JSArrayBufferPrototype.cpp */; }; 1538 9E8792E2193FB6800076CA78 /* JSArrayBufferConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F2B66B617B6B5AB00A7AE3F /* JSArrayBufferConstructor.cpp */; }; 1539 9E8792E3193FB6800076CA78 /* FunctionPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A85C0255597D01FF60F7 /* FunctionPrototype.cpp */; }; 1540 9E8792E4193FB6800076CA78 /* FunctionConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C00E16D4E900A06E92 /* FunctionConstructor.cpp */; }; 1541 9E8792E5193FB6800076CA78 /* ErrorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9060E1839DB000F9297 /* ErrorPrototype.cpp */; }; 1542 9E8792E6193FB6800076CA78 /* ErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9040E1839DB000F9297 /* ErrorConstructor.cpp */; }; 1543 9E8792E7193FB6800076CA78 /* DatePrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203470E17135E002C7E82 /* DatePrototype.cpp */; }; 1544 9E8792E8193FB6800076CA78 /* DateConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCD203450E17135E002C7E82 /* DateConstructor.cpp */; }; 1545 9E8792E9193FB6800076CA78 /* BooleanPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952340E15EB5600A898AB /* BooleanPrototype.cpp */; }; 1546 9E8792EA193FB6800076CA78 /* BooleanConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952320E15EB5600A898AB /* BooleanConstructor.cpp */; }; 1547 9E8792EB193FB6800076CA78 /* ArrayIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7BDAEC217F4EA1400F6140C /* ArrayIteratorPrototype.cpp */; }; 1548 9E8792EC193FB6800076CA78 /* ArgumentsIteratorPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A76140C9182982CB00750624 /* ArgumentsIteratorPrototype.cpp */; }; 1549 9E8792ED193FB6800076CA78 /* Arguments.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC257DE50E1F51C50016B6C9 /* Arguments.cpp */; }; 1550 9E8792EE193FB6800076CA78 /* NativeErrorConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC02E9080E1839DB000F9297 /* NativeErrorConstructor.cpp */; }; 1551 9E8792EF193FB6800076CA78 /* SetConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A7299DA317D12858005F5FF9 /* SetConstructor.cpp */; }; 1552 9E8792F0193FB6800076CA78 /* ArrayConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC7952060E15E8A800A898AB /* ArrayConstructor.cpp */; }; 1553 9E8792F1193FB6800076CA78 /* ArrayPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = F692A84D0255597D01FF60F7 /* ArrayPrototype.cpp */; }; 1554 9E8792F2193FB6800076CA78 /* NumberConstructor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C20E16D4E900A06E92 /* NumberConstructor.cpp */; }; 1555 9E8792F3193FB6800076CA78 /* NumberPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BC2680C40E16D4E900A06E92 /* NumberPrototype.cpp */; }; 1556 9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */ = {isa = PBXBuildFile; fileRef = 9E729409190F0306001A91B5 /* BundlePath.mm */; }; 1557 9EA5C7A2190F088700508EBE /* InitializeLLVMMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */; }; 1239 1558 A1712B3B11C7B212007A5315 /* RegExpCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A1712B3A11C7B212007A5315 /* RegExpCache.cpp */; }; 1240 1559 A1712B3F11C7B228007A5315 /* RegExpCache.h in Headers */ = {isa = PBXBuildFile; fileRef = A1712B3E11C7B228007A5315 /* RegExpCache.h */; settings = {ATTRIBUTES = (Private, ); }; }; … … 1709 2028 E124A8F70E555775003091F1 /* OpaqueJSString.h in Headers */ = {isa = PBXBuildFile; fileRef = E124A8F50E555775003091F1 /* OpaqueJSString.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1710 2029 E124A8F80E555775003091F1 /* OpaqueJSString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E124A8F60E555775003091F1 /* OpaqueJSString.cpp */; }; 1711 E178636D0D9BEEC300D74E75 /* InitializeThreading.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E178636C0D9BEEC300D74E75 /* InitializeThreading.cpp */; };1712 2030 E18E3A590DF9278C00D90B34 /* VM.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E18E3A570DF9278C00D90B34 /* VM.cpp */; }; 1713 2031 E49DC16B12EF293E00184A1F /* SourceProviderCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E49DC15512EF277200184A1F /* SourceProviderCache.cpp */; }; … … 1771 2089 remoteInfo = "Generate Derived Sources"; 1772 2090 }; 1773 55F8FC2B18EB937B00783E6E /* PBXContainerItemProxy */ = {1774 isa = PBXContainerItemProxy;1775 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */;1776 proxyType = 1;1777 remoteGlobalIDString = 5540756218DA58AD00EFF7F2;1778 remoteInfo = CompileRuntimeToLLVMIR;1779 };1780 2091 5D69E911152BE5470028D720 /* PBXContainerItemProxy */ = { 1781 2092 isa = PBXContainerItemProxy; … … 1861 2172 remoteGlobalIDString = 932F5B3E0822A1C700736975; 1862 2173 remoteInfo = "JavaScriptCore (Upgraded)"; 2174 }; 2175 9E8791DA193FB6800076CA78 /* PBXContainerItemProxy */ = { 2176 isa = PBXContainerItemProxy; 2177 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 2178 proxyType = 1; 2179 remoteGlobalIDString = 0FCEFAB51805D61600472CE4; 2180 remoteInfo = llvmForJSC; 2181 }; 2182 9E8791DC193FB6800076CA78 /* PBXContainerItemProxy */ = { 2183 isa = PBXContainerItemProxy; 2184 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 2185 proxyType = 1; 2186 remoteGlobalIDString = 65788A9D18B409EB00C189FF; 2187 remoteInfo = "Offline Assembler"; 2188 }; 2189 9E8791DE193FB6800076CA78 /* PBXContainerItemProxy */ = { 2190 isa = PBXContainerItemProxy; 2191 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 2192 proxyType = 1; 2193 remoteGlobalIDString = 65FB3F6609D11E9100F49DEB; 2194 remoteInfo = "Generate Derived Sources"; 2195 }; 2196 9E8792FB193FB69F0076CA78 /* PBXContainerItemProxy */ = { 2197 isa = PBXContainerItemProxy; 2198 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 2199 proxyType = 1; 2200 remoteGlobalIDString = 5540756218DA58AD00EFF7F2; 2201 remoteInfo = "Compile Runtime to LLVM IR"; 2202 }; 2203 9E8792FD193FB6A60076CA78 /* PBXContainerItemProxy */ = { 2204 isa = PBXContainerItemProxy; 2205 containerPortal = 0867D690FE84028FC02AAC07 /* Project object */; 2206 proxyType = 1; 2207 remoteGlobalIDString = 9E8791D8193FB6800076CA78; 2208 remoteInfo = "Compile Runtime to Binary"; 1863 2209 }; 1864 2210 /* End PBXContainerItemProxy section */ … … 2305 2651 0FCEFAAA1804C13E00472CE4 /* FTLSaveRestore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = FTLSaveRestore.h; path = ftl/FTLSaveRestore.h; sourceTree = "<group>"; }; 2306 2652 0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = InitializeLLVM.h; path = llvm/InitializeLLVM.h; sourceTree = "<group>"; }; 2307 0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = InitializeLLVMMac.mm; path = llvm/InitializeLLVMMac.mm; sourceTree = "<group>"; };2308 2653 0FCEFAB61805D61600472CE4 /* libllvmForJSC.dylib */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.dylib"; includeInIndex = 0; path = libllvmForJSC.dylib; sourceTree = BUILT_PRODUCTS_DIR; }; 2309 2654 0FCEFABE1805D86900472CE4 /* LLVMForJSC.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = LLVMForJSC.xcconfig; sourceTree = "<group>"; }; … … 2844 3189 99E45A2218A1B2590026D88F /* InputCursor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InputCursor.h; sourceTree = "<group>"; }; 2845 3190 99E45A2318A1B2590026D88F /* NondeterministicInput.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NondeterministicInput.h; sourceTree = "<group>"; }; 3191 9E729409190F0306001A91B5 /* BundlePath.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = BundlePath.mm; sourceTree = "<group>"; }; 3192 9E72940A190F0514001A91B5 /* BundlePath.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BundlePath.h; sourceTree = "<group>"; }; 3193 9E8792FA193FB6800076CA78 /* libCompile Runtime to Binary.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libCompile Runtime to Binary.a"; sourceTree = BUILT_PRODUCTS_DIR; }; 3194 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InitializeLLVMMac.cpp; path = llvm/InitializeLLVMMac.cpp; sourceTree = "<group>"; }; 2846 3195 A1712B3A11C7B212007A5315 /* RegExpCache.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RegExpCache.cpp; sourceTree = "<group>"; }; 2847 3196 A1712B3E11C7B228007A5315 /* RegExpCache.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RegExpCache.h; sourceTree = "<group>"; }; … … 3449 3798 6511230514046A4C002B101D /* testRegExp */, 3450 3799 55407AC818DA58AD00EFF7F2 /* libCompileRuntimeToLLVMIR.a */, 3800 9E8792FA193FB6800076CA78 /* libCompile Runtime to Binary.a */, 3451 3801 ); 3452 3802 name = Products; … … 3548 3898 isa = PBXGroup; 3549 3899 children = ( 3900 9EA5C7A0190F05D200508EBE /* InitializeLLVMMac.cpp */, 3550 3901 0FCEFABF1805D94100472CE4 /* library */, 3551 3902 0FCEFAC41805E75500472CE4 /* InitializeLLVM.cpp */, 3552 3903 0FCEFAAE1805CA6D00472CE4 /* InitializeLLVM.h */, 3553 0FCEFAAF1805CA6D00472CE4 /* InitializeLLVMMac.mm */,3554 3904 0FCEFAC51805E75500472CE4 /* InitializeLLVMPOSIX.cpp */, 3555 3905 0FCEFAC61805E75500472CE4 /* InitializeLLVMPOSIX.h */, … … 4180 4530 isa = PBXGroup; 4181 4531 children = ( 4532 9E72940A190F0514001A91B5 /* BundlePath.h */, 4533 9E729409190F0306001A91B5 /* BundlePath.mm */, 4182 4534 BCF605110E203EF800B9A64D /* ArgList.cpp */, 4183 4535 BCF605120E203EF800B9A64D /* ArgList.h */, … … 5824 6176 0F235BE017178E1C00690C7F /* FTLOSRExitCompiler.h in Headers */, 5825 6177 0FEA0A11170513DB00BB722C /* FTLOutput.h in Headers */, 6178 9E72940B190F0514001A91B5 /* BundlePath.h in Headers */, 5826 6179 0F48532A187DFDEC0083B687 /* FTLRecoveryOpcode.h in Headers */, 5827 6180 0F6B1CC41862C47800845D97 /* FTLRegisterAtOffset.h in Headers */, … … 6336 6689 runOnlyForDeploymentPostprocessing = 0; 6337 6690 }; 6691 9E8791DF193FB6800076CA78 /* Headers */ = { 6692 isa = PBXHeadersBuildPhase; 6693 buildActionMask = 2147483647; 6694 files = ( 6695 9E8791E0193FB6800076CA78 /* Arguments.h in Headers */, 6696 9E8791E1193FB6800076CA78 /* ArgumentsIteratorConstructor.h in Headers */, 6697 9E8791E2193FB6800076CA78 /* ArgumentsIteratorPrototype.h in Headers */, 6698 9E8791E3193FB6800076CA78 /* ArrayConstructor.h in Headers */, 6699 9E8791E4193FB6800076CA78 /* ArrayIteratorConstructor.h in Headers */, 6700 9E8791E5193FB6800076CA78 /* ArrayIteratorPrototype.h in Headers */, 6701 9E8791E6193FB6800076CA78 /* BatchedTransitionOptimizer.h in Headers */, 6702 9E8791E7193FB6800076CA78 /* BigInteger.h in Headers */, 6703 9E8791E8193FB6800076CA78 /* CommonSlowPathsExceptions.h in Headers */, 6704 9E8791E9193FB6800076CA78 /* JSConsole.h in Headers */, 6705 9E8791EA193FB6800076CA78 /* DateConstructor.h in Headers */, 6706 9E8791EB193FB6800076CA78 /* DateConversion.h in Headers */, 6707 9E8791EC193FB6800076CA78 /* DatePrototype.h in Headers */, 6708 9E8791ED193FB6800076CA78 /* ErrorConstructor.h in Headers */, 6709 9E8791EE193FB6800076CA78 /* ConsolePrototype.h in Headers */, 6710 9E8791EF193FB6800076CA78 /* JSActivation.h in Headers */, 6711 9E8791F0193FB6800076CA78 /* JSArgumentsIterator.h in Headers */, 6712 9E8791F1193FB6800076CA78 /* JSArrayIterator.h in Headers */, 6713 9E8791F2193FB6800076CA78 /* (null) in Headers */, 6714 9E8791F3193FB6800076CA78 /* JSGlobalObjectDebuggable.h in Headers */, 6715 9E8791F4193FB6800076CA78 /* JSGlobalObjectFunctions.h in Headers */, 6716 9E8791F5193FB6800076CA78 /* JSMapIterator.h in Headers */, 6717 9E8791F6193FB6800076CA78 /* JSPromiseConstructor.h in Headers */, 6718 9E8791F7193FB6800076CA78 /* JSPromisePrototype.h in Headers */, 6719 9E8791F8193FB6800076CA78 /* JSPromiseReaction.h in Headers */, 6720 9E8791F9193FB6800076CA78 /* JSSetIterator.h in Headers */, 6721 9E8791FA193FB6800076CA78 /* JSStackInlines.h in Headers */, 6722 9E8791FB193FB6800076CA78 /* JSStringBuilder.h in Headers */, 6723 9E8791FC193FB6800076CA78 /* JSStringJoiner.h in Headers */, 6724 9E8791FD193FB6800076CA78 /* JSWeakMap.h in Headers */, 6725 9E8791FE193FB6800076CA78 /* LiteralParser.h in Headers */, 6726 9E8791FF193FB6800076CA78 /* MapConstructor.h in Headers */, 6727 9E879200193FB6800076CA78 /* MapIteratorConstructor.h in Headers */, 6728 9E879201193FB6800076CA78 /* MapIteratorPrototype.h in Headers */, 6729 9E879202193FB6800076CA78 /* MapPrototype.h in Headers */, 6730 9E879203193FB6800076CA78 /* NameConstructor.h in Headers */, 6731 9E879204193FB6800076CA78 /* NameInstance.h in Headers */, 6732 9E879205193FB6800076CA78 /* NamePrototype.h in Headers */, 6733 9E879206193FB6800076CA78 /* NativeErrorConstructor.h in Headers */, 6734 9E879207193FB6800076CA78 /* NativeErrorPrototype.h in Headers */, 6735 9E879208193FB6800076CA78 /* NumberConstructor.h in Headers */, 6736 9E879209193FB6800076CA78 /* StructureIDBlob.h in Headers */, 6737 9E87920A193FB6800076CA78 /* ArrayBuffer.h in Headers */, 6738 9E87920B193FB6800076CA78 /* ArrayBufferNeuteringWatchpoint.h in Headers */, 6739 9E87920C193FB6800076CA78 /* ArrayBufferView.h in Headers */, 6740 9E87920D193FB6800076CA78 /* ArrayConventions.h in Headers */, 6741 9E87920E193FB6800076CA78 /* ArrayPrototype.h in Headers */, 6742 9E87920F193FB6800076CA78 /* StructureIDTable.h in Headers */, 6743 9E879210193FB6800076CA78 /* ArrayStorage.h in Headers */, 6744 9E879211193FB6800076CA78 /* BooleanObject.h in Headers */, 6745 9E879212193FB6800076CA78 /* Butterfly.h in Headers */, 6746 9E879213193FB6800076CA78 /* ButterflyInlines.h in Headers */, 6747 9E879214193FB6800076CA78 /* CallData.h in Headers */, 6748 9E879215193FB6800076CA78 /* ClassInfo.h in Headers */, 6749 9E879216193FB6800076CA78 /* CodeCache.h in Headers */, 6750 9E879217193FB6800076CA78 /* CodeSpecializationKind.h in Headers */, 6751 9E879218193FB6800076CA78 /* CommonIdentifiers.h in Headers */, 6752 9E879219193FB6800076CA78 /* CommonSlowPaths.h in Headers */, 6753 9E87921A193FB6800076CA78 /* CompilationResult.h in Headers */, 6754 9E87921B193FB6800076CA78 /* Completion.h in Headers */, 6755 9E87921C193FB6800076CA78 /* ConcurrentJITLock.h in Headers */, 6756 9E87921D193FB6800076CA78 /* ConsoleTypes.h in Headers */, 6757 9E87921E193FB6800076CA78 /* ConstantMode.h in Headers */, 6758 9E87921F193FB6800076CA78 /* ConstructData.h in Headers */, 6759 9E879220193FB6800076CA78 /* DataView.h in Headers */, 6760 9E879221193FB6800076CA78 /* DateInstance.h in Headers */, 6761 9E879222193FB6800076CA78 /* DateInstanceCache.h in Headers */, 6762 9E879223193FB6800076CA78 /* Debugger.h in Headers */, 6763 9E879224193FB6800076CA78 /* DumpContext.h in Headers */, 6764 9E879225193FB6800076CA78 /* Error.h in Headers */, 6765 9E879226193FB6800076CA78 /* ErrorHandlingScope.h in Headers */, 6766 9E879227193FB6800076CA78 /* ErrorInstance.h in Headers */, 6767 9E879228193FB6800076CA78 /* ErrorPrototype.h in Headers */, 6768 9E879229193FB6800076CA78 /* ExceptionHelpers.h in Headers */, 6769 9E87922A193FB6800076CA78 /* Executable.h in Headers */, 6770 9E87922B193FB6800076CA78 /* Float32Array.h in Headers */, 6771 9E87922C193FB6800076CA78 /* Float64Array.h in Headers */, 6772 9E87922D193FB6800076CA78 /* ConsoleClient.h in Headers */, 6773 9E87922E193FB6800076CA78 /* FunctionConstructor.h in Headers */, 6774 9E87922F193FB6800076CA78 /* FunctionExecutableDump.h in Headers */, 6775 9E879230193FB6800076CA78 /* FunctionPrototype.h in Headers */, 6776 9E879231193FB6800076CA78 /* GenericTypedArrayView.h in Headers */, 6777 9E879232193FB6800076CA78 /* GenericTypedArrayViewInlines.h in Headers */, 6778 9E879233193FB6800076CA78 /* Identifier.h in Headers */, 6779 9E879234193FB6800076CA78 /* IndexingHeader.h in Headers */, 6780 9E879235193FB6800076CA78 /* IndexingHeaderInlines.h in Headers */, 6781 9E879236193FB6800076CA78 /* IndexingType.h in Headers */, 6782 9E879237193FB6800076CA78 /* InitializeThreading.h in Headers */, 6783 9E879238193FB6800076CA78 /* Int16Array.h in Headers */, 6784 9E879239193FB6800076CA78 /* Int32Array.h in Headers */, 6785 9E87923A193FB6800076CA78 /* Int8Array.h in Headers */, 6786 9E87923B193FB6800076CA78 /* IntendedStructureChain.h in Headers */, 6787 9E87923C193FB6800076CA78 /* InternalFunction.h in Headers */, 6788 9E87923D193FB6800076CA78 /* Intrinsic.h in Headers */, 6789 9E87923E193FB6800076CA78 /* JSAPIValueWrapper.h in Headers */, 6790 9E87923F193FB6800076CA78 /* JSArray.h in Headers */, 6791 9E879240193FB6800076CA78 /* JSArrayBuffer.h in Headers */, 6792 9E879241193FB6800076CA78 /* JSArrayBufferConstructor.h in Headers */, 6793 9E879242193FB6800076CA78 /* JSArrayBufferPrototype.h in Headers */, 6794 9E879243193FB6800076CA78 /* JSArrayBufferView.h in Headers */, 6795 9E879244193FB6800076CA78 /* JSArrayBufferViewInlines.h in Headers */, 6796 9E879245193FB6800076CA78 /* JSCell.h in Headers */, 6797 9E879246193FB6800076CA78 /* JSCellInlines.h in Headers */, 6798 9E879247193FB6800076CA78 /* JSCInlines.h in Headers */, 6799 9E879248193FB6800076CA78 /* JSCJSValue.h in Headers */, 6800 9E879249193FB6800076CA78 /* JSCJSValueInlines.h in Headers */, 6801 9E87924A193FB6800076CA78 /* JSDataView.h in Headers */, 6802 9E87924B193FB6800076CA78 /* JSDataViewPrototype.h in Headers */, 6803 9E87924C193FB6800076CA78 /* JSDateMath.h in Headers */, 6804 9E87924D193FB6800076CA78 /* JSDestructibleObject.h in Headers */, 6805 9E87924E193FB6800076CA78 /* JSExportMacros.h in Headers */, 6806 9E87924F193FB6800076CA78 /* JSFloat32Array.h in Headers */, 6807 9E879250193FB6800076CA78 /* JSFloat64Array.h in Headers */, 6808 9E879251193FB6800076CA78 /* JSFunction.h in Headers */, 6809 9E879252193FB6800076CA78 /* JSFunctionInlines.h in Headers */, 6810 9E879253193FB6800076CA78 /* JSGenericTypedArrayView.h in Headers */, 6811 9E879254193FB6800076CA78 /* JSGenericTypedArrayViewConstructor.h in Headers */, 6812 9E879255193FB6800076CA78 /* JSGenericTypedArrayViewConstructorInlines.h in Headers */, 6813 9E879256193FB6800076CA78 /* JSGenericTypedArrayViewInlines.h in Headers */, 6814 9E879257193FB6800076CA78 /* JSGenericTypedArrayViewPrototype.h in Headers */, 6815 9E879258193FB6800076CA78 /* JSGenericTypedArrayViewPrototypeInlines.h in Headers */, 6816 9E879259193FB6800076CA78 /* JSGlobalObject.h in Headers */, 6817 9E87925A193FB6800076CA78 /* JSInt16Array.h in Headers */, 6818 9E87925B193FB6800076CA78 /* JSInt32Array.h in Headers */, 6819 9E87925C193FB6800076CA78 /* JSInt8Array.h in Headers */, 6820 9E87925D193FB6800076CA78 /* JSLock.h in Headers */, 6821 9E87925E193FB6800076CA78 /* JSMap.h in Headers */, 6822 9E87925F193FB6800076CA78 /* JSNameScope.h in Headers */, 6823 9E879260193FB6800076CA78 /* JSObject.h in Headers */, 6824 9E879261193FB6800076CA78 /* JSONObject.h in Headers */, 6825 9E879262193FB6800076CA78 /* JSPromise.h in Headers */, 6826 9E879263193FB6800076CA78 /* JSPromiseDeferred.h in Headers */, 6827 9E879264193FB6800076CA78 /* JSPromiseFunctions.h in Headers */, 6828 9E879265193FB6800076CA78 /* JSProxy.h in Headers */, 6829 9E879266193FB6800076CA78 /* JSScope.h in Headers */, 6830 9E879267193FB6800076CA78 /* JSSegmentedVariableObject.h in Headers */, 6831 9E879268193FB6800076CA78 /* JSSet.h in Headers */, 6832 9E879269193FB6800076CA78 /* JSString.h in Headers */, 6833 9E87926A193FB6800076CA78 /* JSSymbolTableObject.h in Headers */, 6834 9E87926B193FB6800076CA78 /* JSType.h in Headers */, 6835 9E87926C193FB6800076CA78 /* JSTypedArrayConstructors.h in Headers */, 6836 9E87926D193FB6800076CA78 /* JSTypedArrayPrototypes.h in Headers */, 6837 9E87926E193FB6800076CA78 /* JSTypedArrays.h in Headers */, 6838 9E87926F193FB6800076CA78 /* JSTypeInfo.h in Headers */, 6839 9E879270193FB6800076CA78 /* JSUint16Array.h in Headers */, 6840 9E879271193FB6800076CA78 /* JSUint32Array.h in Headers */, 6841 9E879272193FB6800076CA78 /* JSUint8Array.h in Headers */, 6842 9E879273193FB6800076CA78 /* JSUint8ClampedArray.h in Headers */, 6843 9E879274193FB6800076CA78 /* JSVariableObject.h in Headers */, 6844 9E879275193FB6800076CA78 /* JSWithScope.h in Headers */, 6845 9E879276193FB6800076CA78 /* JSWrapperObject.h in Headers */, 6846 9E879277193FB6800076CA78 /* Lookup.h in Headers */, 6847 9E879278193FB6800076CA78 /* MapData.h in Headers */, 6848 9E879279193FB6800076CA78 /* MatchResult.h in Headers */, 6849 9E87927A193FB6800076CA78 /* MathObject.h in Headers */, 6850 9E87927B193FB6800076CA78 /* MemoryStatistics.h in Headers */, 6851 9E87927C193FB6800076CA78 /* Microtask.h in Headers */, 6852 9E87927D193FB6800076CA78 /* NumberObject.h in Headers */, 6853 9E87927E193FB6800076CA78 /* NumberPrototype.h in Headers */, 6854 9E87927F193FB6800076CA78 /* NumericStrings.h in Headers */, 6855 9E879280193FB6800076CA78 /* ObjectConstructor.h in Headers */, 6856 9E879281193FB6800076CA78 /* ObjectPrototype.h in Headers */, 6857 9E879282193FB6800076CA78 /* Operations.h in Headers */, 6858 9E879283193FB6800076CA78 /* Options.h in Headers */, 6859 9E879284193FB6800076CA78 /* PrivateName.h in Headers */, 6860 9E879285193FB6800076CA78 /* PropertyDescriptor.h in Headers */, 6861 9E879286193FB6800076CA78 /* PropertyMapHashTable.h in Headers */, 6862 9E879287193FB6800076CA78 /* PropertyName.h in Headers */, 6863 9E879288193FB6800076CA78 /* PropertyNameArray.h in Headers */, 6864 9E879289193FB6800076CA78 /* PropertyOffset.h in Headers */, 6865 9E87928A193FB6800076CA78 /* PropertySlot.h in Headers */, 6866 9E87928B193FB6800076CA78 /* PropertyStorage.h in Headers */, 6867 9E87928C193FB6800076CA78 /* Protect.h in Headers */, 6868 9E87928D193FB6800076CA78 /* PrototypeMap.h in Headers */, 6869 9E87928E193FB6800076CA78 /* PutDirectIndexMode.h in Headers */, 6870 9E87928F193FB6800076CA78 /* PutPropertySlot.h in Headers */, 6871 9E879290193FB6800076CA78 /* RegExp.h in Headers */, 6872 9E879291193FB6800076CA78 /* RegExpCache.h in Headers */, 6873 9E879292193FB6800076CA78 /* RegExpKey.h in Headers */, 6874 9E879293193FB6800076CA78 /* RegExpObject.h in Headers */, 6875 9E879294193FB6800076CA78 /* RegisterPreservationMode.h in Headers */, 6876 9E879295193FB6800076CA78 /* Reject.h in Headers */, 6877 9E879296193FB6800076CA78 /* SamplingCounter.h in Headers */, 6878 9E879297193FB6800076CA78 /* SimpleTypedArrayController.h in Headers */, 6879 9E879298193FB6800076CA78 /* SmallStrings.h in Headers */, 6880 9E879299193FB6800076CA78 /* SparseArrayValueMap.h in Headers */, 6881 9E87929A193FB6800076CA78 /* StackAlignment.h in Headers */, 6882 9E87929B193FB6800076CA78 /* StringObject.h in Headers */, 6883 9E87929C193FB6800076CA78 /* StringPrototype.h in Headers */, 6884 9E87929D193FB6800076CA78 /* Structure.h in Headers */, 6885 9E87929E193FB6800076CA78 /* StructureChain.h in Headers */, 6886 9E87929F193FB6800076CA78 /* StructureInlines.h in Headers */, 6887 9E8792A0193FB6800076CA78 /* StructureRareData.h in Headers */, 6888 9E8792A1193FB6800076CA78 /* StructureRareDataInlines.h in Headers */, 6889 9E8792A2193FB6800076CA78 /* StructureTransitionTable.h in Headers */, 6890 9E8792A3193FB6800076CA78 /* SymbolTable.h in Headers */, 6891 9E8792A4193FB6800076CA78 /* TestRunnerUtils.h in Headers */, 6892 9E8792A5193FB6800076CA78 /* ToNativeFromValue.h in Headers */, 6893 9E8792A6193FB6800076CA78 /* TypedArrayAdaptors.h in Headers */, 6894 9E8792A7193FB6800076CA78 /* TypedArrayController.h in Headers */, 6895 9E8792A8193FB6800076CA78 /* TypedArrayInlines.h in Headers */, 6896 9E8792A9193FB6800076CA78 /* TypedArrays.h in Headers */, 6897 9E8792AA193FB6800076CA78 /* TypedArrayType.h in Headers */, 6898 9E8792AB193FB6800076CA78 /* Uint16Array.h in Headers */, 6899 9E8792AC193FB6800076CA78 /* Uint32Array.h in Headers */, 6900 9E8792AD193FB6800076CA78 /* Uint8Array.h in Headers */, 6901 9E8792AE193FB6800076CA78 /* Uint8ClampedArray.h in Headers */, 6902 9E8792AF193FB6800076CA78 /* VM.h in Headers */, 6903 9E8792B0193FB6800076CA78 /* VMEntryScope.h in Headers */, 6904 9E8792B1193FB6800076CA78 /* Watchdog.h in Headers */, 6905 9E8792B2193FB6800076CA78 /* WeakGCMap.h in Headers */, 6906 9E8792B3193FB6800076CA78 /* WeakRandom.h in Headers */, 6907 9E8792B4193FB6800076CA78 /* WriteBarrier.h in Headers */, 6908 9E8792B5193FB6800076CA78 /* WriteBarrierInlines.h in Headers */, 6909 9E8792B6193FB6800076CA78 /* ArityCheckMode.h in Headers */, 6910 9E8792B7193FB6800076CA78 /* ArgList.h in Headers */, 6911 9E8792B8193FB6800076CA78 /* JSCallbackFunction.h in Headers */, 6912 9E8792B9193FB6800076CA78 /* RegExpConstructor.h in Headers */, 6913 9E8792BA193FB6800076CA78 /* RegExpPrototype.h in Headers */, 6914 9E8792BB193FB6800076CA78 /* SetConstructor.h in Headers */, 6915 9E8792BC193FB6800076CA78 /* SetIteratorConstructor.h in Headers */, 6916 9E8792BD193FB6800076CA78 /* SetIteratorPrototype.h in Headers */, 6917 9E8792BE193FB6800076CA78 /* SetPrototype.h in Headers */, 6918 9E8792BF193FB6800076CA78 /* StrictEvalActivation.h in Headers */, 6919 9E8792C0193FB6800076CA78 /* StringConstructor.h in Headers */, 6920 9E8792C1193FB6800076CA78 /* Tracing.h in Headers */, 6921 9E8792C2193FB6800076CA78 /* Uint16WithFraction.h in Headers */, 6922 9E8792C3193FB6800076CA78 /* WeakMapConstructor.h in Headers */, 6923 9E8792C4193FB6800076CA78 /* WeakMapData.h in Headers */, 6924 9E8792C5193FB6800076CA78 /* WeakMapPrototype.h in Headers */, 6925 ); 6926 runOnlyForDeploymentPostprocessing = 0; 6927 }; 6338 6928 /* End PBXHeadersBuildPhase section */ 6339 6929 … … 6462 7052 3713F014142905240036387F /* Check For Inappropriate Objective-C Class Names */, 6463 7053 A55DEAA416703DF7003DB841 /* Check For Inappropriate Macros in External Headers */, 6464 55850CA118F4842000F81829 /* Build Symbol Index Table */,6465 7054 ); 6466 7055 buildRules = ( 6467 7056 ); 6468 7057 dependencies = ( 6469 55F8FC2C18EB937B00783E6E/* PBXTargetDependency */,7058 9E8792FE193FB6A60076CA78 /* PBXTargetDependency */, 6470 7059 0FCEFABD1805D66300472CE4 /* PBXTargetDependency */, 6471 7060 65788AAD18B40A7B00C189FF /* PBXTargetDependency */, … … 6495 7084 productReference = 932F5BE10822A1C700736975 /* jsc */; 6496 7085 productType = "com.apple.product-type.tool"; 7086 }; 7087 9E8791D8193FB6800076CA78 /* Compile Runtime to Binary */ = { 7088 isa = PBXNativeTarget; 7089 buildConfigurationList = 9E8792F5193FB6800076CA78 /* Build configuration list for PBXNativeTarget "Compile Runtime to Binary" */; 7090 buildPhases = ( 7091 9E8791DF193FB6800076CA78 /* Headers */, 7092 9E8792C6193FB6800076CA78 /* Sources */, 7093 9E8792F4193FB6800076CA78 /* Build Symbol Index Table */, 7094 ); 7095 buildRules = ( 7096 ); 7097 dependencies = ( 7098 9E8792FC193FB69F0076CA78 /* PBXTargetDependency */, 7099 9E8791D9193FB6800076CA78 /* PBXTargetDependency */, 7100 9E8791DB193FB6800076CA78 /* PBXTargetDependency */, 7101 9E8791DD193FB6800076CA78 /* PBXTargetDependency */, 7102 ); 7103 name = "Compile Runtime to Binary"; 7104 productName = JavaScriptCore; 7105 productReference = 9E8792FA193FB6800076CA78 /* libCompile Runtime to Binary.a */; 7106 productType = "com.apple.product-type.library.static"; 6497 7107 }; 6498 7108 /* End PBXNativeTarget section */ … … 6522 7132 932F5BE30822A1C700736975 /* All */, 6523 7133 5540756218DA58AD00EFF7F2 /* Compile Runtime to LLVM IR */, 7134 9E8791D8193FB6800076CA78 /* Compile Runtime to Binary */, 6524 7135 932F5B3E0822A1C700736975 /* JavaScriptCore */, 6525 7136 0FCEFAB51805D61600472CE4 /* llvmForJSC */, … … 6615 7226 shellScript = "exec ${SRCROOT}/postprocess-headers.sh"; 6616 7227 }; 6617 55850CA118F4842000F81829 /* Build Symbol Index Table */ = {6618 isa = PBXShellScriptBuildPhase;6619 buildActionMask = 2147483647;6620 files = (6621 );6622 inputPaths = (6623 );6624 name = "Build Symbol Index Table";6625 outputPaths = (6626 "$(BUILT_PRODUCTS_DIR)/$(JAVASCRIPTCORE_RESOURCES_DIR)/Runtime.symtbl",6627 );6628 runOnlyForDeploymentPostprocessing = 0;6629 shellPath = /bin/sh;6630 shellScript = "${SRCROOT}/build-symbol-table-index.sh";6631 };6632 7228 559CD06A18F487A800F9ADC0 /* Copy LLVM IR */ = { 6633 7229 isa = PBXShellScriptBuildPhase; … … 6766 7362 shellPath = /bin/sh; 6767 7363 shellScript = "set -e\n\nmkdir -p \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\ncd \"${BUILT_PRODUCTS_DIR}/DerivedSources/JavaScriptCore\"\n\n/bin/ln -sfh \"${SRCROOT}\" JavaScriptCore\nexport JavaScriptCore=\"JavaScriptCore\"\nexport BUILT_PRODUCTS_DIR=\"../..\"\n\nmake --no-builtin-rules -f \"JavaScriptCore/DerivedSources.make\" -j `/usr/sbin/sysctl -n hw.ncpu`\n"; 7364 }; 7365 9E8792F4193FB6800076CA78 /* Build Symbol Index Table */ = { 7366 isa = PBXShellScriptBuildPhase; 7367 buildActionMask = 2147483647; 7368 files = ( 7369 ); 7370 inputPaths = ( 7371 ); 7372 name = "Build Symbol Index Table"; 7373 outputPaths = ( 7374 "$(BUILT_PRODUCTS_DIR)/$(JAVASCRIPTCORE_RESOURCES_DIR)/Runtime.symtbl", 7375 "$(SHARED_DERIVED_FILE_DIR)/JavaScriptCore/InlineRuntimeSymbolTable.h", 7376 ); 7377 runOnlyForDeploymentPostprocessing = 0; 7378 shellPath = /bin/sh; 7379 shellScript = "${SRCROOT}/build-symbol-table-index.sh"; 6768 7380 }; 6769 7381 A55DEAA416703DF7003DB841 /* Check For Inappropriate Macros in External Headers */ = { … … 6831 7443 buildActionMask = 2147483647; 6832 7444 files = ( 7445 552EA70C1908704800A66F2F /* JSDataViewPrototype.cpp in Sources */, 7446 55A04E211908653D0024E40C /* StringPrototype.cpp in Sources */, 7447 556A35EE190844C000B56747 /* WeakMapPrototype.cpp in Sources */, 7448 556A35ED190844B500B56747 /* WeakMapConstructor.cpp in Sources */, 7449 556A35EC190844AA00B56747 /* StringConstructor.cpp in Sources */, 7450 556A35EA190844A000B56747 /* SetIteratorPrototype.cpp in Sources */, 7451 556A35EB190844A000B56747 /* SetPrototype.cpp in Sources */, 7452 556A35E81908448000B56747 /* RegExpConstructor.cpp in Sources */, 7453 556A35E91908448000B56747 /* RegExpPrototype.cpp in Sources */, 7454 556A35E61908444900B56747 /* ObjectConstructor.cpp in Sources */, 7455 556A35E71908444900B56747 /* ObjectPrototype.cpp in Sources */, 7456 556A35E41908443700B56747 /* NameConstructor.cpp in Sources */, 7457 556A35E51908443700B56747 /* NamePrototype.cpp in Sources */, 7458 556A35E31908442A00B56747 /* MathObject.cpp in Sources */, 7459 556A35E01908441D00B56747 /* MapConstructor.cpp in Sources */, 7460 556A35E11908441D00B56747 /* MapIteratorPrototype.cpp in Sources */, 7461 556A35E21908441D00B56747 /* MapPrototype.cpp in Sources */, 7462 556A35DF190843F300B56747 /* ConsolePrototype.cpp in Sources */, 7463 556A35DC190843E700B56747 /* JSPromiseConstructor.cpp in Sources */, 7464 556A35DD190843E700B56747 /* JSPromiseFunctions.cpp in Sources */, 7465 556A35DE190843E700B56747 /* JSPromisePrototype.cpp in Sources */, 7466 556A35DB190843CF00B56747 /* JSONObject.cpp in Sources */, 7467 556A35DA190843C200B56747 /* JSGlobalObjectFunctions.cpp in Sources */, 7468 556A35D9190843B100B56747 /* JSFunction.cpp in Sources */, 7469 556A35D81908439D00B56747 /* JSBoundFunction.cpp in Sources */, 7470 556A35D71908438A00B56747 /* JSArrayIterator.cpp in Sources */, 7471 556A35D61908437500B56747 /* JSArrayBufferPrototype.cpp in Sources */, 7472 556A35D51908436800B56747 /* JSArrayBufferConstructor.cpp in Sources */, 7473 556A35D41908434D00B56747 /* FunctionPrototype.cpp in Sources */, 7474 556A35D31908434300B56747 /* FunctionConstructor.cpp in Sources */, 7475 556A35D21908433300B56747 /* ErrorPrototype.cpp in Sources */, 7476 556A35D11908432900B56747 /* ErrorConstructor.cpp in Sources */, 7477 556A35D01908432000B56747 /* DatePrototype.cpp in Sources */, 7478 556A35CF1908431600B56747 /* DateConstructor.cpp in Sources */, 7479 556A35CE1908430B00B56747 /* BooleanPrototype.cpp in Sources */, 7480 556A35CD190842FD00B56747 /* BooleanConstructor.cpp in Sources */, 7481 556A35CC190842F300B56747 /* ArrayIteratorPrototype.cpp in Sources */, 7482 556A35CB190842E800B56747 /* ArgumentsIteratorPrototype.cpp in Sources */, 7483 556A35CA190842DD00B56747 /* Arguments.cpp in Sources */, 7484 556A35C9190842D500B56747 /* NativeErrorConstructor.cpp in Sources */, 7485 556A35C8190842BC00B56747 /* SetConstructor.cpp in Sources */, 6833 7486 554078AB18DA58AD00EFF7F2 /* ArrayConstructor.cpp in Sources */, 6834 7487 554078AF18DA58AD00EFF7F2 /* ArrayPrototype.cpp in Sources */, … … 6850 7503 buildActionMask = 2147483647; 6851 7504 files = ( 7505 9EA5C7A2190F088700508EBE /* InitializeLLVMMac.cpp in Sources */, 7506 9EA5C7A1190F084200508EBE /* BundlePath.mm in Sources */, 7507 9E729408190F021E001A91B5 /* InitializeLLVMPOSIX.cpp in Sources */, 7508 9E729407190F01A5001A91B5 /* InitializeThreading.cpp in Sources */, 6852 7509 0FFA549716B8835000B3A982 /* A64DOpcode.cpp in Sources */, 6853 7510 0F55F0F414D1063900AC7649 /* AbstractPC.cpp in Sources */, … … 7103 7760 0F13E04E16164A1F00DC8DE7 /* IndexingType.cpp in Sources */, 7104 7761 0FCEFACA1805E75500472CE4 /* InitializeLLVM.cpp in Sources */, 7105 0FCEFAB11805CA6D00472CE4 /* InitializeLLVMMac.mm in Sources */,7106 0FCEFACB1805E75500472CE4 /* InitializeLLVMPOSIX.cpp in Sources */,7107 E178636D0D9BEEC300D74E75 /* InitializeThreading.cpp in Sources */,7108 7762 A513E5B7185B8BD3007E95AD /* InjectedScript.cpp in Sources */, 7109 7763 A514B2C2185A684400F3C7CB /* InjectedScriptBase.cpp in Sources */, … … 7416 8070 runOnlyForDeploymentPostprocessing = 0; 7417 8071 }; 8072 9E8792C6193FB6800076CA78 /* Sources */ = { 8073 isa = PBXSourcesBuildPhase; 8074 buildActionMask = 2147483647; 8075 files = ( 8076 9E8792C7193FB6800076CA78 /* JSDataViewPrototype.cpp in Sources */, 8077 9E8792C8193FB6800076CA78 /* StringPrototype.cpp in Sources */, 8078 9E8792C9193FB6800076CA78 /* WeakMapPrototype.cpp in Sources */, 8079 9E8792CA193FB6800076CA78 /* WeakMapConstructor.cpp in Sources */, 8080 9E8792CB193FB6800076CA78 /* StringConstructor.cpp in Sources */, 8081 9E8792CC193FB6800076CA78 /* SetIteratorPrototype.cpp in Sources */, 8082 9E8792CD193FB6800076CA78 /* SetPrototype.cpp in Sources */, 8083 9E8792CE193FB6800076CA78 /* RegExpConstructor.cpp in Sources */, 8084 9E8792CF193FB6800076CA78 /* RegExpPrototype.cpp in Sources */, 8085 9E8792D0193FB6800076CA78 /* ObjectConstructor.cpp in Sources */, 8086 9E8792D1193FB6800076CA78 /* ObjectPrototype.cpp in Sources */, 8087 9E8792D2193FB6800076CA78 /* NameConstructor.cpp in Sources */, 8088 9E8792D3193FB6800076CA78 /* NamePrototype.cpp in Sources */, 8089 9E8792D4193FB6800076CA78 /* MathObject.cpp in Sources */, 8090 9E8792D5193FB6800076CA78 /* MapConstructor.cpp in Sources */, 8091 9E8792D6193FB6800076CA78 /* MapIteratorPrototype.cpp in Sources */, 8092 9E8792D7193FB6800076CA78 /* MapPrototype.cpp in Sources */, 8093 9E8792D8193FB6800076CA78 /* ConsolePrototype.cpp in Sources */, 8094 9E8792D9193FB6800076CA78 /* JSPromiseConstructor.cpp in Sources */, 8095 9E8792DA193FB6800076CA78 /* JSPromiseFunctions.cpp in Sources */, 8096 9E8792DB193FB6800076CA78 /* JSPromisePrototype.cpp in Sources */, 8097 9E8792DC193FB6800076CA78 /* JSONObject.cpp in Sources */, 8098 9E8792DD193FB6800076CA78 /* JSGlobalObjectFunctions.cpp in Sources */, 8099 9E8792DE193FB6800076CA78 /* JSFunction.cpp in Sources */, 8100 9E8792DF193FB6800076CA78 /* JSBoundFunction.cpp in Sources */, 8101 9E8792E0193FB6800076CA78 /* JSArrayIterator.cpp in Sources */, 8102 9E8792E1193FB6800076CA78 /* JSArrayBufferPrototype.cpp in Sources */, 8103 9E8792E2193FB6800076CA78 /* JSArrayBufferConstructor.cpp in Sources */, 8104 9E8792E3193FB6800076CA78 /* FunctionPrototype.cpp in Sources */, 8105 9E8792E4193FB6800076CA78 /* FunctionConstructor.cpp in Sources */, 8106 9E8792E5193FB6800076CA78 /* ErrorPrototype.cpp in Sources */, 8107 9E8792E6193FB6800076CA78 /* ErrorConstructor.cpp in Sources */, 8108 9E8792E7193FB6800076CA78 /* DatePrototype.cpp in Sources */, 8109 9E8792E8193FB6800076CA78 /* DateConstructor.cpp in Sources */, 8110 9E8792E9193FB6800076CA78 /* BooleanPrototype.cpp in Sources */, 8111 9E8792EA193FB6800076CA78 /* BooleanConstructor.cpp in Sources */, 8112 9E8792EB193FB6800076CA78 /* ArrayIteratorPrototype.cpp in Sources */, 8113 9E8792EC193FB6800076CA78 /* ArgumentsIteratorPrototype.cpp in Sources */, 8114 9E8792ED193FB6800076CA78 /* Arguments.cpp in Sources */, 8115 9E8792EE193FB6800076CA78 /* NativeErrorConstructor.cpp in Sources */, 8116 9E8792EF193FB6800076CA78 /* SetConstructor.cpp in Sources */, 8117 9E8792F0193FB6800076CA78 /* ArrayConstructor.cpp in Sources */, 8118 9E8792F1193FB6800076CA78 /* ArrayPrototype.cpp in Sources */, 8119 9E8792F2193FB6800076CA78 /* NumberConstructor.cpp in Sources */, 8120 9E8792F3193FB6800076CA78 /* NumberPrototype.cpp in Sources */, 8121 ); 8122 runOnlyForDeploymentPostprocessing = 0; 8123 }; 7418 8124 /* End PBXSourcesBuildPhase section */ 7419 8125 … … 7444 8150 targetProxy = 5540756818DA58AD00EFF7F2 /* PBXContainerItemProxy */; 7445 8151 }; 7446 55F8FC2C18EB937B00783E6E /* PBXTargetDependency */ = {7447 isa = PBXTargetDependency;7448 target = 5540756218DA58AD00EFF7F2 /* Compile Runtime to LLVM IR */;7449 targetProxy = 55F8FC2B18EB937B00783E6E /* PBXContainerItemProxy */;7450 };7451 8152 5D69E912152BE5470028D720 /* PBXTargetDependency */ = { 7452 8153 isa = PBXTargetDependency; … … 7508 8209 target = 932F5B3E0822A1C700736975 /* JavaScriptCore */; 7509 8210 targetProxy = 932F5BE60822A1C700736975 /* PBXContainerItemProxy */; 8211 }; 8212 9E8791D9193FB6800076CA78 /* PBXTargetDependency */ = { 8213 isa = PBXTargetDependency; 8214 target = 0FCEFAB51805D61600472CE4 /* llvmForJSC */; 8215 targetProxy = 9E8791DA193FB6800076CA78 /* PBXContainerItemProxy */; 8216 }; 8217 9E8791DB193FB6800076CA78 /* PBXTargetDependency */ = { 8218 isa = PBXTargetDependency; 8219 target = 65788A9D18B409EB00C189FF /* Offline Assembler */; 8220 targetProxy = 9E8791DC193FB6800076CA78 /* PBXContainerItemProxy */; 8221 }; 8222 9E8791DD193FB6800076CA78 /* PBXTargetDependency */ = { 8223 isa = PBXTargetDependency; 8224 target = 65FB3F6609D11E9100F49DEB /* Derived Sources */; 8225 targetProxy = 9E8791DE193FB6800076CA78 /* PBXContainerItemProxy */; 8226 }; 8227 9E8792FC193FB69F0076CA78 /* PBXTargetDependency */ = { 8228 isa = PBXTargetDependency; 8229 target = 5540756218DA58AD00EFF7F2 /* Compile Runtime to LLVM IR */; 8230 targetProxy = 9E8792FB193FB69F0076CA78 /* PBXContainerItemProxy */; 8231 }; 8232 9E8792FE193FB6A60076CA78 /* PBXTargetDependency */ = { 8233 isa = PBXTargetDependency; 8234 target = 9E8791D8193FB6800076CA78 /* Compile Runtime to Binary */; 8235 targetProxy = 9E8792FD193FB6A60076CA78 /* PBXContainerItemProxy */; 7510 8236 }; 7511 8237 /* End PBXTargetDependency section */ … … 7874 8600 name = Production; 7875 8601 }; 8602 9E8792F6193FB6800076CA78 /* Debug */ = { 8603 isa = XCBuildConfiguration; 8604 baseConfigurationReference = 5540758418F4A37500602A5D /* CompileRuntimeToLLVMIR.xcconfig */; 8605 buildSettings = { 8606 OTHER_CFLAGS = ""; 8607 OTHER_CPLUSPLUSFLAGS = ""; 8608 PRODUCT_NAME = "Compile Runtime to Binary"; 8609 }; 8610 name = Debug; 8611 }; 8612 9E8792F7193FB6800076CA78 /* Release */ = { 8613 isa = XCBuildConfiguration; 8614 baseConfigurationReference = 5540758418F4A37500602A5D /* CompileRuntimeToLLVMIR.xcconfig */; 8615 buildSettings = { 8616 OTHER_CFLAGS = ""; 8617 OTHER_CPLUSPLUSFLAGS = ""; 8618 PRODUCT_NAME = "Compile Runtime to Binary"; 8619 }; 8620 name = Release; 8621 }; 8622 9E8792F8193FB6800076CA78 /* Profiling */ = { 8623 isa = XCBuildConfiguration; 8624 baseConfigurationReference = 5540758418F4A37500602A5D /* CompileRuntimeToLLVMIR.xcconfig */; 8625 buildSettings = { 8626 OTHER_CFLAGS = ""; 8627 OTHER_CPLUSPLUSFLAGS = ""; 8628 PRODUCT_NAME = "Compile Runtime to Binary"; 8629 }; 8630 name = Profiling; 8631 }; 8632 9E8792F9193FB6800076CA78 /* Production */ = { 8633 isa = XCBuildConfiguration; 8634 baseConfigurationReference = 5540758418F4A37500602A5D /* CompileRuntimeToLLVMIR.xcconfig */; 8635 buildSettings = { 8636 OTHER_CFLAGS = ""; 8637 OTHER_CPLUSPLUSFLAGS = ""; 8638 PRODUCT_NAME = "Compile Runtime to Binary"; 8639 }; 8640 name = Production; 8641 }; 7876 8642 A761483D0E6402F700E357FA /* Profiling */ = { 7877 8643 isa = XCBuildConfiguration; … … 8083 8849 defaultConfigurationName = Production; 8084 8850 }; 8851 9E8792F5193FB6800076CA78 /* Build configuration list for PBXNativeTarget "Compile Runtime to Binary" */ = { 8852 isa = XCConfigurationList; 8853 buildConfigurations = ( 8854 9E8792F6193FB6800076CA78 /* Debug */, 8855 9E8792F7193FB6800076CA78 /* Release */, 8856 9E8792F8193FB6800076CA78 /* Profiling */, 8857 9E8792F9193FB6800076CA78 /* Production */, 8858 ); 8859 defaultConfigurationIsVisible = 0; 8860 defaultConfigurationName = Production; 8861 }; 8085 8862 /* End XCConfigurationList section */ 8086 8863 }; -
branches/ftlopt/Source/JavaScriptCore/build-symbol-table-index.py
r169584 r169628 5 5 import subprocess 6 6 import sys 7 from sets import Set 7 8 from operator import itemgetter 8 9 … … 23 24 framework_directory = os.path.join(os.getenv("BUILT_PRODUCTS_DIR"), os.getenv("JAVASCRIPTCORE_RESOURCES_DIR"), "Runtime", current_arch) 24 25 26 25 27 symbol_table_location = os.path.join(framework_directory, "Runtime.symtbl") 26 28 … … 34 36 symbol_table_modification_time = os.path.getmtime(symbol_table_location) 35 37 36 file_suffix = "bc .gz"38 file_suffix = "bc" 37 39 file_suffix_length = len(file_suffix) 40 41 tested_symbols_location = "./tested-symbols.symlst" 42 include_symbol_table_location = os.path.join(os.getenv("SHARED_DERIVED_FILE_DIR"), "JavaScriptCore/InlineRuntimeSymbolTable.h") 43 44 tested_symbols = Set([]) 45 46 if os.path.isfile(tested_symbols_location): 47 with open(tested_symbols_location, 'r') as file: 48 print("Loading tested symbols") 49 for line in file: 50 tested_symbols.add(line[:-1]) 38 51 39 52 for bitcode_file in glob.iglob(os.path.join(framework_directory, "*." + file_suffix)): … … 49 62 50 63 for symbol in lines: 51 if symbol[:2] == "__" and symbol[-3:] != ".eh" :52 symbol_table[symbol ] = bitcode_basename[1:]64 if symbol[:2] == "__" and symbol[-3:] != ".eh" and symbol in tested_symbols: 65 symbol_table[symbol[1:]] = bitcode_basename 53 66 54 67 if not symbol_table_is_out_of_date: … … 68 81 print("Writing symbol table") 69 82 70 with open(symbol_table_location, "w") as file: 71 for symbol, location in symbol_list: 72 file.write("{} {}\n".format(symbol, location)) 73 83 with open(symbol_table_location, "w") as symbol_file: 84 with open(include_symbol_table_location, "w") as include_file: 85 include_file.write("#define FOR_EACH_LIBRARY_SYMBOL(macro)") 86 for symbol, location in symbol_list: 87 symbol_file.write("{} {}\n".format(symbol, location)) 88 include_file.write(" \\\nmacro(\"{}\", \"{}\")".format(symbol, location)) 89 include_file.write("\n") 74 90 print("Done") -
branches/ftlopt/Source/JavaScriptCore/build-symbol-table-index.sh
r169584 r169628 9 9 then 10 10 mkdir -p "$RUNTIME_INSTALL_DIR/$arch" 11 cp "$RUNTIME_DERIVED_SOURCES_DIR/$arch"/*.bc .gz"$RUNTIME_INSTALL_DIR/$arch"/.11 cp "$RUNTIME_DERIVED_SOURCES_DIR/$arch"/*.bc "$RUNTIME_INSTALL_DIR/$arch"/. 12 12 ${SRCROOT}/build-symbol-table-index.py $arch 13 13 fi -
branches/ftlopt/Source/JavaScriptCore/copy-llvm-ir-to-derived-sources.sh
r169584 r169628 12 12 do 13 13 file_name=${file##*/} 14 gzip -9 -c "$file" > "$RUNTIME_DERIVED_SOURCES_DIR/$arch/${file_name%.o}.bc.gz"14 cp "$file" "$RUNTIME_DERIVED_SOURCES_DIR/$arch/${file_name%.o}.bc" 15 15 done 16 16 fi -
branches/ftlopt/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r169588 r169628 1254 1254 1255 1255 Intrinsic intrinsic = callLinkStatus.intrinsicFor(specializationKind); 1256 1257 JSFunction* knownFunction = nullptr; 1256 1258 if (intrinsic != NoIntrinsic) { 1257 1259 emitFunctionChecks(callLinkStatus, callTarget, registerOffset, specializationKind); … … 1270 1272 m_graph.compilation()->noticeInlinedCall(); 1271 1273 return; 1272 } 1273 1274 addCall(result, op, callTarget, argumentCountIncludingThis, registerOffset); 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); 1275 1281 } 1276 1282 -
branches/ftlopt/Source/JavaScriptCore/dfg/DFGNode.h
r169588 r169628 1006 1006 } 1007 1007 1008 bool canBeKnownFunction() 1009 { 1010 switch (op()) { 1011 case Construct: 1012 case Call: 1013 return true; 1014 default: 1015 return false; 1016 } 1017 } 1018 1019 bool hasKnownFunction() 1020 { 1021 switch (op()) { 1022 case Construct: 1023 case Call: 1024 return (bool)m_opInfo; 1025 default: 1026 return false; 1027 } 1028 } 1029 1030 JSFunction* knownFunction() 1031 { 1032 ASSERT(canBeKnownFunction()); 1033 return bitwise_cast<JSFunction*>(m_opInfo); 1034 } 1035 1036 void giveKnownFunction(JSFunction* callData) 1037 { 1038 ASSERT(canBeKnownFunction()); 1039 m_opInfo = bitwise_cast<uintptr_t>(callData); 1040 } 1041 1008 1042 bool hasFunction() 1009 1043 { -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLAbbreviatedTypes.h
r169584 r169628 44 44 typedef LLVMTypeRef LType; 45 45 typedef LLVMValueRef LValue; 46 typedef LLVMMemoryBufferRef LMemoryBuffer; 46 47 47 48 } } // namespace JSC::FTL -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLAbbreviations.h
r164424 r169628 114 114 static inline LType typeOf(LValue value) { return llvm->TypeOf(value); } 115 115 116 static inline LType getElementType(LType value) { return llvm->GetElementType(value); } 117 116 118 static inline unsigned mdKindID(LContext context, const char* string) { return llvm->GetMDKindIDInContext(context, string, std::strlen(string)); } 117 119 static inline LValue mdString(LContext context, const char* string, unsigned length) { return llvm->MDStringInContext(context, string, length); } … … 135 137 static inline void setMetadata(LValue instruction, unsigned kind, LValue metadata) { llvm->SetMetadata(instruction, kind, metadata); } 136 138 139 static inline LValue getFirstInstruction(LBasicBlock block) { return llvm->GetFirstInstruction(block); } 140 static inline LValue getNextInstruction(LValue instruction) { return llvm->GetNextInstruction(instruction); } 141 142 137 143 static inline LValue addFunction(LModule module, const char* name, LType type) { return llvm->AddFunction(module, name, type); } 138 static inline void setLinkage(LValue global, LLinkage linkage) { llvm->SetLinkage(global, linkage); } 144 static inline LValue getNamedFunction(LModule module, const char* name) { return llvm->GetNamedFunction(module, name); } 145 static inline LValue getFirstFunction(LModule module) { return llvm->GetFirstFunction(module); } 146 static inline LValue getNextFunction(LValue function) { return llvm->GetNextFunction(function); } 147 139 148 static inline void setFunctionCallingConv(LValue function, LCallConv convention) { llvm->SetFunctionCallConv(function, convention); } 140 149 static inline void addTargetDependentFunctionAttr(LValue function, const char* key, const char* value) { llvm->AddTargetDependentFunctionAttr(function, key, value); } 150 static inline void removeFunctionAttr(LValue function, LLVMAttribute pa) { llvm->RemoveFunctionAttr(function, pa); } 151 152 153 154 static inline void setLinkage(LValue global, LLVMLinkage linkage) { llvm->SetLinkage(global, linkage); } 155 static inline void setVisibility(LValue global, LLVMVisibility viz) { llvm->SetVisibility(global, viz); } 156 static inline LLVMBool isDeclaration(LValue global) { return llvm->IsDeclaration(global); } 157 158 static inline LLVMBool linkModules(LModule dest, LModule str, LLVMLinkerMode mode, char** outMessage) { return llvm->LinkModules(dest, str, mode, outMessage); } 159 160 static inline const char * getValueName(LValue global) { return llvm->GetValueName(global); } 161 162 static inline LValue getNamedGlobal(LModule module, const char* name) { return llvm->GetNamedGlobal(module, name); } 163 static inline LValue getFirstGlobal(LModule module) { return llvm->GetFirstGlobal(module); } 164 static inline LValue getNextGlobal(LValue global) { return llvm->GetNextGlobal(global); } 165 166 167 168 141 169 142 170 static inline LValue addExternFunction(LModule module, const char* name, LType type) … … 147 175 } 148 176 177 static inline LLVMBool createMemoryBufferWithContentsOfFile(const char* path, LLVMMemoryBufferRef* outMemBuf, char** outMessage) 178 { 179 return llvm->CreateMemoryBufferWithContentsOfFile(path, outMemBuf, outMessage); 180 } 181 182 183 static inline LLVMBool parseBitcodeInContext(LLVMContextRef contextRef, LLVMMemoryBufferRef memBuf, LModule *outModule, char **outMessage) 184 { 185 return llvm->ParseBitcodeInContext(contextRef, memBuf, outModule, outMessage); 186 } 187 188 189 static inline void disposeMemoryBuffer(LLVMMemoryBufferRef memBuf){ llvm->DisposeMemoryBuffer(memBuf); } 190 191 192 static inline LModule moduleCreateWithNameInContext(const char* moduleID, LContext context){ return llvm->ModuleCreateWithNameInContext(moduleID, context); } 193 static inline void disposeModule(LModule m){ llvm->DisposeModule(m); } 194 149 195 static inline LValue getParam(LValue function, unsigned index) { return llvm->GetParam(function, index); } 196 197 static inline void getParamTypes(LType function, LType* dest) { return llvm->GetParamTypes(function, dest); } 150 198 static inline LValue getUndef(LType type) { return llvm->GetUndef(type); } 151 199 … … 156 204 static inline LValue constNull(LType type) { return llvm->ConstNull(type); } 157 205 static inline LValue constBitCast(LValue value, LType type) { return llvm->ConstBitCast(value, type); } 206 207 static inline LBasicBlock getFirstBasicBlock(LValue function) { return llvm->GetFirstBasicBlock(function); } 208 static inline LBasicBlock getNextBasicBlock(LBasicBlock block) { return llvm->GetNextBasicBlock(block); } 158 209 159 210 static inline LBasicBlock appendBasicBlock(LContext context, LValue function, const char* name = "") { return llvm->AppendBasicBlockInContext(context, function, name); } -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLCompile.cpp
r169584 r169628 524 524 modulePasses = llvm->CreatePassManager(); 525 525 llvm->AddTargetData(llvm->GetExecutionEngineTargetData(engine), modulePasses); 526 527 LLVMTargetMachineRef targetMachine = llvm->GetExecutionEngineTargetMachine(engine); 528 529 llvm->AddAnalysisPasses(targetMachine, modulePasses); 526 530 llvm->AddPromoteMemoryToRegisterPass(modulePasses); 531 532 llvm->AddGlobalOptimizerPass(modulePasses); 533 534 llvm->AddFunctionInliningPass(modulePasses); 535 llvm->AddPruneEHPass(modulePasses); 536 llvm->AddGlobalDCEPass(modulePasses); 537 527 538 llvm->AddConstantPropagationPass(modulePasses); 539 llvm->AddAggressiveDCEPass(modulePasses); 528 540 llvm->AddInstructionCombiningPass(modulePasses); 529 541 llvm->AddBasicAliasAnalysisPass(modulePasses); … … 532 544 llvm->AddCFGSimplificationPass(modulePasses); 533 545 llvm->AddDeadStoreEliminationPass(modulePasses); 546 534 547 llvm->RunPassManager(modulePasses, state.module); 535 548 } else { 536 549 LLVMPassManagerBuilderRef passBuilder = llvm->PassManagerBuilderCreate(); 537 550 llvm->PassManagerBuilderSetOptLevel(passBuilder, Options::llvmOptimizationLevel()); 551 llvm->PassManagerBuilderUseInlinerWithThreshold(passBuilder, 275); 538 552 llvm->PassManagerBuilderSetSizeLevel(passBuilder, Options::llvmSizeLevel()); 539 553 -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp
r169588 r169628 29 29 #if ENABLE(FTL_JIT) 30 30 31 #include "BundlePath.h" 31 32 #include "CodeBlockWithJITType.h" 32 33 #include "DFGAbstractInterpreterInlines.h" … … 41 42 #include "FTLThunks.h" 42 43 #include "FTLWeightedTarget.h" 44 #include "JSCInlines.h" 43 45 #include "LinkBuffer.h" 44 46 #include "OperandsInlines.h" 45 #include "JSCInlines.h"46 47 #include "VirtualRegister.h" 47 48 #include <atomic> 49 #include <dlfcn.h> 50 #include <llvm/InitializeLLVM.h> 48 51 #include <wtf/ProcessID.h> 49 52 … … 94 97 , m_interpreter(state.graph, m_state) 95 98 , m_stackmapIDs(0) 99 , m_tbaaKind(mdKindID(state.context, "tbaa")) 100 , m_tbaaStructKind(mdKindID(state.context, "tbaa.struct")) 96 101 { 97 102 } … … 110 115 111 116 m_ftlState.module = 112 llvm->ModuleCreateWithNameInContext(name.data(), m_ftlState.context);117 moduleCreateWithNameInContext(name.data(), m_ftlState.context); 113 118 114 119 m_ftlState.function = addFunction( … … 139 144 m_out.appendTo(m_prologue, stackOverflow); 140 145 createPhiVariables(); 146 147 Vector<BasicBlock*> depthFirst; 148 m_graph.getBlocksInDepthFirstOrder(depthFirst); 149 150 int maxNumberOfArguments = -1; 151 for (unsigned blockIndex = depthFirst.size(); blockIndex--; ) { 152 BasicBlock* block = depthFirst[blockIndex]; 153 for (unsigned nodeIndex = block->size(); nodeIndex--; ) { 154 Node* m_node = block->at(nodeIndex); 155 if (m_node->hasKnownFunction()) { 156 int numArgs = m_node->numChildren(); 157 NativeFunction func = m_node->knownFunction()->nativeFunction(); 158 Dl_info info; 159 if (dladdr((void*)func, &info)) { 160 LValue callee = getFunctionBySymbol(info.dli_sname); 161 if (callee && numArgs > maxNumberOfArguments) 162 maxNumberOfArguments = numArgs; 163 } 164 } 165 } 166 } 167 141 168 LValue capturedAlloca = m_out.alloca(arrayType(m_out.int64, m_graph.m_nextMachineLocal)); 169 170 if (maxNumberOfArguments >= 0) { 171 m_execState = m_out.alloca(arrayType(m_out.int64, JSStack::CallFrameHeaderSize + maxNumberOfArguments)); 172 m_execStorage = m_out.ptrToInt(m_execState, m_out.intPtr); 173 } 174 142 175 m_captured = m_out.add( 143 176 m_out.ptrToInt(capturedAlloca, m_out.intPtr), … … 176 209 m_out.constInt32(MacroAssembler::maxJumpReplacementSize())); 177 210 m_out.unreachable(); 178 179 Vector<BasicBlock*> depthFirst; 180 m_graph.getBlocksInDepthFirstOrder(depthFirst); 211 212 181 213 for (unsigned i = 0; i < depthFirst.size(); ++i) 182 214 compileBlock(depthFirst[i]); … … 3553 3585 setBoolean(m_out.bitNot(boolify(m_node->child1()))); 3554 3586 } 3555 3587 3556 3588 void compileCallOrConstruct() 3557 3589 { … … 3559 3591 int numPassedArgs = m_node->numChildren() - 1; 3560 3592 int numArgs = numPassedArgs + dummyThisArgument; 3561 3562 LValue callee = lowJSValue(m_graph.varArgChild(m_node, 0)); 3563 3593 3594 if (m_node->hasKnownFunction() 3595 && possiblyCompileInlineableNativeCall(dummyThisArgument, numPassedArgs, numArgs)) 3596 return; 3597 3598 LValue jsCallee = lowJSValue(m_graph.varArgChild(m_node, 0)); 3599 3564 3600 unsigned stackmapID = m_stackmapIDs++; 3565 3601 … … 3569 3605 arguments.append(constNull(m_out.ref8)); 3570 3606 arguments.append(m_out.constInt32(1 + JSStack::CallFrameHeaderSize - JSStack::CallerFrameAndPCSize + numArgs)); 3571 arguments.append( callee); // callee -> %rax3607 arguments.append(jsCallee); // callee -> %rax 3572 3608 arguments.append(getUndef(m_out.int64)); // code block 3573 3609 arguments.append(getUndef(m_out.int64)); // scope chain 3574 arguments.append( callee); // callee -> stack3610 arguments.append(jsCallee); // callee -> stack 3575 3611 arguments.append(m_out.constInt64(numArgs)); // argument count and zeros for the tag 3576 3612 if (dummyThisArgument) … … 3588 3624 setJSValue(call); 3589 3625 } 3590 3626 3591 3627 void compileJump() 3592 3628 { … … 3940 3976 } 3941 3977 3978 bool possiblyCompileInlineableNativeCall(int dummyThisArgument, int numPassedArgs, int numArgs) 3979 { 3980 JSFunction* knownFunction = m_node->knownFunction(); 3981 NativeFunction function = knownFunction->nativeFunction(); 3982 Dl_info info; 3983 if (dladdr((void*)function, &info)) { 3984 LValue callee = getFunctionBySymbol(info.dli_sname); 3985 LType typeCallee; 3986 if (callee && (typeCallee = typeOf(callee)) && (typeCallee = getElementType(typeCallee))) { 3987 3988 JSScope* scope = knownFunction->scopeUnchecked(); 3989 m_out.storePtr(m_callFrame, m_execStorage, m_heaps.CallFrame_callerFrame); 3990 m_out.storePtr(constNull(m_out.intPtr), addressFor(m_execStorage, JSStack::CodeBlock)); 3991 m_out.storePtr(weakPointer(scope), addressFor(m_execStorage, JSStack::ScopeChain)); 3992 m_out.storePtr(weakPointer(knownFunction), addressFor(m_execStorage, JSStack::Callee)); 3993 3994 m_out.store64(m_out.constInt64(numArgs), addressFor(m_execStorage, JSStack::ArgumentCount)); 3995 3996 if (dummyThisArgument) 3997 m_out.storePtr(getUndef(m_out.int64), addressFor(m_execStorage, JSStack::ThisArgument)); 3998 3999 for (int i = 0; i < numPassedArgs; ++i) { 4000 m_out.storePtr(lowJSValue(m_graph.varArgChild(m_node, 1 + i)), 4001 addressFor(m_execStorage, dummyThisArgument ? JSStack::FirstArgument : JSStack::ThisArgument, i * sizeof(Register))); 4002 } 4003 4004 LType typeCalleeArg; 4005 getParamTypes(typeCallee, &typeCalleeArg); 4006 LValue calleeCallFrame = m_out.address(m_execState, m_heaps.CallFrame_callerFrame).value(); 4007 m_out.storePtr(m_out.ptrToInt(calleeCallFrame, m_out.intPtr), m_out.absolute(&vm().topCallFrame)); 4008 4009 LValue call = vmCall(callee, 4010 m_out.bitCast(calleeCallFrame, typeCalleeArg)); 4011 4012 if (Options::verboseCompilation()) 4013 dataLog("Inlining: ", info.dli_sname, "\n"); 4014 4015 setJSValue(call); 4016 return true; 4017 } 4018 } 4019 return false; 4020 } 4021 4022 LValue getFunctionBySymbol(const CString symbol) 4023 { 4024 if (!m_ftlState.symbolTable.contains(symbol)) 4025 return nullptr; 4026 if (!getModuleByPathForSymbol(m_ftlState.symbolTable.get(symbol), symbol)) 4027 return nullptr; 4028 return getNamedFunction(m_ftlState.module, symbol.data()); 4029 } 4030 4031 bool getModuleByPathForSymbol(const CString path, const CString symbol) 4032 { 4033 if (m_ftlState.nativeLoadedLibraries.contains(path)) { 4034 LValue function = getNamedFunction(m_ftlState.module, symbol.data()); 4035 if (!isInlinableSize(function)) { 4036 // We had no choice but to compile this function, but don't try to inline it ever again. 4037 m_ftlState.symbolTable.remove(symbol); 4038 return false; 4039 } 4040 return true; 4041 } 4042 4043 LMemoryBuffer memBuf; 4044 4045 ASSERT(isX86() || isARM64()); 4046 4047 const CString actualPath = toCString(bundlePath().data(), 4048 isX86() ? "/Resources/Runtime/x86_64/" : "/Resources/Runtime/arm64/", 4049 path.data()); 4050 4051 if (createMemoryBufferWithContentsOfFile(actualPath.data(), &memBuf, nullptr)) { 4052 if (Options::verboseCompilation()) 4053 dataLog("Failed to load module at ", actualPath.data(), "\n for symbol ", symbol.data()); 4054 return false; 4055 } 4056 4057 LModule module; 4058 4059 if (parseBitcodeInContext(m_ftlState.context, memBuf, &module, nullptr)) { 4060 disposeMemoryBuffer(memBuf); 4061 return false; 4062 } 4063 4064 disposeMemoryBuffer(memBuf); 4065 4066 if (LValue function = getNamedFunction(m_ftlState.module, symbol.data())) { 4067 if (!isInlinableSize(function)) { 4068 m_ftlState.symbolTable.remove(symbol); 4069 disposeModule(module); 4070 return false; 4071 } 4072 } 4073 4074 Vector<CString> namedFunctions; 4075 for (LValue function = getFirstFunction(module); function; function = getNextFunction(function)) { 4076 CString functionName(getValueName(function)); 4077 namedFunctions.append(functionName); 4078 4079 for (LBasicBlock basicBlock = getFirstBasicBlock(function); basicBlock; basicBlock = getNextBasicBlock(basicBlock)) { 4080 for (LValue instruction = getFirstInstruction(basicBlock); instruction; instruction = getNextInstruction(instruction)) { 4081 setMetadata(instruction, m_tbaaKind, nullptr); 4082 setMetadata(instruction, m_tbaaStructKind, nullptr); 4083 } 4084 } 4085 } 4086 4087 Vector<CString> namedGlobals; 4088 for (LValue global = getFirstGlobal(module); global; global = getNextGlobal(global)) { 4089 CString globalName(getValueName(global)); 4090 namedGlobals.append(globalName); 4091 } 4092 4093 if (linkModules(m_ftlState.module, module, LLVMLinkerDestroySource, nullptr)) 4094 return false; 4095 4096 for (CString* symbol = namedFunctions.begin(); symbol != namedFunctions.end(); ++symbol) { 4097 LValue function = getNamedFunction(m_ftlState.module, symbol->data()); 4098 setVisibility(function, LLVMHiddenVisibility); 4099 if (!isDeclaration(function)) { 4100 setLinkage(function, LLVMPrivateLinkage); 4101 4102 if (ASSERT_DISABLED) 4103 removeFunctionAttr(function, LLVMStackProtectAttribute); 4104 } 4105 } 4106 4107 for (CString* symbol = namedGlobals.begin(); symbol != namedGlobals.end(); ++symbol) { 4108 LValue global = getNamedGlobal(m_ftlState.module, symbol->data()); 4109 setVisibility(global, LLVMHiddenVisibility); 4110 if (!isDeclaration(global)) 4111 setLinkage(global, LLVMPrivateLinkage); 4112 } 4113 4114 m_ftlState.nativeLoadedLibraries.add(path); 4115 return true; 4116 } 4117 4118 bool isInlinableSize(LValue function) 4119 { 4120 size_t instructionCount = 0; 4121 size_t maxSize = Options::maximumLLVMInstructionCountForNativeInlining(); 4122 for (LBasicBlock basicBlock = getFirstBasicBlock(function); basicBlock; basicBlock = getNextBasicBlock(basicBlock)) { 4123 for (LValue instruction = getFirstInstruction(basicBlock); instruction; instruction = getNextInstruction(instruction)) { 4124 if (++instructionCount >= maxSize) 4125 return false; 4126 } 4127 } 4128 return true; 4129 } 4130 3942 4131 LValue didOverflowStack() 3943 4132 { … … 6123 6312 HashMap<BasicBlock*, LBasicBlock> m_blocks; 6124 6313 6314 LValue m_execState; 6315 LValue m_execStorage; 6125 6316 LValue m_callFrame; 6126 6317 LValue m_captured; … … 6154 6345 6155 6346 uint32_t m_stackmapIDs; 6347 unsigned m_tbaaKind; 6348 unsigned m_tbaaStructKind; 6156 6349 }; 6157 6350 -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLState.cpp
r169584 r169628 33 33 #include "FTLJITCode.h" 34 34 #include "FTLJITFinalizer.h" 35 #include "InlineRuntimeSymbolTable.h" 36 #include <llvm/InitializeLLVM.h> 37 #include <stdio.h> 35 38 36 39 namespace JSC { namespace FTL { … … 47 50 , compactUnwindSize(0) 48 51 { 52 53 #define SYMBOL_TABLE_ADD(symbol, file) \ 54 symbolTable.fastAdd(symbol, file); 55 FOR_EACH_LIBRARY_SYMBOL(SYMBOL_TABLE_ADD) 56 #undef SYMBOL_TABLE_ADD 57 49 58 switch (graph.m_plan.mode) { 50 59 case FTLMode: { -
branches/ftlopt/Source/JavaScriptCore/ftl/FTLState.h
r169584 r169628 82 82 83 83 void dumpState(const char* when); 84 85 HashSet<CString> nativeLoadedLibraries; 86 HashMap<CString, CString> symbolTable; 84 87 }; 85 88 -
branches/ftlopt/Source/JavaScriptCore/heap/HandleStack.h
r169584 r169628 54 54 55 55 private: 56 void grow();56 JS_EXPORT_PRIVATE void grow(); 57 57 void zapTo(Frame&); 58 58 HandleSlot findFirstAfter(HandleSlot); -
branches/ftlopt/Source/JavaScriptCore/llvm/InitializeLLVM.h
r169584 r169628 29 29 #if HAVE(LLVM) 30 30 31 #include <string> 32 #include <wtf/text/CString.h> 33 31 34 namespace JSC { 32 35 33 36 void initializeLLVMImpl(); 37 38 extern const CString* llvmBitcodeLibraryForInliningPath; 34 39 35 40 // You msut call this before using JSC::llvm. It's safe to call this multiple times. -
branches/ftlopt/Source/JavaScriptCore/llvm/LLVMAPIFunctions.h
r169584 r169628 30 30 31 31 #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)) \ 32 39 macro(void, InitializeCore, (LLVMPassRegistryRef R)) \ 33 40 macro(void, Shutdown, ()) \ … … 52 59 macro(LLVMContextRef, GetModuleContext, (LLVMModuleRef M)) \ 53 60 macro(LLVMTypeRef, GetTypeByName, (LLVMModuleRef M, const char *Name)) \ 61 macro(void, DumpType, (LLVMTypeRef Val)) \ 54 62 macro(unsigned, GetNamedMetadataNumOperands, (LLVMModuleRef M, const char* name)) \ 55 63 macro(void, GetNamedMetadataOperands, (LLVMModuleRef M, const char* name, LLVMValueRef *Dest)) \ … … 576 584 macro(void *, RecompileAndRelinkFunction, (LLVMExecutionEngineRef EE, LLVMValueRef Fn)) \ 577 585 macro(LLVMTargetDataRef, GetExecutionEngineTargetData, (LLVMExecutionEngineRef EE)) \ 586 macro(LLVMTargetMachineRef, GetExecutionEngineTargetMachine, (LLVMExecutionEngineRef EE)) \ 578 587 macro(void, AddGlobalMapping, (LLVMExecutionEngineRef EE, LLVMValueRef Global, void* Addr)) \ 579 588 macro(void *, GetPointerToGlobal, (LLVMExecutionEngineRef EE, LLVMValueRef Global)) \ … … 602 611 macro(void, PassManagerBuilderPopulateModulePassManager, (LLVMPassManagerBuilderRef PMB, LLVMPassManagerRef PM)) \ 603 612 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)) \ 604 615 macro(void, AddAggressiveDCEPass, (LLVMPassManagerRef PM)) \ 605 616 macro(void, AddCFGSimplificationPass, (LLVMPassManagerRef PM)) \ 606 617 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)) \ 607 625 macro(void, AddGVNPass, (LLVMPassManagerRef PM)) \ 608 626 macro(void, AddIndVarSimplifyPass, (LLVMPassManagerRef PM)) \ -
branches/ftlopt/Source/JavaScriptCore/llvm/LLVMHeaders.h
r169584 r169628 44 44 45 45 #include <llvm-c/Analysis.h> 46 #include <llvm-c/BitReader.h> 46 47 #include <llvm-c/Core.h> 47 48 #include <llvm-c/Disassembler.h> 48 49 #include <llvm-c/ExecutionEngine.h> 50 #include <llvm-c/Initialization.h> 51 #include <llvm-c/Linker.h> 49 52 #include <llvm-c/Target.h> 53 #include <llvm-c/TargetMachine.h> 54 #include <llvm-c/Transforms/IPO.h> 50 55 #include <llvm-c/Transforms/PassManagerBuilder.h> 51 56 #include <llvm-c/Transforms/Scalar.h> -
branches/ftlopt/Source/JavaScriptCore/runtime/DateConversion.h
r169584 r169628 40 40 }; 41 41 42 WTF::String formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant);42 JS_EXPORT_PRIVATE WTF::String formatDateTime(const GregorianDateTime&, DateTimeFormat, bool asUTCVariant); 43 43 44 44 } // namespace JSC -
branches/ftlopt/Source/JavaScriptCore/runtime/DateInstance.h
r169584 r169628 32 32 JS_EXPORT_PRIVATE void finishCreation(VM&, double); 33 33 34 static void destroy(JSCell*);34 JS_EXPORT_PRIVATE static void destroy(JSCell*); 35 35 36 36 public: … … 75 75 76 76 private: 77 const GregorianDateTime* calculateGregorianDateTime(ExecState*) const;78 const GregorianDateTime* calculateGregorianDateTimeUTC(ExecState*) const;77 JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTime(ExecState*) const; 78 JS_EXPORT_PRIVATE const GregorianDateTime* calculateGregorianDateTimeUTC(ExecState*) const; 79 79 80 80 mutable RefPtr<DateInstanceData> m_data; -
branches/ftlopt/Source/JavaScriptCore/runtime/ExceptionHelpers.h
r169584 r169628 51 51 JSString* errorDescriptionForValue(ExecState*, JSValue); 52 52 53 JS Object* throwOutOfMemoryError(ExecState*);54 JS Object* throwStackOverflowError(ExecState*);55 JS Object* throwTerminatedExecutionException(ExecState*);53 JS_EXPORT_PRIVATE JSObject* throwOutOfMemoryError(ExecState*); 54 JS_EXPORT_PRIVATE JSObject* throwStackOverflowError(ExecState*); 55 JS_EXPORT_PRIVATE JSObject* throwTerminatedExecutionException(ExecState*); 56 56 57 57 -
branches/ftlopt/Source/JavaScriptCore/runtime/JSArray.h
r169584 r169628 62 62 JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool throwException); 63 63 64 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);64 JS_EXPORT_PRIVATE static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&); 65 65 66 66 DECLARE_EXPORT_INFO; … … 68 68 unsigned length() const { return getArrayLength(); } 69 69 // OK to use on new arrays, but not if it might be a RegExpMatchArray. 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 JS Value pop(ExecState*);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*); 78 78 79 79 enum ShiftCountMode { … … 132 132 } 133 133 134 void fillArgList(ExecState*, MarkedArgumentBuffer&);135 void copyToArguments(ExecState*, CallFrame*, uint32_t length, int32_t firstVarArgOffset);134 JS_EXPORT_PRIVATE void fillArgList(ExecState*, MarkedArgumentBuffer&); 135 JS_EXPORT_PRIVATE void copyToArguments(ExecState*, CallFrame*, uint32_t length, int32_t firstVarArgOffset); 136 136 137 137 static Structure* createStructure(VM& vm, JSGlobalObject* globalObject, JSValue prototype, IndexingType indexingType) … … 158 158 159 159 bool shiftCountWithAnyIndexingType(ExecState*, unsigned startIndex, unsigned count); 160 bool shiftCountWithArrayStorage(unsigned startIndex, unsigned count, ArrayStorage*);160 JS_EXPORT_PRIVATE bool shiftCountWithArrayStorage(unsigned startIndex, unsigned count, ArrayStorage*); 161 161 162 162 bool unshiftCountWithAnyIndexingType(ExecState*, unsigned startIndex, unsigned count); -
branches/ftlopt/Source/JavaScriptCore/runtime/JSCJSValue.h
r169584 r169628 241 241 242 242 // Integer conversions. 243 JS_EXPORT_PRIVATEdouble toInteger(ExecState*) const;244 double toIntegerPreserveNaN(ExecState*) const;243 double toInteger(ExecState*) const; 244 JS_EXPORT_PRIVATE double toIntegerPreserveNaN(ExecState*) const; 245 245 int32_t toInt32(ExecState*) const; 246 246 uint32_t toUInt32(ExecState*) const; … … 248 248 // Floating point conversions (this is a convenience method for webcore; 249 249 // signle precision float is not a representation used in JS or JSC). 250 float toFloat(ExecState* exec) const { return static_cast<float>(toNumber(exec)); }250 JS_EXPORT_PRIVATE float toFloat(ExecState* exec) const { return static_cast<float>(toNumber(exec)); } 251 251 252 252 // Object operations, with the toObject operation included. … … 256 256 JSValue get(ExecState*, unsigned propertyName, PropertySlot&) const; 257 257 void put(ExecState*, PropertyName, JSValue, PutPropertySlot&); 258 void putToPrimitive(ExecState*, PropertyName, JSValue, PutPropertySlot&);259 void putToPrimitiveByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow);258 JS_EXPORT_PRIVATE void putToPrimitive(ExecState*, PropertyName, JSValue, PutPropertySlot&); 259 JS_EXPORT_PRIVATE void putToPrimitiveByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow); 260 260 void putByIndex(ExecState*, unsigned propertyName, JSValue, bool shouldThrow); 261 261 -
branches/ftlopt/Source/JavaScriptCore/runtime/JSDateMath.h
r169584 r169628 51 51 class VM; 52 52 53 void msToGregorianDateTime(VM&, double, bool outputIsUTC, GregorianDateTime&);54 double gregorianDateTimeToMS(VM&, const GregorianDateTime&, double, bool inputIsUTC);55 double getUTCOffset(VM&);56 double parseDate(VM&, const WTF::String&);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&); 57 57 58 58 } // namespace JSC -
branches/ftlopt/Source/JavaScriptCore/runtime/JSObject.h
r169584 r169628 111 111 112 112 JSValue prototype() const; 113 void setPrototype(VM&, JSValue prototype);114 bool setPrototypeWithCycleCheck(ExecState*, JSValue prototype);113 JS_EXPORT_PRIVATE void setPrototype(VM&, JSValue prototype); 114 JS_EXPORT_PRIVATE bool setPrototypeWithCycleCheck(ExecState*, JSValue prototype); 115 115 116 116 bool mayInterceptIndexedAccesses() … … 132 132 // currently returns incorrect results for the DOM window (with non-own properties) 133 133 // being returned. Once this is fixed we should migrate code & remove this method. 134 bool getOwnPropertyDescriptor(ExecState*, PropertyName, PropertyDescriptor&);135 136 bool allowsAccessFrom(ExecState*);134 JS_EXPORT_PRIVATE bool getOwnPropertyDescriptor(ExecState*, PropertyName, PropertyDescriptor&); 135 136 JS_EXPORT_PRIVATE bool allowsAccessFrom(ExecState*); 137 137 138 138 unsigned getArrayLength() const … … 590 590 JSFunction* putDirectBuiltinFunction(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes); 591 591 JSFunction* putDirectBuiltinFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, FunctionExecutable*, unsigned attributes); 592 void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes);592 JS_EXPORT_PRIVATE void putDirectNativeFunctionWithoutTransition(VM&, JSGlobalObject*, const PropertyName&, unsigned functionLength, NativeFunction, Intrinsic, unsigned attributes); 593 593 594 594 JS_EXPORT_PRIVATE static bool defineOwnProperty(JSObject*, ExecState*, PropertyName, const PropertyDescriptor&, bool shouldThrow); … … 601 601 bool isErrorInstance() const; 602 602 603 void seal(VM&);604 void freeze(VM&);603 JS_EXPORT_PRIVATE void seal(VM&); 604 JS_EXPORT_PRIVATE void freeze(VM&); 605 605 JS_EXPORT_PRIVATE void preventExtensions(VM&); 606 606 bool isSealed(VM& vm) { return structure(vm)->isSealed(vm); } … … 979 979 ContiguousJSValues ensureContiguousSlow(VM&); 980 980 ContiguousJSValues rageEnsureContiguousSlow(VM&); 981 ArrayStorage* ensureArrayStorageSlow(VM&);981 JS_EXPORT_PRIVATE ArrayStorage* ensureArrayStorageSlow(VM&); 982 982 983 983 enum DoubleToContiguousMode { EncodeValueAsDouble, RageConvertDoubleToValue }; -
branches/ftlopt/Source/JavaScriptCore/runtime/JSWrapperObject.h
r169584 r169628 61 61 static const unsigned StructureFlags = OverridesVisitChildren | Base::StructureFlags; 62 62 63 static void visitChildren(JSCell*, SlotVisitor&);63 JS_EXPORT_PRIVATE static void visitChildren(JSCell*, SlotVisitor&); 64 64 65 65 private: -
branches/ftlopt/Source/JavaScriptCore/runtime/Options.h
r169584 r169628 197 197 v(unsigned, maximumInliningRecursionForMustInline, 3) \ 198 198 \ 199 v(unsigned, maximumLLVMInstructionCountForNativeInlining, 80) \ 200 \ 199 201 /* Maximum size of a caller for enabling inlining. This is purely to protect us */\ 200 202 /* from super long compiles that take a lot of memory. */\ -
branches/ftlopt/Source/JavaScriptCore/runtime/RegExp.h
r169584 r169628 62 62 63 63 JS_EXPORT_PRIVATE int match(VM&, const String&, unsigned startOffset, Vector<int, 32>& ovector); 64 MatchResult match(VM&, const String&, unsigned startOffset);64 JS_EXPORT_PRIVATE MatchResult match(VM&, const String&, unsigned startOffset); 65 65 unsigned numSubpatterns() const { return m_numSubpatterns; } 66 66 -
branches/ftlopt/Source/JavaScriptCore/runtime/StringObject.h
r169584 r169628 46 46 static StringObject* create(VM&, JSGlobalObject*, JSString*); 47 47 48 static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&);49 static bool getOwnPropertySlotByIndex(JSObject*, ExecState*, unsigned propertyName, PropertySlot&);48 JS_EXPORT_PRIVATE static bool getOwnPropertySlot(JSObject*, ExecState*, PropertyName, PropertySlot&); 49 JS_EXPORT_PRIVATE static bool getOwnPropertySlotByIndex(JSObject*, ExecState*, unsigned propertyName, PropertySlot&); 50 50 51 static void put(JSCell*, ExecState*, PropertyName, JSValue, PutPropertySlot&);52 static void putByIndex(JSCell*, ExecState*, unsigned propertyName, JSValue, bool shouldThrow);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); 53 53 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);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); 58 58 59 59 DECLARE_EXPORT_INFO; -
branches/ftlopt/Source/JavaScriptCore/runtime/Structure.h
r169588 r169628 121 121 static Structure* toCacheableDictionaryTransition(VM&, Structure*); 122 122 static Structure* toUncacheableDictionaryTransition(VM&, Structure*); 123 static Structure* sealTransition(VM&, Structure*);124 static Structure* freezeTransition(VM&, Structure*);123 JS_EXPORT_PRIVATE static Structure* sealTransition(VM&, Structure*); 124 JS_EXPORT_PRIVATE static Structure* freezeTransition(VM&, Structure*); 125 125 static Structure* preventExtensionsTransition(VM&, Structure*); 126 static Structure* nonPropertyTransition(VM&, Structure*, NonPropertyTransition);127 128 bool isSealed(VM&);129 bool isFrozen(VM&);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&); 130 130 bool isExtensible() const { return !m_preventExtensions; } 131 131 bool didTransition() const { return m_didTransition; } … … 489 489 bool checkOffsetConsistency() const; 490 490 491 void allocateRareData(VM&);491 JS_EXPORT_PRIVATE void allocateRareData(VM&); 492 492 void cloneRareDataFrom(VM&, const Structure*); 493 493
Note:
See TracChangeset
for help on using the changeset viewer.