Never include *Inlines.h files in interface headers, and never include *Inlines.h when you could include Operations.h instead
https://bugs.webkit.org/show_bug.cgi?id=128505
Reviewed by Mark Hahnenberg and Oliver Hunt.
* API/JSContextRef.cpp:
* assembler/LinkBuffer.cpp:
* bytecode/ArrayProfile.cpp:
* bytecode/BytecodeBasicBlock.cpp:
* bytecode/BytecodeLivenessAnalysisInlines.h:
* bytecode/CallLinkInfo.cpp:
* bytecode/CodeBlock.cpp:
* bytecode/CodeBlock.h:
* bytecode/CodeBlockJettisoningWatchpoint.cpp:
* bytecode/ExecutionCounter.cpp:
* bytecode/MethodOfGettingAValueProfile.cpp:
* bytecode/PreciseJumpTargets.cpp:
* bytecode/ProfiledCodeBlockJettisoningWatchpoint.cpp:
* bytecode/SamplingTool.cpp:
* bytecode/SpecialPointer.cpp:
* bytecode/StructureStubClearingWatchpoint.cpp:
* debugger/DebuggerCallFrame.cpp:
* dfg/DFGAbstractHeap.cpp:
* dfg/DFGAbstractValue.cpp:
* dfg/DFGArgumentsSimplificationPhase.cpp:
* dfg/DFGArithMode.cpp:
* dfg/DFGArrayMode.cpp:
* dfg/DFGAtTailAbstractState.cpp:
* dfg/DFGAvailability.cpp:
* dfg/DFGBackwardsPropagationPhase.cpp:
* dfg/DFGBasicBlock.cpp:
* dfg/DFGBinarySwitch.cpp:
* dfg/DFGBlockInsertionSet.cpp:
* dfg/DFGByteCodeParser.cpp:
* dfg/DFGCFAPhase.cpp:
* dfg/DFGCFGSimplificationPhase.cpp:
* dfg/DFGCPSRethreadingPhase.cpp:
* dfg/DFGCSEPhase.cpp:
* dfg/DFGCapabilities.cpp:
* dfg/DFGClobberSet.cpp:
* dfg/DFGClobberize.cpp:
* dfg/DFGCommon.cpp:
* dfg/DFGCommonData.cpp:
* dfg/DFGCompilationKey.cpp:
* dfg/DFGCompilationMode.cpp:
* dfg/DFGConstantFoldingPhase.cpp:
* dfg/DFGCriticalEdgeBreakingPhase.cpp:
* dfg/DFGDCEPhase.cpp:
* dfg/DFGDesiredIdentifiers.cpp:
* dfg/DFGDesiredStructureChains.cpp:
* dfg/DFGDesiredTransitions.cpp:
* dfg/DFGDesiredWatchpoints.cpp:
* dfg/DFGDisassembler.cpp:
* dfg/DFGDisassembler.h:
* dfg/DFGDominators.cpp:
* dfg/DFGEdge.cpp:
* dfg/DFGFailedFinalizer.cpp:
* dfg/DFGFinalizer.cpp:
* dfg/DFGFixupPhase.cpp:
* dfg/DFGFlushFormat.cpp:
* dfg/DFGFlushLivenessAnalysisPhase.cpp:
* dfg/DFGFlushedAt.cpp:
* dfg/DFGGraph.cpp:
* dfg/DFGInPlaceAbstractState.cpp:
* dfg/DFGInvalidationPointInjectionPhase.cpp:
* dfg/DFGJITCode.cpp:
* dfg/DFGJITCompiler.cpp:
* dfg/DFGJITCompiler.h:
* dfg/DFGJITFinalizer.cpp:
* dfg/DFGJumpReplacement.cpp:
* dfg/DFGLICMPhase.cpp:
* dfg/DFGLazyJSValue.cpp:
* dfg/DFGLivenessAnalysisPhase.cpp:
* dfg/DFGLongLivedState.cpp:
* dfg/DFGLoopPreHeaderCreationPhase.cpp:
* dfg/DFGMinifiedNode.cpp:
* dfg/DFGNaturalLoops.cpp:
* dfg/DFGNode.cpp:
* dfg/DFGNodeFlags.cpp:
* dfg/DFGOSRAvailabilityAnalysisPhase.cpp:
* dfg/DFGOSREntry.cpp:
* dfg/DFGOSREntrypointCreationPhase.cpp:
* dfg/DFGOSRExit.cpp:
* dfg/DFGOSRExitBase.cpp:
* dfg/DFGOSRExitCompiler.cpp:
* dfg/DFGOSRExitCompiler32_64.cpp:
* dfg/DFGOSRExitCompiler64.cpp:
* dfg/DFGOSRExitCompilerCommon.cpp:
* dfg/DFGOSRExitJumpPlaceholder.cpp:
* dfg/DFGOSRExitPreparation.cpp:
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPhase.cpp:
* dfg/DFGPlan.cpp:
* dfg/DFGPredictionInjectionPhase.cpp:
* dfg/DFGPredictionPropagationPhase.cpp:
* dfg/DFGResurrectionForValidationPhase.cpp:
* dfg/DFGSSAConversionPhase.cpp:
* dfg/DFGSSALoweringPhase.cpp:
* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT32_64.cpp:
* dfg/DFGSpeculativeJIT64.cpp:
* dfg/DFGStackLayoutPhase.cpp:
* dfg/DFGStoreBarrierElisionPhase.cpp:
* dfg/DFGStrengthReductionPhase.cpp:
* dfg/DFGThunks.cpp:
* dfg/DFGTierUpCheckInjectionPhase.cpp:
* dfg/DFGToFTLDeferredCompilationCallback.cpp:
* dfg/DFGToFTLForOSREntryDeferredCompilationCallback.cpp:
* dfg/DFGTypeCheckHoistingPhase.cpp:
* dfg/DFGUnificationPhase.cpp:
* dfg/DFGUseKind.cpp:
* dfg/DFGValidate.cpp:
* dfg/DFGValueSource.cpp:
* dfg/DFGVariableAccessDataDump.cpp:
* dfg/DFGVariableEvent.cpp:
* dfg/DFGVariableEventStream.cpp:
* dfg/DFGVirtualRegisterAllocationPhase.cpp:
* dfg/DFGWatchpointCollectionPhase.cpp:
* dfg/DFGWorklist.cpp:
* disassembler/Disassembler.cpp:
* ftl/FTLLink.cpp:
* ftl/FTLOSRExitCompiler.cpp:
* ftl/FTLSlowPathCall.cpp:
* ftl/FTLThunks.cpp:
(JSC::FTL::slowPathCallThunkGenerator):
* heap/BlockAllocator.cpp:
* heap/CodeBlockSet.cpp:
* heap/ConservativeRoots.cpp:
* heap/DeferGC.cpp:
* heap/GCThread.cpp:
* heap/GCThreadSharedData.cpp:
* heap/HeapTimer.cpp:
* heap/IncrementalSweeper.cpp:
* heap/JITStubRoutineSet.cpp:
* heap/MachineStackMarker.cpp:
* heap/MarkStack.cpp:
* heap/MarkedAllocator.cpp:
* heap/MarkedSpace.cpp:
* heap/SuperRegion.cpp:
* heap/Weak.cpp:
* heap/WeakHandleOwner.cpp:
* heap/WeakSet.cpp:
* heap/WriteBarrierBuffer.cpp:
* heap/WriteBarrierSupport.cpp:
* inspector/ScriptCallStackFactory.cpp:
* interpreter/AbstractPC.cpp:
* interpreter/JSStack.cpp:
* interpreter/ProtoCallFrame.cpp:
* interpreter/VMInspector.cpp:
* jit/ArityCheckFailReturnThunks.cpp:
* jit/AssemblyHelpers.cpp:
* jit/ExecutableAllocator.cpp:
* jit/ExecutableAllocatorFixedVMPool.cpp:
* jit/GCAwareJITStubRoutine.cpp:
* jit/HostCallReturnValue.cpp:
* jit/JITDisassembler.cpp:
* jit/JITDisassembler.h:
* jit/JITExceptions.cpp:
* jit/JITInlines.h:
* jit/JITOperations.cpp:
* jit/JITOperationsMSVC64.cpp:
* jit/JITStubRoutine.cpp:
* jit/JITStubs.cpp:
* jit/JITToDFGDeferredCompilationCallback.cpp:
* jit/RegisterPreservationWrapperGenerator.cpp:
* jit/RegisterSet.cpp:
* jit/Repatch.cpp:
* jit/TempRegisterSet.cpp:
* jsc.cpp:
* parser/Lexer.cpp:
* parser/Parser.cpp:
* parser/ParserArena.cpp:
* parser/SourceCode.cpp:
* parser/SourceProvider.cpp:
* parser/SourceProviderCache.cpp:
* profiler/ProfileGenerator.cpp:
* runtime/Arguments.cpp:
* runtime/ArgumentsIteratorPrototype.cpp:
* runtime/CommonSlowPathsExceptions.cpp:
* runtime/JSArgumentsIterator.cpp:
* runtime/JSFunction.cpp:
* runtime/JSGlobalObjectFunctions.cpp:
* runtime/ObjectConstructor.cpp:
* runtime/Operations.h:
* runtime/VM.cpp:
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@163760 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/Source/JavaScriptCore/heap/BlockAllocator.cpp b/Source/JavaScriptCore/heap/BlockAllocator.cpp
index 7a74749..1d1957b 100644
--- a/Source/JavaScriptCore/heap/BlockAllocator.cpp
+++ b/Source/JavaScriptCore/heap/BlockAllocator.cpp
@@ -29,6 +29,7 @@
#include "CopiedBlock.h"
#include "CopyWorkList.h"
#include "MarkedBlock.h"
+#include "Operations.h"
#include "WeakBlock.h"
#include <wtf/CurrentTime.h>
diff --git a/Source/JavaScriptCore/heap/CodeBlockSet.cpp b/Source/JavaScriptCore/heap/CodeBlockSet.cpp
index 3fa3aca..a7344cb 100644
--- a/Source/JavaScriptCore/heap/CodeBlockSet.cpp
+++ b/Source/JavaScriptCore/heap/CodeBlockSet.cpp
@@ -27,6 +27,7 @@
#include "CodeBlockSet.h"
#include "CodeBlock.h"
+#include "Operations.h"
#include "SlotVisitor.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/ConservativeRoots.cpp b/Source/JavaScriptCore/heap/ConservativeRoots.cpp
index 40df903..e2180e8 100644
--- a/Source/JavaScriptCore/heap/ConservativeRoots.cpp
+++ b/Source/JavaScriptCore/heap/ConservativeRoots.cpp
@@ -32,6 +32,7 @@
#include "CopiedSpaceInlines.h"
#include "JSCell.h"
#include "JSObject.h"
+#include "Operations.h"
#include "Structure.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/DeferGC.cpp b/Source/JavaScriptCore/heap/DeferGC.cpp
index 72b3dc9..d664438 100644
--- a/Source/JavaScriptCore/heap/DeferGC.cpp
+++ b/Source/JavaScriptCore/heap/DeferGC.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "DeferGC.h"
+#include "Operations.h"
+
namespace JSC {
#ifndef NDEBUG
diff --git a/Source/JavaScriptCore/heap/GCThread.cpp b/Source/JavaScriptCore/heap/GCThread.cpp
index 50f02ce..ff876b3 100644
--- a/Source/JavaScriptCore/heap/GCThread.cpp
+++ b/Source/JavaScriptCore/heap/GCThread.cpp
@@ -29,6 +29,7 @@
#include "CopyVisitor.h"
#include "CopyVisitorInlines.h"
#include "GCThreadSharedData.h"
+#include "Operations.h"
#include "SlotVisitor.h"
#include <wtf/MainThread.h>
#include <wtf/PassOwnPtr.h>
diff --git a/Source/JavaScriptCore/heap/GCThreadSharedData.cpp b/Source/JavaScriptCore/heap/GCThreadSharedData.cpp
index 6f778ab..b8ff085 100644
--- a/Source/JavaScriptCore/heap/GCThreadSharedData.cpp
+++ b/Source/JavaScriptCore/heap/GCThreadSharedData.cpp
@@ -29,10 +29,11 @@
#include "CopyVisitor.h"
#include "CopyVisitorInlines.h"
#include "GCThread.h"
-#include "VM.h"
#include "MarkStack.h"
+#include "Operations.h"
#include "SlotVisitor.h"
#include "SlotVisitorInlines.h"
+#include "VM.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/HeapTimer.cpp b/Source/JavaScriptCore/heap/HeapTimer.cpp
index 1331b0a..073d720 100644
--- a/Source/JavaScriptCore/heap/HeapTimer.cpp
+++ b/Source/JavaScriptCore/heap/HeapTimer.cpp
@@ -29,7 +29,7 @@
#include "APIShims.h"
#include "JSObject.h"
#include "JSString.h"
-
+#include "Operations.h"
#include <wtf/MainThread.h>
#include <wtf/Threading.h>
diff --git a/Source/JavaScriptCore/heap/IncrementalSweeper.cpp b/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
index 2852266..b2d8e8a 100644
--- a/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
+++ b/Source/JavaScriptCore/heap/IncrementalSweeper.cpp
@@ -32,6 +32,7 @@
#include "JSObject.h"
#include "JSString.h"
#include "MarkedBlock.h"
+#include "Operations.h"
#include <wtf/HashSet.h>
#include <wtf/WTFThreadData.h>
diff --git a/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp b/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
index a37dc6f..7e52af6 100644
--- a/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
+++ b/Source/JavaScriptCore/heap/JITStubRoutineSet.cpp
@@ -24,12 +24,13 @@
*/
#include "config.h"
-#include "JITStubRoutineSet.h"
#if ENABLE(JIT)
-#include "GCAwareJITStubRoutine.h"
+#include "JITStubRoutineSet.h"
+#include "GCAwareJITStubRoutine.h"
+#include "Operations.h"
#include "SlotVisitor.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/MachineStackMarker.cpp b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
index 8263192..efad679 100644
--- a/Source/JavaScriptCore/heap/MachineStackMarker.cpp
+++ b/Source/JavaScriptCore/heap/MachineStackMarker.cpp
@@ -25,6 +25,7 @@
#include "ConservativeRoots.h"
#include "Heap.h"
#include "JSArray.h"
+#include "Operations.h"
#include "VM.h"
#include <setjmp.h>
#include <stdlib.h>
diff --git a/Source/JavaScriptCore/heap/MarkStack.cpp b/Source/JavaScriptCore/heap/MarkStack.cpp
index 6329206..8e7a8aa 100644
--- a/Source/JavaScriptCore/heap/MarkStack.cpp
+++ b/Source/JavaScriptCore/heap/MarkStack.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "MarkStack.h"
+#include "Operations.h"
+
namespace JSC {
MarkStackArray::MarkStackArray(BlockAllocator& blockAllocator)
diff --git a/Source/JavaScriptCore/heap/MarkedAllocator.cpp b/Source/JavaScriptCore/heap/MarkedAllocator.cpp
index c2b0f72..8d5ed9a 100644
--- a/Source/JavaScriptCore/heap/MarkedAllocator.cpp
+++ b/Source/JavaScriptCore/heap/MarkedAllocator.cpp
@@ -1,3 +1,28 @@
+/*
+ * Copyright (C) 2012, 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
#include "config.h"
#include "MarkedAllocator.h"
@@ -5,6 +30,7 @@
#include "GCActivityCallback.h"
#include "Heap.h"
#include "IncrementalSweeper.h"
+#include "Operations.h"
#include "VM.h"
#include <wtf/CurrentTime.h>
diff --git a/Source/JavaScriptCore/heap/MarkedSpace.cpp b/Source/JavaScriptCore/heap/MarkedSpace.cpp
index e005337..3d09146 100644
--- a/Source/JavaScriptCore/heap/MarkedSpace.cpp
+++ b/Source/JavaScriptCore/heap/MarkedSpace.cpp
@@ -26,7 +26,7 @@
#include "JSGlobalObject.h"
#include "JSLock.h"
#include "JSObject.h"
-
+#include "Operations.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/SuperRegion.cpp b/Source/JavaScriptCore/heap/SuperRegion.cpp
index d58f600..9aa7b6d 100644
--- a/Source/JavaScriptCore/heap/SuperRegion.cpp
+++ b/Source/JavaScriptCore/heap/SuperRegion.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "SuperRegion.h"
+#include "Operations.h"
#include "Region.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/Weak.cpp b/Source/JavaScriptCore/heap/Weak.cpp
index 3857b60..4390e46 100644
--- a/Source/JavaScriptCore/heap/Weak.cpp
+++ b/Source/JavaScriptCore/heap/Weak.cpp
@@ -26,6 +26,7 @@
#include "config.h"
#include "Weak.h"
+#include "Operations.h"
#include "WeakSetInlines.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/WeakHandleOwner.cpp b/Source/JavaScriptCore/heap/WeakHandleOwner.cpp
index 67e1774..6e03c7f 100644
--- a/Source/JavaScriptCore/heap/WeakHandleOwner.cpp
+++ b/Source/JavaScriptCore/heap/WeakHandleOwner.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "WeakHandleOwner.h"
+#include "Operations.h"
+
namespace JSC {
class SlotVisitor;
diff --git a/Source/JavaScriptCore/heap/WeakSet.cpp b/Source/JavaScriptCore/heap/WeakSet.cpp
index e62e66e..56171e4 100644
--- a/Source/JavaScriptCore/heap/WeakSet.cpp
+++ b/Source/JavaScriptCore/heap/WeakSet.cpp
@@ -27,6 +27,7 @@
#include "WeakSet.h"
#include "Heap.h"
+#include "Operations.h"
#include "VM.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/WriteBarrierBuffer.cpp b/Source/JavaScriptCore/heap/WriteBarrierBuffer.cpp
index 5314b51..ae5ac0d 100644
--- a/Source/JavaScriptCore/heap/WriteBarrierBuffer.cpp
+++ b/Source/JavaScriptCore/heap/WriteBarrierBuffer.cpp
@@ -29,6 +29,7 @@
#include "GCAssertions.h"
#include "Heap.h"
#include "JSCell.h"
+#include "Operations.h"
#include "Structure.h"
namespace JSC {
diff --git a/Source/JavaScriptCore/heap/WriteBarrierSupport.cpp b/Source/JavaScriptCore/heap/WriteBarrierSupport.cpp
index 5ca33c8..396ec6c 100644
--- a/Source/JavaScriptCore/heap/WriteBarrierSupport.cpp
+++ b/Source/JavaScriptCore/heap/WriteBarrierSupport.cpp
@@ -26,6 +26,8 @@
#include "config.h"
#include "WriteBarrierSupport.h"
+#include "Operations.h"
+
namespace JSC {
#if ENABLE(WRITE_BARRIER_PROFILING)