Bug 886205 (part 7) - Break jsfuninlines.h out of the header inclusion cycles. r=terrence.
authorNicholas Nethercote <nnethercote@mozilla.com>
Tue, 25 Jun 2013 21:38:35 -0700
changeset 136613 eb6dd181c65ad6f65be4ebe35156200c5cfbe0b8
parent 136612 1c0af79ac29cea1743208b41616baac57f820666
child 136614 80cfa9e8bab51dbe0540f0a669df6fd2161a6f46
push id24889
push useremorley@mozilla.com
push dateThu, 27 Jun 2013 10:31:05 +0000
treeherdermozilla-central@b8a80bf3f9da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersterrence
bugs886205
milestone25.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 886205 (part 7) - Break jsfuninlines.h out of the header inclusion cycles. r=terrence.
js/src/frontend/BytecodeEmitter.cpp
js/src/frontend/Parser.cpp
js/src/ion/AsmJS.cpp
js/src/ion/AsmJSLink.cpp
js/src/ion/BaselineBailouts.cpp
js/src/ion/IonFrames.cpp
js/src/jscompartment.cpp
js/src/jsexn.cpp
js/src/jsfriendapi.cpp
js/src/jsfuninlines.h
js/src/jsobjinlines.h
js/src/vm/Debugger.cpp
js/src/vm/GlobalObject.cpp
js/src/vm/Stack-inl.h
--- a/js/src/frontend/BytecodeEmitter.cpp
+++ b/js/src/frontend/BytecodeEmitter.cpp
@@ -27,16 +27,17 @@
 #include "jsscript.h"
 
 #include "frontend/Parser.h"
 #include "frontend/TokenStream.h"
 #include "ion/AsmJS.h"
 #include "vm/Debugger.h"
 
 #include "jsatominlines.h"
+#include "jsfuninlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "frontend/ParseMaps-inl.h"
 #include "frontend/ParseNode-inl.h"
 #include "frontend/SharedContext-inl.h"
 
 using namespace js;
--- a/js/src/frontend/Parser.cpp
+++ b/js/src/frontend/Parser.cpp
@@ -31,16 +31,17 @@
 
 #include "frontend/BytecodeCompiler.h"
 #include "frontend/FoldConstants.h"
 #include "frontend/ParseMaps.h"
 #include "frontend/TokenStream.h"
 #include "vm/Shape.h"
 
 #include "jsatominlines.h"
+#include "jsfuninlines.h"
 #include "jsobjinlines.h"
 #include "jsscriptinlines.h"
 
 #include "frontend/ParseMaps-inl.h"
 #include "frontend/ParseNode-inl.h"
 #include "frontend/Parser-inl.h"
 #include "frontend/SharedContext-inl.h"
 
--- a/js/src/ion/AsmJS.cpp
+++ b/js/src/ion/AsmJS.cpp
@@ -6,28 +6,29 @@
 
 #include "jsmath.h"
 #include "jsworkers.h"
 #include "prmjtime.h"
 
 #include "frontend/ParseNode.h"
 #include "ion/AsmJS.h"
 #include "ion/AsmJSModule.h"
-
-#include "frontend/ParseNode-inl.h"
-
 #include "ion/PerfSpewer.h"
 #include "ion/CodeGenerator.h"
 #include "ion/MIR.h"
 #include "ion/MIRGraph.h"
 
 #ifdef MOZ_VTUNE
 # include "jitprofiling.h"
 #endif
 
+#include "jsfuninlines.h"
+
+#include "frontend/ParseNode-inl.h"
+
 using namespace js;
 using namespace js::frontend;
 using namespace js::ion;
 using namespace mozilla;
 
 /*****************************************************************************/
 // ParseNode utilities
 
--- a/js/src/ion/AsmJSLink.cpp
+++ b/js/src/ion/AsmJSLink.cpp
@@ -2,28 +2,29 @@
  * vim: set ts=8 sts=4 et sw=4 tw=99:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jsmath.h"
 #include "jscntxt.h"
 
-#include "jstypedarrayinlines.h"
-
 #include "AsmJS.h"
 #include "AsmJSModule.h"
 #include "frontend/BytecodeCompiler.h"
 
 #include "Ion.h"
 
 #ifdef MOZ_VTUNE
 # include "jitprofiling.h"
 #endif
 
+#include "jsfuninlines.h"
+#include "jstypedarrayinlines.h"
+
 using namespace js;
 using namespace js::ion;
 using namespace mozilla;
 
 static bool
 LinkFail(JSContext *cx, const char *str)
 {
     JS_ReportErrorFlagsAndNumber(cx, JSREPORT_WARNING, js_GetErrorMessage,
--- a/js/src/ion/BaselineBailouts.cpp
+++ b/js/src/ion/BaselineBailouts.cpp
@@ -8,16 +8,17 @@
 #include "BaselineIC.h"
 #include "BaselineJIT.h"
 #include "CompileInfo.h"
 #include "IonSpewer.h"
 #include "IonFrames-inl.h"
 
 #include "vm/Stack-inl.h"
 
+#include "jsfuninlines.h"
 #include "jsopcodeinlines.h"
 
 using namespace js;
 using namespace js::ion;
 
 // BaselineStackBuilder may reallocate its buffer if the current one is too
 // small. To avoid dangling pointers, BufferPointer represents a pointer into
 // this buffer as a pointer to the header and a fixed offset.
--- a/js/src/ion/IonFrames.cpp
+++ b/js/src/ion/IonFrames.cpp
@@ -17,16 +17,18 @@
 #include "ion/IonCompartment.h"
 #include "ion/IonMacroAssembler.h"
 #include "ion/IonSpewer.h"
 #include "ion/PcScriptCache.h"
 #include "ion/Safepoints.h"
 #include "ion/SnapshotReader.h"
 #include "ion/VMFunctions.h"
 
+#include "jsfuninlines.h"
+
 #include "ion/IonFrameIterator-inl.h"
 #include "ion/IonFrames-inl.h"
 #include "ion/PcScriptCache-inl.h"
 #include "vm/Probes-inl.h"
 
 namespace js {
 namespace ion {
 
--- a/js/src/jscompartment.cpp
+++ b/js/src/jscompartment.cpp
@@ -18,16 +18,17 @@
 
 #include "gc/Marking.h"
 #ifdef JS_ION
 #include "ion/IonCompartment.h"
 #endif
 #include "js/RootingAPI.h"
 #include "vm/StopIterationObject.h"
 
+#include "jsfuninlines.h"
 #include "jsgcinlines.h"
 #include "jsobjinlines.h"
 
 #include "gc/Barrier-inl.h"
 
 using namespace js;
 using namespace js::gc;
 
--- a/js/src/jsexn.cpp
+++ b/js/src/jsexn.cpp
@@ -23,16 +23,17 @@
 #include "jsobj.h"
 #include "jsscript.h"
 
 #include "gc/Marking.h"
 #include "vm/ErrorObject.h"
 #include "vm/GlobalObject.h"
 #include "vm/StringBuffer.h"
 
+#include "jsfuninlines.h"
 #include "jsobjinlines.h"
 
 using namespace js;
 using namespace js::gc;
 using namespace js::types;
 
 using mozilla::ArrayLength;
 using mozilla::PodArrayZero;
--- a/js/src/jsfriendapi.cpp
+++ b/js/src/jsfriendapi.cpp
@@ -15,16 +15,17 @@
 #include "jsobj.h"
 #include "jswrapper.h"
 #include "jsweakmap.h"
 #include "jswatchpoint.h"
 #include "prmjtime.h"
 
 #include "builtin/TestingFunctions.h"
 
+#include "jsfuninlines.h"
 #include "jsobjinlines.h"
 
 using namespace js;
 using namespace JS;
 
 using mozilla::PodArrayZero;
 
 // Required by PerThreadDataFriendFields::getMainThread()
--- a/js/src/jsfuninlines.h
+++ b/js/src/jsfuninlines.h
@@ -8,16 +8,18 @@
 #define jsfuninlines_h
 
 #include "jsfun.h"
 
 #include "jsscript.h"
 
 #include "vm/GlobalObject.h"
 
+#include "jsobjinlines.h"
+
 #include "vm/ScopeObject-inl.h"
 #include "vm/String-inl.h"
 
 inline void
 JSFunction::initAtom(JSAtom *atom)
 {
     atom_.init(atom);
 }
--- a/js/src/jsobjinlines.h
+++ b/js/src/jsobjinlines.h
@@ -13,17 +13,17 @@
 
 #include "vm/ArrayObject.h"
 #include "vm/DateObject.h"
 #include "vm/NumberObject.h"
 #include "vm/Probes.h"
 #include "vm/StringObject.h"
 
 #include "jsatominlines.h"
-#include "jsfuninlines.h"
+#include "jsinferinlines.h"
 
 #include "vm/ObjectImpl-inl.h"
 
 /* static */ inline JSBool
 JSObject::setGenericAttributes(JSContext *cx, js::HandleObject obj,
                                js::HandleId id, unsigned *attrsp)
 {
     js::types::MarkTypePropertyConfigured(cx, obj, id);
--- a/js/src/vm/Debugger.cpp
+++ b/js/src/vm/Debugger.cpp
@@ -13,16 +13,17 @@
 #include "jsobj.h"
 #include "jswrapper.h"
 
 #include "frontend/BytecodeCompiler.h"
 #include "gc/Marking.h"
 #include "ion/BaselineJIT.h"
 #include "js/Vector.h"
 
+#include "jsfuninlines.h"
 #include "jsgcinlines.h"
 #include "jsopcodeinlines.h"
 
 #include "gc/FindSCCs-inl.h"
 #include "vm/Stack-inl.h"
 
 using namespace js;
 
--- a/js/src/vm/GlobalObject.cpp
+++ b/js/src/vm/GlobalObject.cpp
@@ -16,16 +16,17 @@
 
 #include "builtin/Eval.h"
 #include "builtin/Intl.h"
 #include "builtin/MapObject.h"
 #include "builtin/Object.h"
 #include "builtin/RegExp.h"
 
 #include "jscompartmentinlines.h"
+#include "jsfuninlines.h"
 #include "jsobjinlines.h"
 
 #include "vm/GlobalObject-inl.h"
 #include "vm/RegExpStatics-inl.h"
 
 using namespace js;
 
 JSObject *
--- a/js/src/vm/Stack-inl.h
+++ b/js/src/vm/Stack-inl.h
@@ -12,17 +12,16 @@
 #include "jscntxt.h"
 #include "jscompartment.h"
 
 #include "vm/Stack.h"
 #include "ion/BaselineFrame.h"
 #include "ion/BaselineFrame-inl.h"
 #include "ion/IonFrameIterator-inl.h"
 
-#include "jsfuninlines.h"
 #include "jsscriptinlines.h"
 
 #include "ArgumentsObject-inl.h"
 #include "ScopeObject-inl.h"
 
 namespace js {
 
 /*