Changeset 240224 in webkit
- Timestamp:
- Jan 20, 2019, 8:37:03 PM (8 years ago)
- Location:
- trunk
- Files:
-
- 3 deleted
- 39 edited
-
Source/JavaScriptCore/CMakeLists.txt (modified) (2 diffs)
-
Source/JavaScriptCore/ChangeLog (modified) (1 diff)
-
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (modified) (5 diffs)
-
Source/JavaScriptCore/Sources.txt (modified) (1 diff)
-
Source/JavaScriptCore/builtins/BuiltinNames.cpp (modified) (1 diff)
-
Source/JavaScriptCore/builtins/BuiltinNames.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/CodeBlock.cpp (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/CodeBlock.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/HandlerInfo.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/InstructionStream.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h (modified) (7 diffs)
-
Source/JavaScriptCore/bytecode/UnlinkedEvalCodeBlock.h (modified) (2 diffs)
-
Source/JavaScriptCore/bytecode/UnlinkedFunctionCodeBlock.h (modified) (2 diffs)
-
Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h (modified) (4 diffs)
-
Source/JavaScriptCore/bytecode/UnlinkedGlobalCodeBlock.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.h (modified) (1 diff)
-
Source/JavaScriptCore/bytecode/UnlinkedModuleProgramCodeBlock.h (modified) (2 diffs)
-
Source/JavaScriptCore/bytecode/UnlinkedProgramCodeBlock.h (modified) (2 diffs)
-
Source/JavaScriptCore/interpreter/Interpreter.cpp (modified) (1 diff)
-
Source/JavaScriptCore/jsc.cpp (modified) (3 diffs)
-
Source/JavaScriptCore/parser/SourceCode.h (modified) (1 diff)
-
Source/JavaScriptCore/parser/SourceCodeKey.h (modified) (3 diffs)
-
Source/JavaScriptCore/parser/UnlinkedSourceCode.h (modified) (1 diff)
-
Source/JavaScriptCore/parser/VariableEnvironment.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/CachedTypes.cpp (deleted)
-
Source/JavaScriptCore/runtime/CachedTypes.h (deleted)
-
Source/JavaScriptCore/runtime/CodeCache.cpp (modified) (5 diffs)
-
Source/JavaScriptCore/runtime/CodeCache.h (modified) (7 diffs)
-
Source/JavaScriptCore/runtime/JSBigInt.cpp (modified) (2 diffs)
-
Source/JavaScriptCore/runtime/JSBigInt.h (modified) (2 diffs)
-
Source/JavaScriptCore/runtime/Options.cpp (modified) (1 diff)
-
Source/JavaScriptCore/runtime/Options.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/RegExp.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/ScopedArgumentsTable.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/StackFrame.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/StructureInlines.h (modified) (1 diff)
-
Source/JavaScriptCore/runtime/SymbolTable.h (modified) (2 diffs)
-
Source/WTF/ChangeLog (modified) (1 diff)
-
Source/WTF/wtf/BitVector.h (modified) (2 diffs)
-
Tools/ChangeLog (modified) (1 diff)
-
Tools/Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper (deleted)
-
Tools/Scripts/run-jsc-stress-tests (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/CMakeLists.txt
r240210 r240224 834 834 runtime/JSGlobalObject.h 835 835 runtime/JSGlobalObjectInlines.h 836 runtime/JSImmutableButterfly.h837 836 runtime/JSInternalPromise.h 838 837 runtime/JSInternalPromiseDeferred.h … … 850 849 runtime/JSPromiseConstructor.h 851 850 runtime/JSPromiseDeferred.h 852 runtime/JSPropertyNameEnumerator.h853 851 runtime/JSProxy.h 854 852 runtime/JSRunLoopTimer.h -
trunk/Source/JavaScriptCore/ChangeLog
r240223 r240224 1 2019-01-20 Saam Barati <sbarati@apple.com> 2 3 Rollout r240210: It broke tests on iOS 4 https://bugs.webkit.org/show_bug.cgi?id=193640 5 6 Unreviewed. ~2650 tests are failing on iOS. 7 8 * CMakeLists.txt: 9 * JavaScriptCore.xcodeproj/project.pbxproj: 10 * Sources.txt: 11 * builtins/BuiltinNames.cpp: 12 (JSC::BuiltinNames::BuiltinNames): 13 * builtins/BuiltinNames.h: 14 * bytecode/CodeBlock.cpp: 15 (JSC::CodeBlock::setConstantIdentifierSetRegisters): 16 * bytecode/CodeBlock.h: 17 * bytecode/HandlerInfo.h: 18 * bytecode/InstructionStream.h: 19 * bytecode/UnlinkedCodeBlock.h: 20 (JSC::UnlinkedCodeBlock::addSetConstant): 21 (JSC::UnlinkedCodeBlock::constantIdentifierSets): 22 * bytecode/UnlinkedEvalCodeBlock.h: 23 * bytecode/UnlinkedFunctionCodeBlock.h: 24 * bytecode/UnlinkedFunctionExecutable.h: 25 * bytecode/UnlinkedGlobalCodeBlock.h: 26 (JSC::UnlinkedGlobalCodeBlock::UnlinkedGlobalCodeBlock): 27 * bytecode/UnlinkedMetadataTable.h: 28 * bytecode/UnlinkedModuleProgramCodeBlock.h: 29 * bytecode/UnlinkedProgramCodeBlock.h: 30 * interpreter/Interpreter.cpp: 31 * jsc.cpp: 32 (functionQuit): 33 (runJSC): 34 * parser/SourceCode.h: 35 * parser/SourceCodeKey.h: 36 (JSC::SourceCodeKey::operator!= const): Deleted. 37 * parser/UnlinkedSourceCode.h: 38 * parser/VariableEnvironment.h: 39 * runtime/CachedTypes.cpp: 40 (): Deleted. 41 (JSC::Encoder::Allocation::buffer const): Deleted. 42 (JSC::Encoder::Allocation::offset const): Deleted. 43 (JSC::Encoder::Allocation::Allocation): Deleted. 44 (JSC::Encoder::Encoder): Deleted. 45 (JSC::Encoder::vm): Deleted. 46 (JSC::Encoder::malloc): Deleted. 47 (JSC::Encoder::offsetOf): Deleted. 48 (JSC::Encoder::cachePtr): Deleted. 49 (JSC::Encoder::offsetForPtr): Deleted. 50 (JSC::Encoder::release): Deleted. 51 (JSC::Encoder::Page::Page): Deleted. 52 (JSC::Encoder::Page::malloc): Deleted. 53 (JSC::Encoder::Page::buffer const): Deleted. 54 (JSC::Encoder::Page::size const): Deleted. 55 (JSC::Encoder::Page::getOffset const): Deleted. 56 (JSC::Encoder::allocateNewPage): Deleted. 57 (JSC::Decoder::Decoder): Deleted. 58 (JSC::Decoder::~Decoder): Deleted. 59 (JSC::Decoder::vm): Deleted. 60 (JSC::Decoder::offsetOf): Deleted. 61 (JSC::Decoder::cacheOffset): Deleted. 62 (JSC::Decoder::addFinalizer): Deleted. 63 (JSC::encode): Deleted. 64 (JSC::decode): Deleted. 65 (JSC::VariableLengthObject::buffer const): Deleted. 66 (JSC::VariableLengthObject::allocate): Deleted. 67 (JSC::CachedPtr::encode): Deleted. 68 (JSC::CachedPtr::decode const): Deleted. 69 (JSC::CachedPtr::operator-> const): Deleted. 70 (JSC::CachedPtr::get const): Deleted. 71 (JSC::CachedRefPtr::encode): Deleted. 72 (JSC::CachedRefPtr::decode const): Deleted. 73 (JSC::CachedWriteBarrier::encode): Deleted. 74 (JSC::CachedWriteBarrier::decode const): Deleted. 75 (JSC::CachedVector::encode): Deleted. 76 (JSC::CachedVector::decode const): Deleted. 77 (JSC::CachedPair::encode): Deleted. 78 (JSC::CachedPair::decode const): Deleted. 79 (JSC::CachedHashMap::encode): Deleted. 80 (JSC::CachedHashMap::decode const): Deleted. 81 (JSC::CachedUniquedStringImpl::encode): Deleted. 82 (JSC::CachedUniquedStringImpl::decode const): Deleted. 83 (JSC::CachedStringImpl::encode): Deleted. 84 (JSC::CachedStringImpl::decode const): Deleted. 85 (JSC::CachedString::encode): Deleted. 86 (JSC::CachedString::decode const): Deleted. 87 (JSC::CachedIdentifier::encode): Deleted. 88 (JSC::CachedIdentifier::decode const): Deleted. 89 (JSC::CachedOptional::encode): Deleted. 90 (JSC::CachedOptional::decode const): Deleted. 91 (JSC::CachedOptional::decodeAsPtr const): Deleted. 92 (JSC::CachedSimpleJumpTable::encode): Deleted. 93 (JSC::CachedSimpleJumpTable::decode const): Deleted. 94 (JSC::CachedStringJumpTable::encode): Deleted. 95 (JSC::CachedStringJumpTable::decode const): Deleted. 96 (JSC::CachedCodeBlockRareData::encode): Deleted. 97 (JSC::CachedCodeBlockRareData::decode const): Deleted. 98 (JSC::CachedBitVector::encode): Deleted. 99 (JSC::CachedBitVector::decode const): Deleted. 100 (JSC::CachedHashSet::encode): Deleted. 101 (JSC::CachedHashSet::decode const): Deleted. 102 (JSC::CachedConstantIdentifierSetEntry::encode): Deleted. 103 (JSC::CachedConstantIdentifierSetEntry::decode const): Deleted. 104 (JSC::CachedVariableEnvironment::encode): Deleted. 105 (JSC::CachedVariableEnvironment::decode const): Deleted. 106 (JSC::CachedArray::encode): Deleted. 107 (JSC::CachedArray::decode const): Deleted. 108 (JSC::CachedScopedArgumentsTable::encode): Deleted. 109 (JSC::CachedScopedArgumentsTable::decode const): Deleted. 110 (JSC::CachedSymbolTableEntry::encode): Deleted. 111 (JSC::CachedSymbolTableEntry::decode const): Deleted. 112 (JSC::CachedSymbolTable::encode): Deleted. 113 (JSC::CachedSymbolTable::decode const): Deleted. 114 (JSC::CachedImmutableButterfly::encode): Deleted. 115 (JSC::CachedImmutableButterfly::decode const): Deleted. 116 (JSC::CachedRegExp::encode): Deleted. 117 (JSC::CachedRegExp::decode const): Deleted. 118 (JSC::CachedTemplateObjectDescriptor::encode): Deleted. 119 (JSC::CachedTemplateObjectDescriptor::decode const): Deleted. 120 (JSC::CachedBigInt::encode): Deleted. 121 (JSC::CachedBigInt::decode const): Deleted. 122 (JSC::CachedJSValue::encode): Deleted. 123 (JSC::CachedJSValue::decode const): Deleted. 124 (JSC::CachedInstructionStream::encode): Deleted. 125 (JSC::CachedInstructionStream::decode const): Deleted. 126 (JSC::CachedMetadataTable::encode): Deleted. 127 (JSC::CachedMetadataTable::decode const): Deleted. 128 (JSC::CachedSourceOrigin::encode): Deleted. 129 (JSC::CachedSourceOrigin::decode const): Deleted. 130 (JSC::CachedTextPosition::encode): Deleted. 131 (JSC::CachedTextPosition::decode const): Deleted. 132 (JSC::CachedSourceProviderShape::encode): Deleted. 133 (JSC::CachedSourceProviderShape::decode const): Deleted. 134 (JSC::CachedStringSourceProvider::encode): Deleted. 135 (JSC::CachedStringSourceProvider::decode const): Deleted. 136 (JSC::CachedWebAssemblySourceProvider::encode): Deleted. 137 (JSC::CachedWebAssemblySourceProvider::decode const): Deleted. 138 (JSC::CachedSourceProvider::encode): Deleted. 139 (JSC::CachedSourceProvider::decode const): Deleted. 140 (JSC::CachedUnlinkedSourceCodeShape::encode): Deleted. 141 (JSC::CachedUnlinkedSourceCodeShape::decode const): Deleted. 142 (JSC::CachedSourceCode::encode): Deleted. 143 (JSC::CachedSourceCode::decode const): Deleted. 144 (JSC::CachedFunctionExecutable::firstLineOffset const): Deleted. 145 (JSC::CachedFunctionExecutable::lineCount const): Deleted. 146 (JSC::CachedFunctionExecutable::unlinkedFunctionNameStart const): Deleted. 147 (JSC::CachedFunctionExecutable::unlinkedBodyStartColumn const): Deleted. 148 (JSC::CachedFunctionExecutable::unlinkedBodyEndColumn const): Deleted. 149 (JSC::CachedFunctionExecutable::startOffset const): Deleted. 150 (JSC::CachedFunctionExecutable::sourceLength const): Deleted. 151 (JSC::CachedFunctionExecutable::parametersStartOffset const): Deleted. 152 (JSC::CachedFunctionExecutable::typeProfilingStartOffset const): Deleted. 153 (JSC::CachedFunctionExecutable::typeProfilingEndOffset const): Deleted. 154 (JSC::CachedFunctionExecutable::parameterCount const): Deleted. 155 (JSC::CachedFunctionExecutable::features const): Deleted. 156 (JSC::CachedFunctionExecutable::sourceParseMode const): Deleted. 157 (JSC::CachedFunctionExecutable::isInStrictContext const): Deleted. 158 (JSC::CachedFunctionExecutable::hasCapturedVariables const): Deleted. 159 (JSC::CachedFunctionExecutable::isBuiltinFunction const): Deleted. 160 (JSC::CachedFunctionExecutable::isBuiltinDefaultClassConstructor const): Deleted. 161 (JSC::CachedFunctionExecutable::constructAbility const): Deleted. 162 (JSC::CachedFunctionExecutable::constructorKind const): Deleted. 163 (JSC::CachedFunctionExecutable::functionMode const): Deleted. 164 (JSC::CachedFunctionExecutable::scriptMode const): Deleted. 165 (JSC::CachedFunctionExecutable::superBinding const): Deleted. 166 (JSC::CachedFunctionExecutable::derivedContextType const): Deleted. 167 (JSC::CachedFunctionExecutable::name const): Deleted. 168 (JSC::CachedFunctionExecutable::ecmaName const): Deleted. 169 (JSC::CachedFunctionExecutable::inferredName const): Deleted. 170 (JSC::CachedCodeBlock::instructions const): Deleted. 171 (JSC::CachedCodeBlock::thisRegister const): Deleted. 172 (JSC::CachedCodeBlock::scopeRegister const): Deleted. 173 (JSC::CachedCodeBlock::globalObjectRegister const): Deleted. 174 (JSC::CachedCodeBlock::sourceURLDirective const): Deleted. 175 (JSC::CachedCodeBlock::sourceMappingURLDirective const): Deleted. 176 (JSC::CachedCodeBlock::usesEval const): Deleted. 177 (JSC::CachedCodeBlock::isStrictMode const): Deleted. 178 (JSC::CachedCodeBlock::isConstructor const): Deleted. 179 (JSC::CachedCodeBlock::hasCapturedVariables const): Deleted. 180 (JSC::CachedCodeBlock::isBuiltinFunction const): Deleted. 181 (JSC::CachedCodeBlock::superBinding const): Deleted. 182 (JSC::CachedCodeBlock::scriptMode const): Deleted. 183 (JSC::CachedCodeBlock::isArrowFunctionContext const): Deleted. 184 (JSC::CachedCodeBlock::isClassContext const): Deleted. 185 (JSC::CachedCodeBlock::wasCompiledWithDebuggingOpcodes const): Deleted. 186 (JSC::CachedCodeBlock::constructorKind const): Deleted. 187 (JSC::CachedCodeBlock::derivedContextType const): Deleted. 188 (JSC::CachedCodeBlock::evalContextType const): Deleted. 189 (JSC::CachedCodeBlock::hasTailCalls const): Deleted. 190 (JSC::CachedCodeBlock::lineCount const): Deleted. 191 (JSC::CachedCodeBlock::endColumn const): Deleted. 192 (JSC::CachedCodeBlock::numVars const): Deleted. 193 (JSC::CachedCodeBlock::numCalleeLocals const): Deleted. 194 (JSC::CachedCodeBlock::numParameters const): Deleted. 195 (JSC::CachedCodeBlock::features const): Deleted. 196 (JSC::CachedCodeBlock::parseMode const): Deleted. 197 (JSC::CachedCodeBlock::codeType const): Deleted. 198 (JSC::CachedCodeBlock::rareData const): Deleted. 199 (JSC::CachedProgramCodeBlock::encode): Deleted. 200 (JSC::CachedProgramCodeBlock::decode const): Deleted. 201 (JSC::CachedModuleCodeBlock::encode): Deleted. 202 (JSC::CachedModuleCodeBlock::decode const): Deleted. 203 (JSC::CachedEvalCodeBlock::encode): Deleted. 204 (JSC::CachedEvalCodeBlock::decode const): Deleted. 205 (JSC::CachedFunctionCodeBlock::encode): Deleted. 206 (JSC::CachedFunctionCodeBlock::decode const): Deleted. 207 (JSC::UnlinkedFunctionCodeBlock::UnlinkedFunctionCodeBlock): Deleted. 208 (JSC::UnlinkedCodeBlock::UnlinkedCodeBlock): Deleted. 209 (JSC::CachedCodeBlock<CodeBlockType>::decode const): Deleted. 210 (JSC::UnlinkedProgramCodeBlock::UnlinkedProgramCodeBlock): Deleted. 211 (JSC::UnlinkedModuleProgramCodeBlock::UnlinkedModuleProgramCodeBlock): Deleted. 212 (JSC::UnlinkedEvalCodeBlock::UnlinkedEvalCodeBlock): Deleted. 213 (JSC::CachedFunctionExecutable::encode): Deleted. 214 (JSC::CachedFunctionExecutable::decode const): Deleted. 215 (JSC::UnlinkedFunctionExecutable::UnlinkedFunctionExecutable): Deleted. 216 (JSC::CachedCodeBlock<CodeBlockType>::encode): Deleted. 217 (JSC::CachedSourceCodeKey::encode): Deleted. 218 (JSC::CachedSourceCodeKey::decode const): Deleted. 219 (JSC::CacheEntry::encode): Deleted. 220 (JSC::CacheEntry:: const): Deleted. 221 (JSC:: const): Deleted. 222 (JSC::encodeCodeBlock): Deleted. 223 (JSC::decodeCodeBlockImpl): Deleted. 224 * runtime/CachedTypes.h: 225 (JSC::decodeCodeBlock): Deleted. 226 * runtime/CodeCache.cpp: 227 (JSC::CodeCacheMap::pruneSlowCase): 228 (JSC::CodeCache::getUnlinkedGlobalCodeBlock): 229 (JSC::CodeCache::getUnlinkedGlobalFunctionExecutable): 230 (JSC::CodeCache::write): Deleted. 231 * runtime/CodeCache.h: 232 (JSC::CodeCacheMap::findCacheAndUpdateAge): 233 (JSC::CodeCache::clear): 234 (JSC::CodeCacheMap::begin): Deleted. 235 (JSC::CodeCacheMap::end): Deleted. 236 (JSC::CodeCacheMap::fetchFromDiskImpl): Deleted. 237 (): Deleted. 238 (JSC::writeCodeBlock): Deleted. 239 * runtime/JSBigInt.cpp: 240 (JSC::JSBigInt::offsetOfData): 241 (JSC::JSBigInt::dataStorage): 242 * runtime/JSBigInt.h: 243 * runtime/Options.cpp: 244 (JSC::recomputeDependentOptions): 245 * runtime/Options.h: 246 * runtime/RegExp.h: 247 * runtime/ScopedArgumentsTable.h: 248 * runtime/StackFrame.h: 249 * runtime/StructureInlines.h: 250 * runtime/SymbolTable.h: 251 1 252 2019-01-20 Saam Barati <sbarati@apple.com> 2 253 -
trunk/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
r240210 r240224 827 827 2684D4381C00161C0081D663 /* AirLiveness.h in Headers */ = {isa = PBXBuildFile; fileRef = 2684D4371C00161C0081D663 /* AirLiveness.h */; }; 828 828 269D636E1BFBE5D100101B1D /* FTLOutput.h in Headers */ = {isa = PBXBuildFile; fileRef = 269D636D1BFBE5D000101B1D /* FTLOutput.h */; }; 829 2A05ABD61961DF2400341750 /* JSPropertyNameEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */; settings = {ATTRIBUTES = (Private, ); };};829 2A05ABD61961DF2400341750 /* JSPropertyNameEnumerator.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A05ABD41961DF2400341750 /* JSPropertyNameEnumerator.h */; }; 830 830 2A111246192FCE79005EE18D /* CustomGetterSetter.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A111244192FCE79005EE18D /* CustomGetterSetter.h */; settings = {ATTRIBUTES = (Private, ); }; }; 831 831 2A48D1911772365B00C65A5F /* APICallbackFunction.h in Headers */ = {isa = PBXBuildFile; fileRef = C211B574176A224D000E2A23 /* APICallbackFunction.h */; }; … … 1063 1063 53EE01B6218F691600AD1F8D /* JSScript.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EE01B5218F690F00AD1F8D /* JSScript.h */; settings = {ATTRIBUTES = (Private, ); }; }; 1064 1064 53EE01B8218F7EFF00AD1F8D /* JSScriptInternal.h in Headers */ = {isa = PBXBuildFile; fileRef = 53EE01B7218F7EFF00AD1F8D /* JSScriptInternal.h */; }; 1065 53F11F41209138D700E411A7 /* JSImmutableButterfly.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F11F40209138D700E411A7 /* JSImmutableButterfly.h */; settings = {ATTRIBUTES = (Private, ); };};1065 53F11F41209138D700E411A7 /* JSImmutableButterfly.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F11F40209138D700E411A7 /* JSImmutableButterfly.h */; }; 1066 1066 53F40E851D58F9770099A1B6 /* WasmSections.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E841D58F9770099A1B6 /* WasmSections.h */; }; 1067 1067 53F40E8B1D5901BB0099A1B6 /* WasmFunctionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 53F40E8A1D5901BB0099A1B6 /* WasmFunctionParser.h */; }; … … 3129 3129 14386A761DD6989C008652C4 /* IndirectEvalExecutable.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = IndirectEvalExecutable.cpp; sourceTree = "<group>"; }; 3130 3130 14386A771DD6989C008652C4 /* IndirectEvalExecutable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = IndirectEvalExecutable.h; sourceTree = "<group>"; }; 3131 143BE26521C857770020CD17 /* CachedTypes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CachedTypes.h; sourceTree = "<group>"; };3132 3131 1440051F0A531D3B0005F061 /* Node.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Node.h; path = tests/Node.h; sourceTree = "<group>"; }; 3133 3132 144005200A531D3B0005F061 /* Node.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = Node.c; path = tests/Node.c; sourceTree = "<group>"; }; … … 3244 3243 14DA818E0D99FD2000B0A4FB /* JSLexicalEnvironment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSLexicalEnvironment.h; sourceTree = "<group>"; }; 3245 3244 14DA818F0D99FD2000B0A4FB /* JSLexicalEnvironment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSLexicalEnvironment.cpp; sourceTree = "<group>"; }; 3246 14DAFA4521E3B871004B68F7 /* CachedTypes.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CachedTypes.cpp; sourceTree = "<group>"; };3247 3245 14DE0D680D02431400AACCA2 /* JSGlobalObject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSGlobalObject.cpp; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.cpp; }; 3248 3246 14DF04D916B3996D0016A513 /* StaticPropertyAnalysis.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StaticPropertyAnalysis.h; sourceTree = "<group>"; }; … … 6603 6601 0FB7F38B15ED8E3800F167B2 /* Butterfly.h */, 6604 6602 0FB7F38C15ED8E3800F167B2 /* ButterflyInlines.h */, 6605 14DAFA4521E3B871004B68F7 /* CachedTypes.cpp */,6606 143BE26521C857770020CD17 /* CachedTypes.h */,6607 6603 0FEC3C5F1F379F5300F59B6C /* CagedBarrierPtr.h */, 6608 6604 BCA62DFE0E2826230004F30D /* CallData.cpp */, -
trunk/Source/JavaScriptCore/Sources.txt
r240210 r240224 714 714 runtime/BooleanPrototype.cpp 715 715 runtime/CallData.cpp 716 runtime/CachedTypes.cpp717 716 runtime/CatchScope.cpp 718 717 runtime/ClassInfo.cpp -
trunk/Source/JavaScriptCore/builtins/BuiltinNames.cpp
r240210 r240224 64 64 JSC_FOREACH_BUILTIN_FUNCTION_NAME(INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY) 65 65 JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_PROPERTY_NAME(INITIALIZE_PUBLIC_TO_PRIVATE_ENTRY) 66 JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(INITIALIZE_SYMBOL_PRIVATE_TO_PUBLIC_ENTRY)67 66 JSC_COMMON_PRIVATE_IDENTIFIERS_EACH_WELL_KNOWN_SYMBOL(INITIALIZE_SYMBOL_PUBLIC_TO_PRIVATE_ENTRY) 68 67 m_privateToPublicMap.add(m_dollarVMPrivateName.impl(), &m_dollarVMName); -
trunk/Source/JavaScriptCore/builtins/BuiltinNames.h
r240210 r240224 214 214 // e.g. @iteratorSymbol points to Symbol.iterator in this map rather than to a an actual private name. 215 215 // FIXME: This is a weird hack and we shouldn't need to do this. 216 #define INITIALIZE_SYMBOL_PRIVATE_TO_PUBLIC_ENTRY(name) m_privateToPublicMap.add(m_##name##Symbol.impl(), &m_##name##SymbolPrivateIdentifier);217 216 #define INITIALIZE_SYMBOL_PUBLIC_TO_PRIVATE_ENTRY(name) m_publicToPrivateMap.add(m_##name##SymbolPrivateIdentifier.impl(), &m_##name##Symbol); 218 217 -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r240220 r240224 870 870 } 871 871 872 void CodeBlock::setConstantIdentifierSetRegisters(VM& vm, const Vector<ConstantI dentifierSetEntry>& constants)872 void CodeBlock::setConstantIdentifierSetRegisters(VM& vm, const Vector<ConstantIndentifierSetEntry>& constants) 873 873 { 874 874 auto scope = DECLARE_THROW_SCOPE(vm); -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r240220 r240224 891 891 void updateAllPredictionsAndCountLiveness(unsigned& numberOfLiveNonArgumentValueProfiles, unsigned& numberOfSamplesInProfiles); 892 892 893 void setConstantIdentifierSetRegisters(VM&, const Vector<ConstantI dentifierSetEntry>& constants);893 void setConstantIdentifierSetRegisters(VM&, const Vector<ConstantIndentifierSetEntry>& constants); 894 894 895 895 void setConstantRegisters(const Vector<WriteBarrier<Unknown>>& constants, const Vector<SourceCodeRepresentation>& constantsSourceCodeRepresentation); -
trunk/Source/JavaScriptCore/bytecode/HandlerInfo.h
r240210 r240224 90 90 91 91 struct UnlinkedHandlerInfo : public HandlerInfoBase { 92 UnlinkedHandlerInfo()93 {94 }95 96 92 UnlinkedHandlerInfo(uint32_t start, uint32_t end, uint32_t target, HandlerType handlerType) 97 93 { -
trunk/Source/JavaScriptCore/bytecode/InstructionStream.h
r240210 r240224 40 40 41 41 friend class InstructionStreamWriter; 42 friend class CachedInstructionStream;43 42 public: 44 43 size_t sizeInBytes() const; -
trunk/Source/JavaScriptCore/bytecode/UnlinkedCodeBlock.h
r240210 r240224 66 66 struct ExecutableInfo; 67 67 68 template<typename CodeBlockType>69 class CachedCodeBlock;70 71 68 typedef unsigned UnlinkedValueProfile; 72 69 typedef unsigned UnlinkedArrayProfile; … … 74 71 typedef unsigned UnlinkedObjectAllocationProfile; 75 72 typedef unsigned UnlinkedLLIntCallLinkInfo; 76 using ConstantI dentifierSetEntry = std::pair<IdentifierSet, unsigned>;73 using ConstantIndentifierSetEntry = std::pair<IdentifierSet, unsigned>; 77 74 78 75 struct UnlinkedStringJumpTable { … … 172 169 m_constantRegisters.append(WriteBarrier<Unknown>()); 173 170 m_constantsSourceCodeRepresentation.append(SourceCodeRepresentation::Other); 174 m_constantIdentifierSets.append(ConstantI dentifierSetEntry(set, result));171 m_constantIdentifierSets.append(ConstantIndentifierSetEntry(set, result)); 175 172 } 176 173 … … 206 203 } 207 204 const Vector<WriteBarrier<Unknown>>& constantRegisters() { return m_constantRegisters; } 208 const Vector<ConstantI dentifierSetEntry>& constantIdentifierSets() { return m_constantIdentifierSets; }205 const Vector<ConstantIndentifierSetEntry>& constantIdentifierSets() { return m_constantIdentifierSets; } 209 206 const WriteBarrier<Unknown>& constantRegister(int index) const { return m_constantRegisters[index - FirstConstantRegisterIndex]; } 210 207 ALWAYS_INLINE bool isConstantRegisterIndex(int index) const { return index >= FirstConstantRegisterIndex; } … … 371 368 protected: 372 369 UnlinkedCodeBlock(VM*, Structure*, CodeType, const ExecutableInfo&, DebuggerMode); 373 374 template<typename CodeBlockType>375 UnlinkedCodeBlock(Decoder&, Structure*, const CachedCodeBlock<CodeBlockType>&);376 377 370 ~UnlinkedCodeBlock(); 378 371 … … 385 378 friend class BytecodeRewriter; 386 379 friend class BytecodeGenerator; 387 388 template<typename CodeBlockType>389 friend class CachedCodeBlock;390 380 391 381 void applyModification(BytecodeRewriter&, InstructionStreamWriter&); … … 455 445 Vector<BitVector> m_bitVectors; 456 446 Vector<WriteBarrier<Unknown>> m_constantRegisters; 457 Vector<ConstantI dentifierSetEntry> m_constantIdentifierSets;447 Vector<ConstantIndentifierSetEntry> m_constantIdentifierSets; 458 448 Vector<SourceCodeRepresentation> m_constantsSourceCodeRepresentation; 459 449 typedef Vector<WriteBarrier<UnlinkedFunctionExecutable>> FunctionExpressionVector; -
trunk/Source/JavaScriptCore/bytecode/UnlinkedEvalCodeBlock.h
r240210 r240224 30 30 namespace JSC { 31 31 32 class CachedEvalCodeBlock;33 34 32 class UnlinkedEvalCodeBlock final : public UnlinkedGlobalCodeBlock { 35 33 public: … … 62 60 } 63 61 private: 64 friend CachedEvalCodeBlock;65 66 62 UnlinkedEvalCodeBlock(VM* vm, Structure* structure, const ExecutableInfo& info, DebuggerMode debuggerMode) 67 63 : Base(vm, structure, EvalCode, info, debuggerMode) 68 64 { 69 65 } 70 71 UnlinkedEvalCodeBlock(Decoder&, const CachedEvalCodeBlock&);72 66 73 67 Vector<Identifier, 0, UnsafeVectorOverflow> m_variables; -
trunk/Source/JavaScriptCore/bytecode/UnlinkedFunctionCodeBlock.h
r240210 r240224 30 30 namespace JSC { 31 31 32 class CachedFunctionCodeBlock;33 34 32 class UnlinkedFunctionCodeBlock final : public UnlinkedCodeBlock { 35 33 public: … … 47 45 48 46 private: 49 friend CachedFunctionCodeBlock;50 51 47 UnlinkedFunctionCodeBlock(VM* vm, Structure* structure, CodeType codeType, const ExecutableInfo& info, DebuggerMode debuggerMode) 52 48 : Base(vm, structure, codeType, info, debuggerMode) 53 49 { 54 50 } 55 56 UnlinkedFunctionCodeBlock(Decoder&, const CachedFunctionCodeBlock&);57 51 58 52 public: -
trunk/Source/JavaScriptCore/bytecode/UnlinkedFunctionExecutable.h
r240210 r240224 40 40 namespace JSC { 41 41 42 class Decoder;43 42 class FunctionMetadataNode; 44 43 class FunctionExecutable; … … 46 45 class SourceProvider; 47 46 class UnlinkedFunctionCodeBlock; 48 class CachedFunctionExecutable;49 47 50 48 enum UnlinkedFunctionKind { … … 57 55 friend class CodeCache; 58 56 friend class VM; 59 friend CachedFunctionExecutable;60 57 61 58 typedef JSCell Base; … … 151 148 private: 152 149 UnlinkedFunctionExecutable(VM*, Structure*, const SourceCode&, FunctionMetadataNode*, UnlinkedFunctionKind, ConstructAbility, JSParserScriptMode, VariableEnvironment&, JSC::DerivedContextType, bool isBuiltinDefaultClassConstructor); 153 UnlinkedFunctionExecutable(Decoder&, VariableEnvironment&, const CachedFunctionExecutable&);154 150 155 151 unsigned m_firstLineOffset; -
trunk/Source/JavaScriptCore/bytecode/UnlinkedGlobalCodeBlock.h
r240210 r240224 39 39 { 40 40 } 41 42 template<typename CodeBlockType>43 UnlinkedGlobalCodeBlock(Decoder& decoder, Structure* structure, const CachedCodeBlock<CodeBlockType>& cachedCodeBlock)44 : Base(decoder, structure, cachedCodeBlock)45 {46 }47 41 }; 48 42 -
trunk/Source/JavaScriptCore/bytecode/UnlinkedMetadataTable.h
r240210 r240224 36 36 friend class LLIntOffsetsExtractor; 37 37 friend class MetadataTable; 38 friend class CachedMetadataTable;39 38 40 39 public: -
trunk/Source/JavaScriptCore/bytecode/UnlinkedModuleProgramCodeBlock.h
r240210 r240224 29 29 30 30 namespace JSC { 31 32 class Decoder;33 class CachedModuleCodeBlock;34 31 35 32 class UnlinkedModuleProgramCodeBlock final : public UnlinkedGlobalCodeBlock { … … 78 75 79 76 private: 80 friend CachedModuleCodeBlock;81 82 77 UnlinkedModuleProgramCodeBlock(VM* vm, Structure* structure, const ExecutableInfo& info, DebuggerMode debuggerMode) 83 78 : Base(vm, structure, ModuleCode, info, debuggerMode) 84 79 { 85 80 } 86 87 UnlinkedModuleProgramCodeBlock(Decoder&, const CachedModuleCodeBlock&);88 81 89 82 int m_moduleEnvironmentSymbolTableConstantRegisterOffset { 0 }; -
trunk/Source/JavaScriptCore/bytecode/UnlinkedProgramCodeBlock.h
r240210 r240224 30 30 namespace JSC { 31 31 32 class CachedProgramCodeBlock;33 34 32 class UnlinkedProgramCodeBlock final : public UnlinkedGlobalCodeBlock { 35 33 public: … … 53 51 54 52 private: 55 friend CachedProgramCodeBlock;56 57 53 UnlinkedProgramCodeBlock(VM* vm, Structure* structure, const ExecutableInfo& info, DebuggerMode debuggerMode) 58 54 : Base(vm, structure, GlobalCode, info, debuggerMode) 59 55 { 60 56 } 61 62 UnlinkedProgramCodeBlock(Decoder&, const CachedProgramCodeBlock&);63 57 64 58 VariableEnvironment m_varDeclarations; -
trunk/Source/JavaScriptCore/interpreter/Interpreter.cpp
r240210 r240224 36 36 #include "CatchScope.h" 37 37 #include "CodeBlock.h" 38 #include "CodeCache.h"39 38 #include "DirectArguments.h" 40 39 #include "Heap.h" -
trunk/Source/JavaScriptCore/jsc.cpp
r240210 r240224 29 29 #include "CatchScope.h" 30 30 #include "CodeBlock.h" 31 #include "CodeCache.h"32 31 #include "Completion.h" 33 32 #include "ConfigFile.h" … … 1990 1989 } 1991 1990 1992 EncodedJSValue JSC_HOST_CALL functionQuit(ExecState* exec) 1993 { 1994 VM& vm = exec->vm(); 1995 vm.codeCache()->write(vm); 1996 1991 EncodedJSValue JSC_HOST_CALL functionQuit(ExecState*) 1992 { 1997 1993 jscExit(EXIT_SUCCESS); 1998 1994 … … 2881 2877 } 2882 2878 2883 vm.codeCache()->write(vm);2884 2885 2879 if (isWorker) { 2886 2880 JSLockHolder locker(vm); -
trunk/Source/JavaScriptCore/parser/SourceCode.h
r240210 r240224 34 34 35 35 class SourceCode : public UnlinkedSourceCode { 36 friend class CachedSourceCode;37 38 36 public: 39 37 SourceCode() -
trunk/Source/JavaScriptCore/parser/SourceCodeKey.h
r240210 r240224 38 38 39 39 class SourceCodeFlags { 40 friend class CachedSourceCodeKey;41 42 40 public: 43 41 SourceCodeFlags() = default; … … 73 71 74 72 class SourceCodeKey { 75 friend class CachedSourceCodeKey;76 77 73 public: 78 74 SourceCodeKey() … … 119 115 } 120 116 121 bool operator!=(const SourceCodeKey& other) const122 {123 return !(*this == other);124 }125 126 117 struct Hash { 127 118 static unsigned hash(const SourceCodeKey& key) { return key.hash(); } -
trunk/Source/JavaScriptCore/parser/UnlinkedSourceCode.h
r240210 r240224 36 36 37 37 class UnlinkedSourceCode { 38 template<typename SourceType>39 friend class CachedUnlinkedSourceCodeShape;40 41 38 public: 42 39 UnlinkedSourceCode() -
trunk/Source/JavaScriptCore/parser/VariableEnvironment.h
r240210 r240224 117 117 118 118 private: 119 friend class CachedVariableEnvironment;120 121 119 Map m_map; 122 120 bool m_isEverythingCaptured { false }; -
trunk/Source/JavaScriptCore/runtime/CodeCache.cpp
r240210 r240224 44 44 while (m_size > m_capacity || !canPruneQuickly()) { 45 45 MapType::iterator it = m_map.begin(); 46 47 writeCodeBlock(*it->value.cell->vm(), it->key, it->value);48 49 46 m_size -= it->key.length(); 50 47 m_map.remove(it); … … 63 60 vm.controlFlowProfiler() ? ControlFlowProfilerEnabled::Yes : ControlFlowProfilerEnabled::No, 64 61 WTF::nullopt); 65 UnlinkedCodeBlockType* unlinkedCodeBlock = m_sourceCode.findCacheAndUpdateAge<UnlinkedCodeBlockType>(vm, key); 66 if (unlinkedCodeBlock && Options::useCodeCache()) { 62 SourceCodeValue* cache = m_sourceCode.findCacheAndUpdateAge(key); 63 if (cache && Options::useCodeCache()) { 64 UnlinkedCodeBlockType* unlinkedCodeBlock = jsCast<UnlinkedCodeBlockType*>(cache->cell.get()); 67 65 unsigned lineCount = unlinkedCodeBlock->lineCount(); 68 66 unsigned startColumn = unlinkedCodeBlock->startColumn() + source.startColumn().oneBasedInt(); … … 74 72 return unlinkedCodeBlock; 75 73 } 76 74 77 75 VariableEnvironment variablesUnderTDZ; 78 unlinkedCodeBlock = generateUnlinkedCodeBlock<UnlinkedCodeBlockType, ExecutableType>(vm, executable, source, strictMode, scriptMode, debuggerMode, error, evalContextType, &variablesUnderTDZ);76 UnlinkedCodeBlockType* unlinkedCodeBlock = generateUnlinkedCodeBlock<UnlinkedCodeBlockType, ExecutableType>(vm, executable, source, strictMode, scriptMode, debuggerMode, error, evalContextType, &variablesUnderTDZ); 79 77 80 78 if (unlinkedCodeBlock && Options::useCodeCache()) … … 113 111 vm.controlFlowProfiler() ? ControlFlowProfilerEnabled::Yes : ControlFlowProfilerEnabled::No, 114 112 functionConstructorParametersEndPosition); 115 UnlinkedFunctionExecutable* executable = m_sourceCode.findCacheAndUpdateAge<UnlinkedFunctionExecutable>(vm, key); 116 if (executable && Options::useCodeCache()) { 113 SourceCodeValue* cache = m_sourceCode.findCacheAndUpdateAge(key); 114 if (cache && Options::useCodeCache()) { 115 UnlinkedFunctionExecutable* executable = jsCast<UnlinkedFunctionExecutable*>(cache->cell.get()); 117 116 source.provider()->setSourceURLDirective(executable->sourceURLDirective()); 118 117 source.provider()->setSourceMappingURLDirective(executable->sourceMappingURLDirective()); … … 157 156 } 158 157 159 void CodeCache::write(VM& vm)160 {161 for (const auto& it : m_sourceCode)162 writeCodeBlock(vm, it.key, it.value);163 158 } 164 165 } -
trunk/Source/JavaScriptCore/runtime/CodeCache.h
r240210 r240224 27 27 28 28 #include "BytecodeGenerator.h" 29 #include "CachedTypes.h"30 29 #include "ExecutableInfo.h" 31 30 #include "JSCInlines.h" … … 39 38 #include "UnlinkedModuleProgramCodeBlock.h" 40 39 #include "UnlinkedProgramCodeBlock.h" 41 #include <sys/stat.h>42 40 #include <wtf/Forward.h> 43 41 #include <wtf/text/WTFString.h> … … 92 90 } 93 91 94 iterator begin() { return m_map.begin(); } 95 iterator end() { return m_map.end(); } 96 97 template<typename UnlinkedCodeBlockType> 98 UnlinkedCodeBlockType* fetchFromDiskImpl(VM& vm, const SourceCodeKey& key) 99 { 100 #if OS(DARWIN) 101 const char* cachePath = Options::diskCachePath(); 102 if (!cachePath) 103 return nullptr; 104 105 unsigned hash = key.hash(); 106 char filename[512]; 107 int count = snprintf(filename, 512, "%s/%u.cache", cachePath, hash); 108 if (count < 0 || count > 512) 109 return nullptr; 110 111 int fd = open(filename, O_RDONLY); 112 if (fd == -1) 113 return nullptr; 114 115 int rc = flock(fd, LOCK_SH | LOCK_NB); 116 if (rc) { 117 close(fd); 118 return nullptr; 119 } 120 121 struct stat sb; 122 int res = fstat(fd, &sb); 123 size_t size = static_cast<size_t>(sb.st_size); 124 if (res || !size) 125 return nullptr; 126 127 const void* buffer = mmap(nullptr, size, PROT_READ, MAP_PRIVATE, fd, 0); 128 UnlinkedCodeBlockType* unlinkedCodeBlock = decodeCodeBlock<UnlinkedCodeBlockType>(vm, key, buffer, size); 129 130 if (!unlinkedCodeBlock) 131 return nullptr; 132 133 addCache(key, SourceCodeValue(vm, unlinkedCodeBlock, m_age)); 134 return unlinkedCodeBlock; 135 #else 136 UNUSED_PARAM(vm); 137 UNUSED_PARAM(key); 138 return nullptr; 139 #endif 140 } 141 142 template<typename UnlinkedCodeBlockType> 143 std::enable_if_t<std::is_base_of<UnlinkedCodeBlock, UnlinkedCodeBlockType>::value && !std::is_same<UnlinkedCodeBlockType, UnlinkedEvalCodeBlock>::value, UnlinkedCodeBlockType*> 144 fetchFromDisk(VM& vm, const SourceCodeKey& key) 145 { 146 UnlinkedCodeBlockType* codeBlock = fetchFromDiskImpl<UnlinkedCodeBlockType>(vm, key); 147 if (UNLIKELY(Options::forceDiskCache())) 148 RELEASE_ASSERT(codeBlock); 149 return codeBlock; 150 } 151 152 template<typename T> 153 std::enable_if_t<!std::is_base_of<UnlinkedCodeBlock, T>::value || std::is_same<T, UnlinkedEvalCodeBlock>::value, T*> 154 fetchFromDisk(VM&, const SourceCodeKey&) { return nullptr; } 155 156 template<typename UnlinkedCodeBlockType> 157 UnlinkedCodeBlockType* findCacheAndUpdateAge(VM& vm, const SourceCodeKey& key) 92 SourceCodeValue* findCacheAndUpdateAge(const SourceCodeKey& key) 158 93 { 159 94 prune(); … … 161 96 iterator findResult = m_map.find(key); 162 97 if (findResult == m_map.end()) 163 return fetchFromDisk<UnlinkedCodeBlockType>(vm, key);98 return nullptr; 164 99 165 100 int64_t age = m_age - findResult->value.age; … … 181 116 m_age += key.length(); 182 117 183 return jsCast<UnlinkedCodeBlockType*>(findResult->value.cell.get());118 return &findResult->value; 184 119 } 185 120 … … 263 198 264 199 void clear() { m_sourceCode.clear(); } 265 JS_EXPORT_PRIVATE void write(VM&);266 200 267 201 private: … … 323 257 } 324 258 325 ALWAYS_INLINE static void writeCodeBlock(VM& vm, const SourceCodeKey& key, const SourceCodeValue& value)326 {327 #if OS(DARWIN)328 const char* cachePath = Options::diskCachePath();329 if (LIKELY(!cachePath))330 return;331 332 UnlinkedCodeBlock* codeBlock = jsDynamicCast<UnlinkedCodeBlock*>(vm, value.cell.get());333 if (!codeBlock)334 return;335 336 unsigned hash = key.hash();337 char filename[512];338 int count = snprintf(filename, 512, "%s/%u.cache", cachePath, hash);339 if (count < 0 || count > 512)340 return;341 342 std::pair<MallocPtr<uint8_t>, size_t> result = encodeCodeBlock(vm, key, codeBlock);343 344 int fd = open(filename, O_CREAT | O_WRONLY, 0666);345 int rc = flock(fd, LOCK_EX | LOCK_NB);346 if (!rc)347 ::write(fd, result.first.get(), result.second);348 close(fd);349 #else350 UNUSED_PARAM(vm);351 UNUSED_PARAM(key);352 UNUSED_PARAM(value);353 #endif354 }355 356 357 259 } // namespace JSC -
trunk/Source/JavaScriptCore/runtime/JSBigInt.cpp
r240210 r240224 1689 1689 } 1690 1690 1691 inline size_t JSBigInt::offsetOfData() 1692 { 1693 return WTF::roundUpToMultipleOf<sizeof(Digit)>(sizeof(JSBigInt)); 1694 } 1695 1691 1696 template <typename CharType> 1692 1697 JSBigInt* JSBigInt::parseInt(ExecState* exec, CharType* data, unsigned length, ErrorParseMode errorParseMode) … … 1789 1794 1790 1795 return nullptr; 1796 } 1797 1798 inline JSBigInt::Digit* JSBigInt::dataStorage() 1799 { 1800 return reinterpret_cast<Digit*>(reinterpret_cast<char*>(this) + offsetOfData()); 1791 1801 } 1792 1802 -
trunk/Source/JavaScriptCore/runtime/JSBigInt.h
r240210 r240224 39 39 using Base = JSCell; 40 40 static const unsigned StructureFlags = Base::StructureFlags | StructureIsImmortal | OverridesToThis; 41 friend class CachedBigInt;42 41 43 42 public: … … 230 229 231 230 static size_t allocationSize(unsigned length); 232 inline static size_t offsetOfData() 233 { 234 return WTF::roundUpToMultipleOf<sizeof(Digit)>(sizeof(JSBigInt)); 235 } 236 237 inline Digit* dataStorage() 238 { 239 return reinterpret_cast<Digit*>(reinterpret_cast<char*>(this) + offsetOfData()); 240 } 231 static size_t offsetOfData(); 232 Digit* dataStorage(); 241 233 242 234 Digit digit(unsigned); -
trunk/Source/JavaScriptCore/runtime/Options.cpp
r240220 r240224 525 525 Options::useProbeOSRExit() = false; 526 526 #endif 527 528 if (!Options::useCodeCache())529 Options::diskCachePath() = nullptr;530 531 if (!Options::diskCachePath())532 Options::forceDiskCache() = false;533 527 } 534 528 -
trunk/Source/JavaScriptCore/runtime/Options.h
r240220 r240224 509 509 v(bool, traceLLIntSlowPath, false, Configurable, nullptr) \ 510 510 v(bool, traceBaselineJITExecution, false, Normal, nullptr) \ 511 v(optionString, diskCachePath, nullptr, Restricted, "") \512 v(bool, forceDiskCache, false, Restricted, "") \513 511 v(unsigned, thresholdForGlobalLexicalBindingEpoch, UINT_MAX, Normal, "Threshold for global lexical binding epoch. If the epoch reaches to this value, CodeBlock metadata for scope operations will be revised globally. It needs to be greater than 1.") \ 514 512 -
trunk/Source/JavaScriptCore/runtime/RegExp.h
r240210 r240224 42 42 43 43 class RegExp final : public JSCell { 44 friend class CachedRegExp;45 46 44 public: 47 45 typedef JSCell Base; -
trunk/Source/JavaScriptCore/runtime/ScopedArgumentsTable.h
r240210 r240224 40 40 // "delete arguments[i]" or some variant of defineOwnProperty. 41 41 class ScopedArgumentsTable final : public JSCell { 42 friend class CachedScopedArgumentsTable;43 44 42 public: 45 43 typedef JSCell Base; -
trunk/Source/JavaScriptCore/runtime/StackFrame.h
r240210 r240224 26 26 #pragma once 27 27 28 #include "Heap.h"29 28 #include "WasmIndexOrName.h" 30 29 #include "WriteBarrier.h" -
trunk/Source/JavaScriptCore/runtime/StructureInlines.h
r240210 r240224 32 32 #include "Structure.h" 33 33 #include "StructureChain.h" 34 #include "StructureRareDataInlines.h"35 34 36 35 namespace JSC { -
trunk/Source/JavaScriptCore/runtime/SymbolTable.h
r240210 r240224 74 74 75 75 struct SymbolTableEntry { 76 friend class CachedSymbolTableEntry;77 78 76 private: 79 77 static VarOffset varOffsetFromBits(intptr_t bits) … … 439 437 440 438 class SymbolTable final : public JSCell { 441 friend class CachedSymbolTable;442 443 439 public: 444 440 typedef JSCell Base; -
trunk/Source/WTF/ChangeLog
r240210 r240224 1 2019-01-20 Saam Barati <sbarati@apple.com> 2 3 Rollout r240210: It broke tests on iOS 4 https://bugs.webkit.org/show_bug.cgi?id=193640 5 6 Unreviewed. 7 8 * wtf/BitVector.h: 9 1 10 2019-01-20 Tadeu Zagallo <tzagallo@apple.com> 2 11 -
trunk/Source/WTF/wtf/BitVector.h
r240210 r240224 34 34 #include <wtf/StdLibExtras.h> 35 35 36 namespace JSC {37 class CachedBitVector;38 }39 40 36 namespace WTF { 41 37 … … 343 339 344 340 private: 345 friend class JSC::CachedBitVector;346 347 341 static unsigned bitsInPointer() 348 342 { -
trunk/Tools/ChangeLog
r240219 r240224 1 2019-01-20 Saam Barati <sbarati@apple.com> 2 3 Rollout r240210: It broke tests on iOS 4 https://bugs.webkit.org/show_bug.cgi?id=193640 5 6 Unreviewed. 7 8 * Scripts/jsc-stress-test-helpers/bytecode-cache-test-helper: 9 * Scripts/run-jsc-stress-tests: 10 1 11 2019-01-20 chris fleizach <cfleizach@apple.com> 2 12 -
trunk/Tools/Scripts/run-jsc-stress-tests
r240210 r240224 656 656 end 657 657 658 def runBytecodeCache(*optionalTestSpecificOptions)659 unless $hostOS == "darwin"660 skip661 return662 end663 options = BASE_OPTIONS + $testSpecificRequiredOptions + FTL_OPTIONS + optionalTestSpecificOptions664 addRunCommand("bytecode-cache", ["ruby", (pathToHelpers + "bytecode-cache-test-helper").to_s, pathToVM.to_s, $benchmark.to_s] + options, silentOutputHandler, simpleErrorHandler)665 end666 667 658 def runBigIntEnabled(*optionalTestSpecificOptions) 668 659 # FIXME: <rdar://problem/40331121> … … 761 752 else 762 753 runDefault 763 runBytecodeCache764 754 if $jitTests 765 755 runNoLLInt
Note:
See TracChangeset
for help on using the changeset viewer.