Changeset 199303 in webkit
- Timestamp:
- Apr 11, 2016 12:31:04 PM (8 years ago)
- Location:
- trunk/Source/JavaScriptCore
- Files:
-
- 21 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/ChangeLog
r199300 r199303 1 2016-04-11 Filip Pizlo <fpizlo@apple.com> 2 3 It should be possible to edit StructureStubInfo without recompiling the world 4 https://bugs.webkit.org/show_bug.cgi?id=156470 5 6 Reviewed by Keith Miller. 7 8 This change makes it less painful to make changes to the IC code. It used to be that any 9 change to StructureStubInfo caused every JIT-related file to get recompiled. Now only a 10 smaller set of files - ones that actually peek into StructureStubInfo - will recompile. This 11 is mainly because CodeBlock.h no longer includes StructureStubInfo.h. 12 13 * bytecode/ByValInfo.h: 14 * bytecode/CodeBlock.cpp: 15 * bytecode/CodeBlock.h: 16 * bytecode/GetByIdStatus.cpp: 17 * bytecode/GetByIdStatus.h: 18 * bytecode/PutByIdStatus.cpp: 19 * bytecode/PutByIdStatus.h: 20 * bytecode/StructureStubInfo.h: 21 (JSC::getStructureStubInfoCodeOrigin): 22 * dfg/DFGByteCodeParser.cpp: 23 * dfg/DFGJITCompiler.cpp: 24 * dfg/DFGOSRExitCompilerCommon.cpp: 25 * dfg/DFGSpeculativeJIT.h: 26 * ftl/FTLLowerDFGToB3.cpp: 27 * ftl/FTLSlowPathCall.h: 28 * jit/IntrinsicEmitter.cpp: 29 * jit/JITInlineCacheGenerator.cpp: 30 * jit/JITInlineCacheGenerator.h: 31 * jit/JITOperations.cpp: 32 * jit/JITPropertyAccess.cpp: 33 * jit/JITPropertyAccess32_64.cpp: 34 1 35 2016-04-11 Skachkov Oleksandr <gskachkov@gmail.com> 2 36 -
trunk/Source/JavaScriptCore/bytecode/ByValInfo.h
r188878 r199303 33 33 #include "JITStubRoutine.h" 34 34 #include "Structure.h" 35 #include "StructureStubInfo.h"36 35 37 36 namespace JSC { 38 37 39 38 #if ENABLE(JIT) 39 40 class StructureStubInfo; 40 41 41 42 enum JITArrayMode { -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.cpp
r199170 r199303 60 60 #include "SlotVisitorInlines.h" 61 61 #include "StackVisitor.h" 62 #include "StructureStubInfo.h" 62 63 #include "TypeLocationCache.h" 63 64 #include "TypeProfiler.h" -
trunk/Source/JavaScriptCore/bytecode/CodeBlock.h
r197888 r199303 1 1 /* 2 * Copyright (C) 2008-201 5Apple Inc. All rights reserved.2 * Copyright (C) 2008-2016 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2008 Cameron Zwarich <cwzwarich@uwaterloo.ca> 4 4 * … … 64 64 #include "PutPropertySlot.h" 65 65 #include "RegExpObject.h" 66 #include "StructureStubInfo.h"67 66 #include "UnconditionalFinalizer.h" 68 67 #include "ValueProfile.h" … … 81 80 82 81 class ExecState; 82 class JSModuleEnvironment; 83 83 class LLIntOffsetsExtractor; 84 class PCToCodeOriginMap; 84 85 class RegisterAtOffsetList; 86 class StructureStubInfo; 85 87 class TypeLocation; 86 class JSModuleEnvironment; 87 class PCToCodeOriginMap; 88 89 enum class AccessType : int8_t; 90 91 typedef HashMap<CodeOrigin, StructureStubInfo*, CodeOriginApproximateHash> StubInfoMap; 88 92 89 93 enum ReoptimizationMode { DontCountReoptimization, CountReoptimization }; -
trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.cpp
r199279 r199303 34 34 #include "LowLevelInterpreter.h" 35 35 #include "PolymorphicAccess.h" 36 #include "StructureStubInfo.h" 36 37 #include <wtf/ListDump.h> 37 38 -
trunk/Source/JavaScriptCore/bytecode/GetByIdStatus.h
r199093 r199303 32 32 #include "ExitingJITType.h" 33 33 #include "GetByIdVariant.h" 34 #include "StructureStubInfo.h"35 34 36 35 namespace JSC { 37 36 38 37 class CodeBlock; 38 class StructureStubInfo; 39 40 typedef HashMap<CodeOrigin, StructureStubInfo*, CodeOriginApproximateHash> StubInfoMap; 39 41 40 42 class GetByIdStatus { -
trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.cpp
r196331 r199303 35 35 #include "Structure.h" 36 36 #include "StructureChain.h" 37 #include "StructureStubInfo.h" 37 38 #include <wtf/ListDump.h> 38 39 -
trunk/Source/JavaScriptCore/bytecode/PutByIdStatus.h
r188696 r199303 30 30 #include "ExitingJITType.h" 31 31 #include "PutByIdVariant.h" 32 #include "StructureStubInfo.h"33 32 #include <wtf/text/StringImpl.h> 34 33 … … 40 39 class Structure; 41 40 class StructureChain; 41 class StructureStubInfo; 42 43 typedef HashMap<CodeOrigin, StructureStubInfo*, CodeOriginApproximateHash> StubInfoMap; 42 44 43 45 class PutByIdStatus { -
trunk/Source/JavaScriptCore/bytecode/StructureStubInfo.h
r199170 r199303 169 169 } 170 170 171 typedef HashMap<CodeOrigin, StructureStubInfo*, CodeOriginApproximateHash> StubInfoMap;172 173 171 #else 174 172 175 typedef HashMap<int, void*> StubInfoMap;173 class StructureStubInfo; 176 174 177 175 #endif // ENABLE(JIT) 176 177 typedef HashMap<CodeOrigin, StructureStubInfo*, CodeOriginApproximateHash> StubInfoMap; 178 178 179 179 } // namespace JSC -
trunk/Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
r199279 r199303 51 51 #include "StackAlignment.h" 52 52 #include "StringConstructor.h" 53 #include "StructureStubInfo.h" 53 54 #include "Watchdog.h" 54 55 #include <wtf/CommaPrinter.h> -
trunk/Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
r198364 r199303 40 40 #include "DFGSpeculativeJIT.h" 41 41 #include "DFGThunks.h" 42 #include "JSCInlines.h" 42 43 #include "JSCJSValueInlines.h" 43 44 #include "LinkBuffer.h" 44 45 #include "MaxFrameExtentForSlowPathCall.h" 45 #include " JSCInlines.h"46 #include "StructureStubInfo.h" 46 47 #include "VM.h" 47 48 -
trunk/Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
r196513 r199303 34 34 #include "JSCJSValueInlines.h" 35 35 #include "JSCInlines.h" 36 #include "StructureStubInfo.h" 36 37 37 38 namespace JSC { namespace DFG { -
trunk/Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
r199279 r199303 41 41 #include "PutKind.h" 42 42 #include "SpillRegistersMode.h" 43 #include "StructureStubInfo.h" 43 44 #include "ValueRecovery.h" 44 45 #include "VirtualRegister.h" -
trunk/Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
r199300 r199303 69 69 #include "ScopedArgumentsTable.h" 70 70 #include "ScratchRegisterAllocator.h" 71 #include "SetupVarargsFrame.h" 71 72 #include "ShadowChicken.h" 72 #include "S etupVarargsFrame.h"73 #include "StructureStubInfo.h" 73 74 #include "VirtualRegister.h" 74 75 #include "Watchdog.h" -
trunk/Source/JavaScriptCore/ftl/FTLSlowPathCall.h
r190860 r199303 32 32 #include "FTLSlowPathCallKey.h" 33 33 #include "JITOperations.h" 34 #include "StructureStubInfo.h"35 34 36 35 namespace JSC { namespace FTL { -
trunk/Source/JavaScriptCore/jit/IntrinsicEmitter.cpp
r192600 r199303 38 38 #include "JSCellInlines.h" 39 39 #include "PolymorphicAccess.h" 40 #include "StructureStubInfo.h" 40 41 41 42 namespace JSC { -
trunk/Source/JavaScriptCore/jit/JITInlineCacheGenerator.cpp
r199170 r199303 32 32 #include "LinkBuffer.h" 33 33 #include "JSCInlines.h" 34 #include "StructureStubInfo.h" 34 35 35 36 namespace JSC { -
trunk/Source/JavaScriptCore/jit/JITInlineCacheGenerator.h
r199170 r199303 34 34 #include "PutKind.h" 35 35 #include "RegisterSet.h" 36 #include "StructureStubInfo.h"37 36 38 37 namespace JSC { 39 38 40 39 class CodeBlock; 40 class StructureStubInfo; 41 42 struct CallSiteIndex; 43 44 enum class AccessType : int8_t; 41 45 42 46 class JITInlineCacheGenerator { -
trunk/Source/JavaScriptCore/jit/JITOperations.cpp
r199279 r199303 61 61 #include "ScopedArguments.h" 62 62 #include "ShadowChicken.h" 63 #include "StructureStubInfo.h" 63 64 #include "SuperSampler.h" 64 65 #include "TestRunnerUtils.h" -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess.cpp
r199170 r199303 43 43 #include "ScopedArgumentsTable.h" 44 44 #include "SlowPathCall.h" 45 #include "StructureStubInfo.h" 45 46 #include <wtf/StringPrintStream.h> 46 47 -
trunk/Source/JavaScriptCore/jit/JITPropertyAccess32_64.cpp
r199170 r199303 41 41 #include "ResultType.h" 42 42 #include "SlowPathCall.h" 43 #include "StructureStubInfo.h" 43 44 #include <wtf/StringPrintStream.h> 44 45
Note: See TracChangeset
for help on using the changeset viewer.