Commit a4b4cbe9 authored by fpizlo@apple.com's avatar fpizlo@apple.com

The JITThunks class should be in its own file, and doing so should not break the build

https://bugs.webkit.org/show_bug.cgi?id=105696

Source/JavaScriptCore: 

Rubber stamped by Sam Weinig and Geoffrey Garen.
        
This patch was supposed to just move JITThunks into its own file. But then I
realized that there is a horrible circular dependency chain between JSCell,
JSGlobalData, CallFrame, and Weak, which only works because of magical include
order in JITStubs.h, and the fact that JSGlobalData.h includes JITStubs.h
before it includes JSCell or JSValue.
        
I first tried to just get JITThunks.h to just magically do the same pointless
includes that JITStubs.h had, but then I decided to actually fix the underflying
problem, which was that JSCell needed CallFrame, CallFrame needed JSGlobalData,
JSGlobalData needed JITThunks, JITThunks needed Weak, and Weak needed JSCell.
Now, all of JSCell's outgoing dependencies are placed in JSCellInlines.h. This
also gave me an opportunity to move JSValue inline methods from JSCell.h into
JSValueInlines.h. But to make this really work, I needed to remove includes of
*Inlines.h from other headers (CodeBlock.h for example included JSValueInlines.h,
which defeats the whole entire purpose of having an Inlines.h file), and I needed
to add includes of *Inlines.h into a bunch of .cpp files. I did this mostly by
having .cpp files include Operations.h. In future, if you're adding a .cpp file
to JSC, you'll almost certainly have to include Operations.h unless you enjoy
link errors.

* API/JSBase.cpp:
* API/JSCallbackConstructor.cpp:
* API/JSCallbackFunction.cpp:
* API/JSCallbackObject.cpp:
* API/JSClassRef.cpp:
* API/JSContextRef.cpp:
* API/JSObjectRef.cpp:
* API/JSScriptRef.cpp:
* API/JSWeakObjectMapRefPrivate.cpp:
* JSCTypedArrayStubs.h:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/ArrayAllocationProfile.cpp:
* bytecode/CodeBlock.cpp:
* bytecode/GetByIdStatus.cpp:
* bytecode/LazyOperandValueProfile.cpp:
* bytecode/ResolveGlobalStatus.cpp:
* bytecode/SpeculatedType.cpp:
* bytecode/UnlinkedCodeBlock.cpp:
* bytecompiler/BytecodeGenerator.cpp:
* debugger/Debugger.cpp:
* debugger/DebuggerActivation.cpp:
* debugger/DebuggerCallFrame.cpp:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGDriver.cpp:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGGraph.cpp:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(DFG):
(JSC::DFG::SpeculativeJIT::silentSavePlanForFPR):
(JSC::DFG::SpeculativeJIT::silentSpill):
(JSC::DFG::SpeculativeJIT::silentFill):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStructureCheckHoistingPhase.cpp:
* dfg/DFGVariableEventStream.cpp:
* heap/CopiedBlock.h:
* heap/CopiedSpace.cpp:
* heap/HandleSet.cpp:
* heap/Heap.cpp:
* heap/HeapStatistics.cpp:
* heap/SlotVisitor.cpp:
* heap/WeakBlock.cpp:
* interpreter/CallFrame.cpp:
* interpreter/CallFrame.h:
* jit/ClosureCallStubRoutine.cpp:
* jit/GCAwareJITStubRoutine.cpp:
* jit/JIT.cpp:
* jit/JITArithmetic.cpp:
* jit/JITArithmetic32_64.cpp:
* jit/JITCall.cpp:
* jit/JITCall32_64.cpp:
* jit/JITCode.h:
* jit/JITExceptions.cpp:
* jit/JITStubs.h:
* jit/JITThunks.h:
* jsc.cpp:
* llint/LLIntExceptions.cpp:
* profiler/LegacyProfiler.cpp:
* profiler/ProfileGenerator.cpp:
* profiler/ProfilerBytecode.cpp:
* profiler/ProfilerBytecodeSequence.cpp:
* profiler/ProfilerBytecodes.cpp:
* profiler/ProfilerCompilation.cpp:
* profiler/ProfilerCompiledBytecode.cpp:
* profiler/ProfilerDatabase.cpp:
* profiler/ProfilerOSRExit.cpp:
* profiler/ProfilerOSRExitSite.cpp:
* profiler/ProfilerOrigin.cpp:
* profiler/ProfilerOriginStack.cpp:
* profiler/ProfilerProfiledBytecodes.cpp:
* runtime/ArgList.cpp:
* runtime/Arguments.cpp:
* runtime/ArrayConstructor.cpp:
* runtime/BooleanConstructor.cpp:
* runtime/BooleanObject.cpp:
* runtime/BooleanPrototype.cpp:
* runtime/CallData.cpp:
* runtime/CodeCache.cpp:
* runtime/Completion.cpp:
* runtime/ConstructData.cpp:
* runtime/DateConstructor.cpp:
* runtime/DateInstance.cpp:
* runtime/DatePrototype.cpp:
* runtime/Error.cpp:
* runtime/ErrorConstructor.cpp:
* runtime/ErrorInstance.cpp:
* runtime/ErrorPrototype.cpp:
* runtime/ExceptionHelpers.cpp:
* runtime/Executable.cpp:
* runtime/FunctionConstructor.cpp:
* runtime/FunctionPrototype.cpp:
* runtime/GetterSetter.cpp:
* runtime/Identifier.cpp:
* runtime/InternalFunction.cpp:
* runtime/JSActivation.cpp:
* runtime/JSBoundFunction.cpp:
* runtime/JSCell.cpp:
* runtime/JSCell.h:
(JSC):
* runtime/JSCellInlines.h: Added.
(JSC):
(JSC::JSCell::JSCell):
(JSC::JSCell::finishCreation):
(JSC::JSCell::structure):
(JSC::JSCell::visitChildren):
(JSC::allocateCell):
(JSC::isZapped):
(JSC::JSCell::isObject):
(JSC::JSCell::isString):
(JSC::JSCell::isGetterSetter):
(JSC::JSCell::isProxy):
(JSC::JSCell::isAPIValueWrapper):
(JSC::JSCell::setStructure):
(JSC::JSCell::methodTable):
(JSC::JSCell::inherits):
(JSC::JSCell::fastGetOwnPropertySlot):
(JSC::JSCell::fastGetOwnProperty):
(JSC::JSCell::toBoolean):
* runtime/JSDateMath.cpp:
* runtime/JSFunction.cpp:
* runtime/JSFunction.h:
(JSC):
* runtime/JSGlobalData.h:
(JSC):
(JSGlobalData):
* runtime/JSGlobalObject.cpp:
* runtime/JSGlobalObjectFunctions.cpp:
* runtime/JSLock.cpp:
* runtime/JSNameScope.cpp:
* runtime/JSNotAnObject.cpp:
* runtime/JSONObject.cpp:
* runtime/JSObject.h:
(JSC):
* runtime/JSProxy.cpp:
* runtime/JSScope.cpp:
* runtime/JSSegmentedVariableObject.cpp:
* runtime/JSString.h:
(JSC):
* runtime/JSStringJoiner.cpp:
* runtime/JSSymbolTableObject.cpp:
* runtime/JSValue.cpp:
* runtime/JSValueInlines.h:
(JSC::JSValue::toInt32):
(JSC::JSValue::toUInt32):
(JSC):
(JSC::JSValue::isUInt32):
(JSC::JSValue::asUInt32):
(JSC::JSValue::asNumber):
(JSC::jsNaN):
(JSC::JSValue::JSValue):
(JSC::JSValue::encode):
(JSC::JSValue::decode):
(JSC::JSValue::operator bool):
(JSC::JSValue::operator==):
(JSC::JSValue::operator!=):
(JSC::JSValue::isEmpty):
(JSC::JSValue::isUndefined):
(JSC::JSValue::isNull):
(JSC::JSValue::isUndefinedOrNull):
(JSC::JSValue::isCell):
(JSC::JSValue::isInt32):
(JSC::JSValue::isDouble):
(JSC::JSValue::isTrue):
(JSC::JSValue::isFalse):
(JSC::JSValue::tag):
(JSC::JSValue::payload):
(JSC::JSValue::asInt32):
(JSC::JSValue::asDouble):
(JSC::JSValue::asCell):
(JSC::JSValue::isNumber):
(JSC::JSValue::isBoolean):
(JSC::JSValue::asBoolean):
(JSC::reinterpretDoubleToInt64):
(JSC::reinterpretInt64ToDouble):
(JSC::JSValue::isString):
(JSC::JSValue::isPrimitive):
(JSC::JSValue::isGetterSetter):
(JSC::JSValue::isObject):
(JSC::JSValue::getString):
(JSC::::getString):
(JSC::JSValue::getObject):
(JSC::JSValue::getUInt32):
(JSC::JSValue::toPrimitive):
(JSC::JSValue::getPrimitiveNumber):
(JSC::JSValue::toNumber):
(JSC::JSValue::toObject):
(JSC::JSValue::isFunction):
(JSC::JSValue::inherits):
(JSC::JSValue::toThisObject):
(JSC::JSValue::get):
(JSC::JSValue::put):
(JSC::JSValue::putByIndex):
(JSC::JSValue::structureOrUndefined):
(JSC::JSValue::equal):
(JSC::JSValue::equalSlowCaseInline):
(JSC::JSValue::strictEqualSlowCaseInline):
(JSC::JSValue::strictEqual):
* runtime/JSVariableObject.cpp:
* runtime/JSWithScope.cpp:
* runtime/JSWrapperObject.cpp:
* runtime/LiteralParser.cpp:
* runtime/Lookup.cpp:
* runtime/NameConstructor.cpp:
* runtime/NameInstance.cpp:
* runtime/NamePrototype.cpp:
* runtime/NativeErrorConstructor.cpp:
* runtime/NativeErrorPrototype.cpp:
* runtime/NumberConstructor.cpp:
* runtime/NumberObject.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/ObjectPrototype.cpp:
* runtime/Operations.h:
(JSC):
* runtime/PropertySlot.cpp:
* runtime/RegExp.cpp:
* runtime/RegExpCache.cpp:
* runtime/RegExpCachedResult.cpp:
* runtime/RegExpConstructor.cpp:
* runtime/RegExpMatchesArray.cpp:
* runtime/RegExpObject.cpp:
* runtime/RegExpPrototype.cpp:
* runtime/SmallStrings.cpp:
* runtime/SparseArrayValueMap.cpp:
* runtime/StrictEvalActivation.cpp:
* runtime/StringConstructor.cpp:
* runtime/StringObject.cpp:
* runtime/StringRecursionChecker.cpp:
* runtime/Structure.h:
(JSC):
* runtime/StructureChain.cpp:
* runtime/TimeoutChecker.cpp:
* testRegExp.cpp:

Source/WebCore: 

Rubber stamped by Sam Weinig.

All .cpp files that use the JSC internal API must now transitively include
Operations.h, and none of the major JSC headers do it for you to avoid
circularity. WebCore doesn't have to worry about circularity with JSC, so
this changes all of the major WebCore JSC base headers to include
Operations.h.

* bindings/js/BindingState.h:
* bindings/js/JSArrayBufferViewHelper.h:
* bindings/js/JSCustomXPathNSResolver.h:
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDictionary.h:
* bindings/js/JSMessagePortCustom.h:
* bindings/js/JSNodeFilterCondition.h:
* bindings/js/ScriptValue.h:
* bindings/js/ScriptWrappable.h:
* bindings/js/SerializedScriptValue.cpp:
* bridge/c/c_utility.h:
* bridge/jsc/BridgeJSC.h:
* dom/Node.cpp:
* html/HTMLCanvasElement.cpp:
* html/HTMLImageLoader.cpp:
* plugins/efl/PluginViewEfl.cpp:
* xml/XMLHttpRequest.cpp:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@139541 268f45cc-cd09-0410-ab3c-d52691b4dbfc
parent 895e5bbc
......@@ -29,14 +29,15 @@
#include "APICast.h"
#include "APIShims.h"
#include "CallFrame.h"
#include "Completion.h"
#include "InitializeThreading.h"
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "JSObject.h"
#include "OpaqueJSString.h"
#include "Operations.h"
#include "SourceCode.h"
#include <interpreter/CallFrame.h>
#include <runtime/InitializeThreading.h>
#include <runtime/Completion.h>
#include <runtime/JSGlobalObject.h>
#include <runtime/JSLock.h>
#include <runtime/JSObject.h>
#include <wtf/text/StringHash.h>
using namespace JSC;
......
......@@ -28,10 +28,11 @@
#include "APIShims.h"
#include "APICast.h"
#include <runtime/Error.h>
#include <runtime/JSGlobalObject.h>
#include <runtime/JSLock.h>
#include <runtime/ObjectPrototype.h>
#include "Error.h"
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "ObjectPrototype.h"
#include "Operations.h"
#include <wtf/Vector.h>
namespace JSC {
......
......@@ -30,10 +30,11 @@
#include "APICast.h"
#include "CodeBlock.h"
#include "ExceptionHelpers.h"
#include "JSFunction.h"
#include "FunctionPrototype.h"
#include <runtime/JSGlobalObject.h>
#include <runtime/JSLock.h>
#include "JSFunction.h"
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "Operations.h"
#include <wtf/Vector.h>
namespace JSC {
......
......@@ -28,6 +28,7 @@
#include "JSCallbackObject.h"
#include "Heap.h"
#include "Operations.h"
#include <wtf/text/StringHash.h>
namespace JSC {
......
......@@ -27,12 +27,13 @@
#include "JSClassRef.h"
#include "APICast.h"
#include "Identifier.h"
#include "InitializeThreading.h"
#include "JSCallbackObject.h"
#include "JSGlobalObject.h"
#include "JSObjectRef.h"
#include <runtime/InitializeThreading.h>
#include <runtime/JSGlobalObject.h>
#include <runtime/ObjectPrototype.h>
#include <runtime/Identifier.h>
#include "ObjectPrototype.h"
#include "Operations.h"
#include <wtf/text/StringHash.h>
#include <wtf/unicode/UTF8.h>
......
......@@ -35,6 +35,7 @@
#include "JSClassRef.h"
#include "JSGlobalObject.h"
#include "JSObject.h"
#include "Operations.h"
#include <wtf/text/StringBuilder.h>
#include <wtf/text/StringHash.h>
......
......@@ -49,6 +49,7 @@
#include "JSString.h"
#include "JSValueRef.h"
#include "ObjectPrototype.h"
#include "Operations.h"
#include "PropertyNameArray.h"
#include "RegExpConstructor.h"
......
......@@ -32,6 +32,7 @@
#include "JSGlobalData.h"
#include "JSScriptRefPrivate.h"
#include "OpaqueJSString.h"
#include "Operations.h"
#include "Parser.h"
#include "SourceCode.h"
#include "SourceProvider.h"
......
......@@ -31,6 +31,7 @@
#include "JSCallbackObject.h"
#include "JSValue.h"
#include "JSWeakObjectMapRefInternal.h"
#include "Operations.h"
#include <wtf/HashMap.h>
#include <wtf/text/StringHash.h>
......
This diff is collapsed.
......@@ -28,6 +28,7 @@
#include "JSDestructibleObject.h"
#include "ObjectPrototype.h"
#include "Operations.h"
#include <wtf/Float32Array.h>
#include <wtf/Float64Array.h>
#include <wtf/Forward.h>
......
......@@ -2197,7 +2197,6 @@
RelativePath="..\..\jit\JITStubs.h"
>
</File>
<File
RelativePath="..\..\jit\JITThunks.cpp"
>
</File>
......
......@@ -199,6 +199,7 @@
0F9332A514CA7DDD0085F3C6 /* StructureSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F93329B14CA7DC10085F3C6 /* StructureSet.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F963B3813FC6FE90002D9B2 /* ValueProfile.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F963B3613FC6FDE0002D9B2 /* ValueProfile.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F96EBB316676EF6008BADE3 /* CodeBlockWithJITType.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F96EBB116676EF4008BADE3 /* CodeBlockWithJITType.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F9749711687ADE400A4FF6A /* JSCellInlines.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F97496F1687ADE200A4FF6A /* JSCellInlines.h */; settings = {ATTRIBUTES = (Private, ); }; };
0F9D3370165DBB90005AD387 /* Disassembler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F9D336E165DBB8D005AD387 /* Disassembler.cpp */; };
0F9FC8C314E1B5FE00D52AE0 /* PolymorphicPutByIdList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F9FC8BF14E1B5FB00D52AE0 /* PolymorphicPutByIdList.cpp */; };
0F9FC8C414E1B60000D52AE0 /* PolymorphicPutByIdList.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F9FC8C014E1B5FB00D52AE0 /* PolymorphicPutByIdList.h */; settings = {ATTRIBUTES = (Private, ); }; };
......@@ -1056,6 +1057,7 @@
0F93329B14CA7DC10085F3C6 /* StructureSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StructureSet.h; sourceTree = "<group>"; };
0F963B3613FC6FDE0002D9B2 /* ValueProfile.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ValueProfile.h; sourceTree = "<group>"; };
0F96EBB116676EF4008BADE3 /* CodeBlockWithJITType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CodeBlockWithJITType.h; sourceTree = "<group>"; };
0F97496F1687ADE200A4FF6A /* JSCellInlines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSCellInlines.h; sourceTree = "<group>"; };
0F9D336E165DBB8D005AD387 /* Disassembler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Disassembler.cpp; path = disassembler/Disassembler.cpp; sourceTree = "<group>"; };
0F9FC8BF14E1B5FB00D52AE0 /* PolymorphicPutByIdList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PolymorphicPutByIdList.cpp; sourceTree = "<group>"; };
0F9FC8C014E1B5FB00D52AE0 /* PolymorphicPutByIdList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PolymorphicPutByIdList.h; sourceTree = "<group>"; };
......@@ -2342,6 +2344,7 @@
86FA9E90142BBB2E001773B7 /* JSBoundFunction.h */,
BC7F8FBA0E19D1EF008632C0 /* JSCell.cpp */,
BC1167D80E19BCC9008066DD /* JSCell.h */,
0F97496F1687ADE200A4FF6A /* JSCellInlines.h */,
9788FC221471AD0C0068CE2D /* JSDateMath.cpp */,
9788FC231471AD0C0068CE2D /* JSDateMath.h */,
C2A7F687160432D400F76B98 /* JSDestructibleObject.h */,
......@@ -3266,6 +3269,9 @@
86704B8812DBA33700A9FE7B /* YarrParser.h in Headers */,
86704B8A12DBA33700A9FE7B /* YarrPattern.h in Headers */,
86704B4312DB8A8100A9FE7B /* YarrSyntaxChecker.h in Headers */,
0F5EF91F16878F7D003E5C25 /* JITThunks.h in Headers */,
0F572D4F16879FDD00E57FBD /* ThunkGenerator.h in Headers */,
0F9749711687ADE400A4FF6A /* JSCellInlines.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......
......@@ -26,6 +26,8 @@
#include "config.h"
#include "ArrayAllocationProfile.h"
#include "Operations.h"
namespace JSC {
void ArrayAllocationProfile::updateIndexingType()
......
......@@ -28,6 +28,7 @@
#include "CodeBlock.h"
#include "LLIntCallLinkInfo.h"
#include "Operations.h"
#include <wtf/CommaPrinter.h>
namespace JSC {
......
......@@ -45,6 +45,7 @@
#include "JSNameScope.h"
#include "JSValue.h"
#include "LowLevelInterpreter.h"
#include "Operations.h"
#include "ReduceWhitespace.h"
#include "RepatchBuffer.h"
#include "SlotVisitorInlines.h"
......
......@@ -29,6 +29,7 @@
#include "CallFrame.h"
#include "CodeBlock.h"
#include "Executable.h"
#include "Operations.h"
namespace JSC {
......
......@@ -30,6 +30,7 @@
#include "JSScope.h"
#include "LLIntData.h"
#include "LowLevelInterpreter.h"
#include "Operations.h"
namespace JSC {
......
......@@ -28,6 +28,8 @@
#if ENABLE(VALUE_PROFILER)
#include "Operations.h"
namespace JSC {
CompressedLazyOperandValueProfileHolder::CompressedLazyOperandValueProfileHolder() { }
......
......@@ -28,6 +28,7 @@
#include "CodeBlock.h"
#include "JSValue.h"
#include "Operations.h"
#include "Structure.h"
namespace JSC {
......
......@@ -32,6 +32,7 @@
#include "Arguments.h"
#include "JSArray.h"
#include "JSFunction.h"
#include "Operations.h"
#include "ValueProfile.h"
#include <wtf/BoundsCheckedPointer.h>
#include <wtf/StringPrintStream.h>
......
......@@ -32,6 +32,7 @@
#include "CodeCache.h"
#include "Executable.h"
#include "JSString.h"
#include "Operations.h"
#include "SourceProvider.h"
#include "Structure.h"
#include "SymbolTable.h"
......
......@@ -38,6 +38,7 @@
#include "JSFunction.h"
#include "JSNameScope.h"
#include "LowLevelInterpreter.h"
#include "Operations.h"
#include "Options.h"
#include "StrongInlines.h"
#include <wtf/text/WTFString.h>
......
......@@ -26,6 +26,7 @@
#include "Interpreter.h"
#include "JSFunction.h"
#include "JSGlobalObject.h"
#include "Operations.h"
#include "Parser.h"
#include "Protect.h"
......
......@@ -27,6 +27,7 @@
#include "DebuggerActivation.h"
#include "JSActivation.h"
#include "Operations.h"
namespace JSC {
......
......@@ -32,6 +32,7 @@
#include "JSFunction.h"
#include "CodeBlock.h"
#include "Interpreter.h"
#include "Operations.h"
#include "Parser.h"
namespace JSC {
......
......@@ -35,6 +35,7 @@
#include "DFGPhase.h"
#include "DFGValidate.h"
#include "DFGVariableAccessDataDump.h"
#include "Operations.h"
#include <wtf/HashSet.h>
#include <wtf/HashMap.h>
......
......@@ -30,6 +30,7 @@
#include "DFGAbstractValue.h"
#include "DFGGraph.h"
#include "Operations.h"
namespace JSC { namespace DFG {
......
......@@ -35,6 +35,7 @@
#include "DFGArrayMode.h"
#include "DFGCapabilities.h"
#include "GetByIdStatus.h"
#include "JSValueInlines.h"
#include "PutByIdStatus.h"
#include "ResolveGlobalStatus.h"
#include <wtf/HashMap.h>
......
......@@ -34,6 +34,7 @@
#include "DFGInsertionSet.h"
#include "DFGPhase.h"
#include "GetByIdStatus.h"
#include "Operations.h"
#include "PutByIdStatus.h"
namespace JSC { namespace DFG {
......
......@@ -44,6 +44,7 @@
#include "DFGStructureCheckHoistingPhase.h"
#include "DFGValidate.h"
#include "DFGVirtualRegisterAllocationPhase.h"
#include "Operations.h"
#include "Options.h"
namespace JSC { namespace DFG {
......
......@@ -31,6 +31,7 @@
#include "DFGGraph.h"
#include "DFGInsertionSet.h"
#include "DFGPhase.h"
#include "Operations.h"
namespace JSC { namespace DFG {
......
......@@ -28,6 +28,7 @@
#include "CodeBlock.h"
#include "DFGVariableAccessDataDump.h"
#include "Operations.h"
#if ENABLE(DFG_JIT)
......
......@@ -36,6 +36,7 @@
#include "DFGSpeculativeJIT.h"
#include "DFGThunks.h"
#include "JSGlobalData.h"
#include "JSValueInlines.h"
#include "LinkBuffer.h"
namespace JSC { namespace DFG {
......
......@@ -32,6 +32,7 @@
#include "CodeBlock.h"
#include "DFGNode.h"
#include "JIT.h"
#include "Operations.h"
namespace JSC { namespace DFG {
......
......@@ -31,6 +31,7 @@
#include "CallFrame.h"
#include "DFGCommon.h"
#include "LinkBuffer.h"
#include "Operations.h"
#include "RepatchBuffer.h"
#include <wtf/StringPrintStream.h>
......
......@@ -29,6 +29,7 @@
#if ENABLE(DFG_JIT) && USE(JSVALUE32_64)
#include "DFGOperations.h"
#include "Operations.h"
#include <wtf/DataLog.h>
namespace JSC { namespace DFG {
......
......@@ -29,6 +29,7 @@
#if ENABLE(DFG_JIT) && USE(JSVALUE64)
#include "DFGOperations.h"
#include "Operations.h"
#include <wtf/DataLog.h>
namespace JSC { namespace DFG {
......
......@@ -30,6 +30,7 @@
#include "DFGGraph.h"
#include "DFGPhase.h"
#include "Operations.h"
namespace JSC { namespace DFG {
......
......@@ -34,6 +34,7 @@
#include "DFGSlowPathGenerator.h"
#include "JSActivation.h"
#include "ObjectPrototype.h"
#include "Operations.h"
namespace JSC { namespace DFG {
......
......@@ -32,6 +32,7 @@
#include "ArrayPrototype.h"
#include "DFGCallArrayAllocatorSlowPathGenerator.h"
#include "DFGSlowPathGenerator.h"
#include "JSValueInlines.h"
#include "ObjectPrototype.h"
namespace JSC { namespace DFG {
......
......@@ -33,6 +33,7 @@
#include "DFGInsertionSet.h"
#include "DFGPhase.h"
#include "DFGVariableAccessDataDump.h"
#include "Operations.h"
#include <wtf/HashMap.h>
namespace JSC { namespace DFG {
......
......@@ -30,6 +30,7 @@
#include "CodeBlock.h"
#include "DFGValueSource.h"
#include "Operations.h"
#include <wtf/DataLog.h>
namespace JSC { namespace DFG {
......
......@@ -30,7 +30,6 @@
#include "CopyWorkList.h"
#include "HeapBlock.h"
#include "JSValue.h"
#include "JSValueInlines.h"
#include "Options.h"
#include <wtf/Atomics.h>
#include <wtf/OwnPtr.h>
......
......@@ -28,6 +28,7 @@
#include "CopiedSpaceInlines.h"
#include "GCActivityCallback.h"
#include "Operations.h"
#include "Options.h"
namespace JSC {
......
......@@ -28,6 +28,7 @@
#include "HeapRootVisitor.h"
#include "JSObject.h"
#include "Operations.h"
namespace JSC {
......
......@@ -35,6 +35,7 @@
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "JSONObject.h"
#include "Operations.h"
#include "Tracing.h"
#include "UnlinkedCodeBlock.h"
#include "WeakSetInlines.h"
......
......@@ -28,6 +28,7 @@
#include "Heap.h"
#include "JSObject.h"
#include "Operations.h"
#include "Options.h"
#include <stdlib.h>
#if OS(UNIX)
......
......@@ -29,7 +29,7 @@
#include "IncrementalSweeper.h"
#include "JSCell.h"
#include "JSDestructibleObject.h"
#include "Operations.h"
namespace JSC {
......
......@@ -11,6 +11,7 @@
#include "JSGlobalData.h"
#include "JSObject.h"
#include "JSString.h"
#include "Operations.h"
#include <wtf/StackStats.h>
namespace JSC {
......
......@@ -29,7 +29,7 @@
#include "Heap.h"
#include "HeapRootVisitor.h"
#include "JSObject.h"
#include "Operations.h"
#include "Structure.h"
namespace JSC {
......
......@@ -28,6 +28,7 @@
#include "CodeBlock.h"
#include "Interpreter.h"
#include "Operations.h"
namespace JSC {
......
......@@ -27,6 +27,7 @@
#include "JSGlobalData.h"
#include "JSStack.h"
#include "MacroAssemblerCodeRef.h"
#include "Register.h"
namespace JSC {
......
......@@ -31,6 +31,7 @@
#include "Executable.h"
#include "Heap.h"
#include "JSGlobalData.h"
#include "Operations.h"
#include "SlotVisitor.h"
#include "Structure.h"
......
......@@ -30,6 +30,7 @@
#include "Heap.h"
#include "JSGlobalData.h"
#include "Operations.h"
#include "SlotVisitor.h"
#include "Structure.h"
......
......@@ -43,6 +43,7 @@ JSC::MacroAssemblerX86Common::SSE2CheckState JSC::MacroAssemblerX86Common::s_sse
#include "JSArray.h"
#include "JSFunction.h"
#include "LinkBuffer.h"
#include "Operations.h"
#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
......
......@@ -35,6 +35,7 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "Interpreter.h"
#include "Operations.h"
#include "ResultType.h"
#include "SamplingTool.h"
......
......@@ -36,6 +36,7 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "Interpreter.h"
#include "Operations.h"
#include "ResultType.h"
#include "SamplingTool.h"
......
......@@ -36,6 +36,7 @@
#include "JSArray.h"
#include "JSFunction.h"
#include "Interpreter.h"
#include "Operations.h"
#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
......
......@@ -36,6 +36,7 @@
#include "JITStubCall.h"
#include "JSArray.h"
#include "JSFunction.h"
#include "Operations.h"
#include "RepatchBuffer.h"
#include "ResultType.h"
#include "SamplingTool.h"
......
......@@ -28,8 +28,9 @@
#if ENABLE(JIT) || ENABLE(LLINT)
#include "CallFrame.h"
#include "JSValue.h"
#include "Disassembler.h"
#include "JITStubs.h"
#include "JSValue.h"
#include "LegacyProfiler.h"
#include "MacroAssemblerCodeRef.h"
#endif
......
......@@ -31,6 +31,7 @@
#include "Interpreter.h"
#include "JSGlobalData.h"
#include "JSValue.h"
#include "Operations.h"
#if ENABLE(JIT) || ENABLE(LLINT)
......
......@@ -36,8 +36,6 @@
#include "MacroAssemblerCodeRef.h"
#include "Register.h"
#include "ResolveOperation.h"
#include "ThunkGenerators.h"
#include <wtf/HashMap.h>
namespace JSC {
......
......@@ -34,10 +34,11 @@
#include "Intrinsic.h"
#include "LowLevelInterpreter.h"
#include "MacroAssemblerCodeRef.h"
#include "Register.h"
#include "ResolveOperation.h"
#include "ThunkGenerators.h"