author | Jason Orendorff <jorendorff@mozilla.com> |
Wed, 14 Feb 2018 16:45:07 -0600 | |
changeset 404198 | 091e9b26d9a14feba8f49355a3b03e185d253152 |
parent 404197 | 3ceed0fcb88258a867879388d84b3a41953da431 |
child 404199 | b3ee97dce95a8d672f6a7445a132389cfeeb53eb |
push id | 99965 |
push user | jorendorff@mozilla.com |
push date | Fri, 16 Feb 2018 21:07:25 +0000 |
treeherder | mozilla-inbound@b3ee97dce95a [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jandem |
bugs | 1438278 |
milestone | 60.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
|
--- a/js/src/builtin/MapObject.cpp +++ b/js/src/builtin/MapObject.cpp @@ -1,23 +1,22 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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 "builtin/MapObject.h" -#include "jsiter.h" - #include "ds/OrderedHashTable.h" #include "gc/FreeOp.h" #include "js/Utility.h" #include "vm/GlobalObject.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/SelfHosting.h" #include "vm/Symbol.h" #include "gc/Marking-inl.h" #include "vm/Interpreter-inl.h" #include "vm/NativeObject-inl.h"
--- a/js/src/builtin/Promise.cpp +++ b/js/src/builtin/Promise.cpp @@ -7,23 +7,23 @@ #include "builtin/Promise.h" #include "mozilla/Atomics.h" #include "mozilla/TimeStamp.h" #include "jsexn.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "gc/Heap.h" #include "js/Debug.h" #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.h" #include "vm/Debugger.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/Debugger-inl.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" using namespace js;
--- a/js/src/builtin/TestingFunctions.cpp +++ b/js/src/builtin/TestingFunctions.cpp @@ -13,17 +13,16 @@ #include "mozilla/Unused.h" #include <cmath> #include <cstdlib> #include <ctime> #include "jsapi.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "jsprf.h" #include "jswrapper.h" #include "builtin/Promise.h" #include "builtin/SelfHostingDefines.h" #ifdef DEBUG #include "frontend/TokenStream.h" #include "irregexp/RegExpAST.h" @@ -37,16 +36,17 @@ #include "js/UbiNode.h" #include "js/UbiNodeBreadthFirst.h" #include "js/UbiNodeShortestPaths.h" #include "js/UniquePtr.h" #include "js/Vector.h" #include "vm/Debugger.h" #include "vm/GlobalObject.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/ProxyObject.h" #include "vm/SavedStacks.h" #include "vm/Stack.h" #include "vm/StringBuffer.h" #include "vm/TraceLogging.h" #include "wasm/AsmJS.h"
--- a/js/src/builtin/WeakSetObject.cpp +++ b/js/src/builtin/WeakSetObject.cpp @@ -2,20 +2,20 @@ * 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 "builtin/WeakSetObject.h" #include "jsapi.h" -#include "jsiter.h" #include "builtin/MapObject.h" #include "vm/GlobalObject.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/SelfHosting.h" #include "builtin/WeakMapObject-inl.h" #include "vm/Interpreter-inl.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h"
--- a/js/src/frontend/BytecodeEmitter.cpp +++ b/js/src/frontend/BytecodeEmitter.cpp @@ -15,23 +15,23 @@ #include "mozilla/FloatingPoint.h" #include "mozilla/Maybe.h" #include "mozilla/PodOperations.h" #include <string.h> #include "jsapi.h" #include "jsnum.h" -#include "jsopcode.h" #include "jstypes.h" #include "jsutil.h" #include "ds/Nestable.h" #include "frontend/Parser.h" #include "frontend/TokenStream.h" +#include "vm/BytecodeUtil.h" #include "vm/Debugger.h" #include "vm/GeneratorObject.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSScript.h" #include "vm/Stack.h" #include "wasm/AsmJS.h"
--- a/js/src/frontend/BytecodeEmitter.h +++ b/js/src/frontend/BytecodeEmitter.h @@ -6,24 +6,23 @@ /* JS bytecode generation. */ #ifndef frontend_BytecodeEmitter_h #define frontend_BytecodeEmitter_h #include "mozilla/Attributes.h" -#include "jsiter.h" -#include "jsopcode.h" - #include "ds/InlineTable.h" #include "frontend/EitherParser.h" #include "frontend/SharedContext.h" #include "frontend/SourceNotes.h" +#include "vm/BytecodeUtil.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/JSScript.h" namespace js { namespace frontend { class CGConstList { Vector<Value> list;
--- a/js/src/frontend/NameAnalysisTypes.h +++ b/js/src/frontend/NameAnalysisTypes.h @@ -1,19 +1,18 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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/. */ -#ifndef frontend_NameAnalysis_h -#define frontend_NameAnalysis_h +#ifndef frontend_NameAnalysisTypes_h +#define frontend_NameAnalysisTypes_h -#include "jsopcode.h" - +#include "vm/BytecodeUtil.h" #include "vm/Scope.h" namespace js { // An "environment coordinate" describes how to get from head of the // environment chain to a given lexically-enclosing variable. An environment // coordinate has two dimensions: // - hops: the number of environment objects on the scope chain to skip @@ -372,9 +371,9 @@ namespace mozilla { template <> struct IsPod<js::frontend::DeclaredNameInfo> : TrueType {}; template <> struct IsPod<js::frontend::NameLocation> : TrueType {}; } // namespace mozilla -#endif // frontend_NameAnalysis_h +#endif // frontend_NameAnalysisTypes_h
--- a/js/src/frontend/Parser.cpp +++ b/js/src/frontend/Parser.cpp @@ -19,25 +19,25 @@ #include "frontend/Parser.h" #include "mozilla/Range.h" #include "mozilla/Sprintf.h" #include "mozilla/TypeTraits.h" #include "jsapi.h" -#include "jsopcode.h" #include "jstypes.h" #include "builtin/ModuleObject.h" #include "builtin/SelfHostingDefines.h" #include "frontend/BytecodeCompiler.h" #include "frontend/FoldConstants.h" #include "frontend/TokenStream.h" #include "irregexp/RegExpParser.h" +#include "vm/BytecodeUtil.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSScript.h" #include "vm/RegExpObject.h" #include "wasm/AsmJS.h" #include "frontend/ParseContext-inl.h"
--- a/js/src/frontend/Parser.h +++ b/js/src/frontend/Parser.h @@ -163,29 +163,29 @@ * (even if different code ends up generated for them by the compiler), should * reside in Parser. */ #include "mozilla/Array.h" #include "mozilla/Maybe.h" #include "mozilla/TypeTraits.h" -#include "jsiter.h" #include "jspubtd.h" #include "ds/Nestable.h" #include "frontend/BytecodeCompiler.h" #include "frontend/FullParseHandler.h" #include "frontend/LanguageExtensions.h" #include "frontend/NameAnalysisTypes.h" #include "frontend/NameCollections.h" #include "frontend/ParseContext.h" #include "frontend/SharedContext.h" #include "frontend/SyntaxParseHandler.h" #include "frontend/TokenStream.h" +#include "vm/Iteration.h" namespace js { class ModuleObject; namespace frontend { class ParserBase;
--- a/js/src/frontend/SharedContext.h +++ b/js/src/frontend/SharedContext.h @@ -2,24 +2,24 @@ * 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/. */ #ifndef frontend_SharedContext_h #define frontend_SharedContext_h -#include "jsopcode.h" #include "jspubtd.h" #include "jstypes.h" #include "builtin/ModuleObject.h" #include "ds/InlineTable.h" #include "frontend/ParseNode.h" #include "frontend/TokenStream.h" +#include "vm/BytecodeUtil.h" #include "vm/EnvironmentObject.h" #include "vm/JSAtom.h" #include "vm/JSScript.h" namespace js { namespace frontend { class ParseContext;
--- a/js/src/jit/BaselineIC.h +++ b/js/src/jit/BaselineIC.h @@ -4,26 +4,25 @@ * 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/. */ #ifndef jit_BaselineIC_h #define jit_BaselineIC_h #include "mozilla/Assertions.h" -#include "jsopcode.h" - #include "builtin/TypedObject.h" #include "gc/Barrier.h" #include "jit/BaselineICList.h" #include "jit/BaselineJIT.h" #include "jit/SharedIC.h" #include "jit/SharedICRegisters.h" #include "js/GCVector.h" #include "vm/ArrayObject.h" +#include "vm/BytecodeUtil.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" #include "vm/UnboxedObject.h" namespace js { namespace jit { // WarmUpCounter_Fallback
--- a/js/src/jit/BaselineJIT.cpp +++ b/js/src/jit/BaselineJIT.cpp @@ -17,21 +17,20 @@ #include "jit/IonControlFlow.h" #include "jit/JitCommon.h" #include "jit/JitSpewer.h" #include "vm/Debugger.h" #include "vm/Interpreter.h" #include "vm/TraceLogging.h" #include "wasm/WasmInstance.h" -#include "jsopcodeinlines.h" - #include "gc/PrivateIterators-inl.h" #include "jit/JitFrames-inl.h" #include "jit/MacroAssembler-inl.h" +#include "vm/BytecodeUtil-inl.h" #include "vm/JSObject-inl.h" #include "vm/JSScript-inl.h" #include "vm/Stack-inl.h" using mozilla::BinarySearchIf; using mozilla::DebugOnly; using namespace js;
--- a/js/src/jit/BytecodeAnalysis.cpp +++ b/js/src/jit/BytecodeAnalysis.cpp @@ -1,22 +1,20 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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 "jit/BytecodeAnalysis.h" -#include "jsopcode.h" +#include "jit/JitSpewer.h" +#include "vm/BytecodeUtil.h" -#include "jit/JitSpewer.h" - -#include "jsopcodeinlines.h" - +#include "vm/BytecodeUtil-inl.h" #include "vm/JSScript-inl.h" using namespace js; using namespace js::jit; BytecodeAnalysis::BytecodeAnalysis(TempAllocator& alloc, JSScript* script) : script_(script), infos_(alloc),
--- a/js/src/jit/IonAnalysis.cpp +++ b/js/src/jit/IonAnalysis.cpp @@ -14,19 +14,18 @@ #include "jit/IonBuilder.h" #include "jit/IonOptimizationLevels.h" #include "jit/LIR.h" #include "jit/Lowering.h" #include "jit/MIRGraph.h" #include "vm/RegExpObject.h" #include "vm/SelfHosting.h" -#include "jsopcodeinlines.h" - #include "jit/shared/Lowering-shared-inl.h" +#include "vm/BytecodeUtil-inl.h" #include "vm/JSObject-inl.h" #include "vm/JSScript-inl.h" using namespace js; using namespace js::jit; using mozilla::DebugOnly;
--- a/js/src/jit/IonBuilder.cpp +++ b/js/src/jit/IonBuilder.cpp @@ -20,21 +20,20 @@ #include "jit/JitSpewer.h" #include "jit/Lowering.h" #include "jit/MIRGraph.h" #include "vm/ArgumentsObject.h" #include "vm/Opcodes.h" #include "vm/RegExpStatics.h" #include "vm/TraceLogging.h" -#include "jsopcodeinlines.h" - #include "gc/Nursery-inl.h" #include "jit/CompileInfo-inl.h" #include "jit/shared/Lowering-shared-inl.h" +#include "vm/BytecodeUtil-inl.h" #include "vm/EnvironmentObject-inl.h" #include "vm/JSScript-inl.h" #include "vm/NativeObject-inl.h" #include "vm/ObjectGroup-inl.h" #include "vm/UnboxedObject-inl.h" using namespace js; using namespace js::jit;
--- a/js/src/jit/Lowering.cpp +++ b/js/src/jit/Lowering.cpp @@ -9,19 +9,18 @@ #include "mozilla/DebugOnly.h" #include "jit/JitSpewer.h" #include "jit/LIR.h" #include "jit/MIR.h" #include "jit/MIRGraph.h" #include "wasm/WasmSignalHandlers.h" -#include "jsopcodeinlines.h" - #include "jit/shared/Lowering-shared-inl.h" +#include "vm/BytecodeUtil-inl.h" #include "vm/JSObject-inl.h" using namespace js; using namespace jit; using mozilla::DebugOnly; using JS::GenericNaN;
--- a/js/src/jit/RangeAnalysis.cpp +++ b/js/src/jit/RangeAnalysis.cpp @@ -13,17 +13,17 @@ #include "jit/JitSpewer.h" #include "jit/MIR.h" #include "jit/MIRGenerator.h" #include "jit/MIRGraph.h" #include "js/Conversions.h" #include "vm/ArgumentsObject.h" #include "vm/TypedArrayObject.h" -#include "jsopcodeinlines.h" +#include "vm/BytecodeUtil-inl.h" using namespace js; using namespace js::jit; using mozilla::Abs; using mozilla::CountLeadingZeroes32; using mozilla::NumberEqualsInt32; using mozilla::ExponentComponent;
--- a/js/src/jit/Recover.cpp +++ b/js/src/jit/Recover.cpp @@ -2,30 +2,30 @@ * 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 "jit/Recover.h" #include "jsapi.h" -#include "jsiter.h" #include "jsmath.h" #include "jsstr.h" #include "builtin/RegExp.h" #include "builtin/SIMD.h" #include "builtin/TypedObject.h" #include "gc/Heap.h" #include "jit/JitSpewer.h" #include "jit/JSJitFrameIter.h" #include "jit/MIR.h" #include "jit/MIRGraph.h" #include "jit/VMFunctions.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/String.h" #include "vm/Interpreter-inl.h" #include "vm/NativeObject-inl.h" using namespace js;
--- a/js/src/jit/arm/MacroAssembler-arm.h +++ b/js/src/jit/arm/MacroAssembler-arm.h @@ -4,21 +4,20 @@ * 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/. */ #ifndef jit_arm_MacroAssembler_arm_h #define jit_arm_MacroAssembler_arm_h #include "mozilla/DebugOnly.h" -#include "jsopcode.h" - #include "jit/arm/Assembler-arm.h" #include "jit/JitFrames.h" #include "jit/MoveResolver.h" +#include "vm/BytecodeUtil.h" using mozilla::DebugOnly; namespace js { namespace jit { static Register CallReg = ip; static const int defaultShift = 3;
--- a/js/src/jit/mips32/MacroAssembler-mips32.h +++ b/js/src/jit/mips32/MacroAssembler-mips32.h @@ -2,21 +2,20 @@ * 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/. */ #ifndef jit_mips32_MacroAssembler_mips32_h #define jit_mips32_MacroAssembler_mips32_h -#include "jsopcode.h" - #include "jit/JitFrames.h" #include "jit/mips-shared/MacroAssembler-mips-shared.h" #include "jit/MoveResolver.h" +#include "vm/BytecodeUtil.h" namespace js { namespace jit { struct ImmTag : public Imm32 { ImmTag(JSValueTag mask) : Imm32(int32_t(mask))
--- a/js/src/jit/mips32/SharedIC-mips32.cpp +++ b/js/src/jit/mips32/SharedIC-mips32.cpp @@ -1,21 +1,20 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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 "jsiter.h" - #include "jit/BaselineCompiler.h" #include "jit/BaselineIC.h" #include "jit/BaselineJIT.h" #include "jit/Linker.h" #include "jit/SharedICHelpers.h" +#include "vm/Iteration.h" #include "jsboolinlines.h" using namespace js; using namespace js::jit; namespace js { namespace jit {
--- a/js/src/jit/mips64/MacroAssembler-mips64.h +++ b/js/src/jit/mips64/MacroAssembler-mips64.h @@ -2,21 +2,20 @@ * 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/. */ #ifndef jit_mips64_MacroAssembler_mips64_h #define jit_mips64_MacroAssembler_mips64_h -#include "jsopcode.h" - #include "jit/JitFrames.h" #include "jit/mips-shared/MacroAssembler-mips-shared.h" #include "jit/MoveResolver.h" +#include "vm/BytecodeUtil.h" namespace js { namespace jit { enum LiFlags { Li64 = 0, Li48 = 1,
--- a/js/src/jit/mips64/SharedIC-mips64.cpp +++ b/js/src/jit/mips64/SharedIC-mips64.cpp @@ -1,21 +1,20 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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 "jsiter.h" - #include "jit/BaselineCompiler.h" #include "jit/BaselineIC.h" #include "jit/BaselineJIT.h" #include "jit/Linker.h" #include "jit/SharedICHelpers.h" +#include "vm/Iteration.h" #include "jsboolinlines.h" using namespace js; using namespace js::jit; namespace js { namespace jit {
--- a/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.cpp +++ b/js/src/jit/x86-shared/AssemblerBuffer-x86-shared.cpp @@ -3,17 +3,17 @@ * 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 "jit/x86-shared/AssemblerBuffer-x86-shared.h" #include "mozilla/Sprintf.h" -#include "jsopcode.h" +#include "vm/BytecodeUtil.h" using namespace js; using namespace jit; bool AssemblerBuffer::swap(Vector<uint8_t, 0, SystemAllocPolicy>& bytes) { // For now, specialize to the one use case.
--- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -23,17 +23,16 @@ #include <string.h> #include <sys/stat.h> #include "jsarray.h" #include "jsbool.h" #include "jsdate.h" #include "jsexn.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "jsmath.h" #include "jsnum.h" #include "jsprf.h" #include "jsstr.h" #include "jstypes.h" #include "jsutil.h" #include "jswrapper.h" @@ -71,16 +70,17 @@ #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.h" #include "vm/DateObject.h" #include "vm/Debugger.h" #include "vm/EnvironmentObject.h" #include "vm/ErrorObject.h" #include "vm/HelperThreads.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/RegExpStatics.h" #include "vm/Runtime.h" #include "vm/SavedStacks.h"
--- a/js/src/jsarray.cpp +++ b/js/src/jsarray.cpp @@ -11,28 +11,28 @@ #include "mozilla/DebugOnly.h" #include "mozilla/FloatingPoint.h" #include "mozilla/MathAlgorithms.h" #include <algorithm> #include "jsapi.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "jsnum.h" #include "jstypes.h" #include "jsutil.h" #include "ds/Sort.h" #include "gc/Heap.h" #include "jit/InlinableNatives.h" #include "js/Class.h" #include "js/Conversions.h" #include "vm/ArgumentsObject.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/SelfHosting.h" #include "vm/Shape.h" #include "vm/StringBuffer.h" #include "vm/TypedArrayObject.h"
--- a/js/src/jsstr.cpp +++ b/js/src/jsstr.cpp @@ -19,30 +19,30 @@ #include <ctype.h> #include <limits> #include <string.h> #include "jsapi.h" #include "jsarray.h" #include "jsbool.h" #include "jsnum.h" -#include "jsopcode.h" #include "jstypes.h" #include "jsutil.h" #include "builtin/intl/CommonFunctions.h" #include "builtin/intl/ICUStubs.h" #include "builtin/RegExp.h" #include "jit/InlinableNatives.h" #include "js/Conversions.h" #include "js/UniquePtr.h" #if ENABLE_INTL_API -#include "unicode/uchar.h" -#include "unicode/unorm2.h" +# include "unicode/uchar.h" +# include "unicode/unorm2.h" #endif +#include "vm/BytecodeUtil.h" #include "vm/GlobalObject.h" #include "vm/Interpreter.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/Opcodes.h" #include "vm/Printer.h" #include "vm/RegExpObject.h"
--- a/js/src/moz.build +++ b/js/src/moz.build @@ -293,19 +293,17 @@ UNIFIED_SOURCES += [ 'jit/VMFunctions.cpp', 'jit/WasmBCE.cpp', 'jsalloc.cpp', 'jsapi.cpp', 'jsbool.cpp', 'jsdate.cpp', 'jsexn.cpp', 'jsfriendapi.cpp', - 'jsiter.cpp', 'jsnum.cpp', - 'jsopcode.cpp', 'jsprf.cpp', 'jsstr.cpp', 'perf/jsperf.cpp', 'proxy/BaseProxyHandler.cpp', 'proxy/CrossCompartmentWrapper.cpp', 'proxy/DeadObjectProxy.cpp', 'proxy/OpaqueCrossCompartmentWrapper.cpp', 'proxy/Proxy.cpp', @@ -314,16 +312,17 @@ UNIFIED_SOURCES += [ 'proxy/Wrapper.cpp', 'threading/Mutex.cpp', 'threading/ProtectedData.cpp', 'util/NativeStack.cpp', 'vm/ArgumentsObject.cpp', 'vm/ArrayBufferObject.cpp', 'vm/AsyncFunction.cpp', 'vm/AsyncIteration.cpp', + 'vm/BytecodeUtil.cpp', 'vm/Caches.cpp', 'vm/CallNonGenericMethod.cpp', 'vm/CharacterEncoding.cpp', 'vm/CodeCoverage.cpp', 'vm/Compression.cpp', 'vm/DateTime.cpp', 'vm/Debugger.cpp', 'vm/DebuggerMemory.cpp', @@ -332,16 +331,17 @@ UNIFIED_SOURCES += [ 'vm/ErrorReporting.cpp', 'vm/ForOfIterator.cpp', 'vm/GeckoProfiler.cpp', 'vm/GeneratorObject.cpp', 'vm/GlobalObject.cpp', 'vm/HelperThreads.cpp', 'vm/Id.cpp', 'vm/Initialization.cpp', + 'vm/Iteration.cpp', 'vm/JSCompartment.cpp', 'vm/JSContext.cpp', 'vm/JSFunction.cpp', 'vm/JSObject.cpp', 'vm/JSONParser.cpp', 'vm/JSONPrinter.cpp', 'vm/JSScript.cpp', 'vm/MemoryMetrics.cpp',
--- a/js/src/proxy/CrossCompartmentWrapper.cpp +++ b/js/src/proxy/CrossCompartmentWrapper.cpp @@ -1,19 +1,19 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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 "jsiter.h" #include "jswrapper.h" #include "gc/PublicIterators.h" #include "proxy/DeadObjectProxy.h" +#include "vm/Iteration.h" #include "vm/WrapperObject.h" #include "gc/Nursery-inl.h" #include "vm/JSCompartment-inl.h" #include "vm/JSObject-inl.h" using namespace js;
rename from js/src/jsopcodeinlines.h rename to js/src/vm/BytecodeUtil-inl.h --- a/js/src/jsopcodeinlines.h +++ b/js/src/vm/BytecodeUtil-inl.h @@ -1,18 +1,18 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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/. */ -#ifndef jsopcodeinlines_h -#define jsopcodeinlines_h +#ifndef vm_BytecodeUtil_inl_h +#define vm_BytecodeUtil_inl_h -#include "jsopcode.h" +#include "vm/BytecodeUtil.h" #include "vm/JSScript.h" namespace js { static inline unsigned GetDefCount(jsbytecode* pc) { @@ -108,9 +108,9 @@ class BytecodeRange { private: RootedScript script; jsbytecode* pc; jsbytecode* end; }; } // namespace js -#endif /* jsopcodeinlines_h */ +#endif /* vm_BytecodeUtil_inl_h */
rename from js/src/jsopcode.cpp rename to js/src/vm/BytecodeUtil.cpp --- a/js/src/jsopcode.cpp +++ b/js/src/vm/BytecodeUtil.cpp @@ -3,17 +3,17 @@ * 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/. */ /* * JS bytecode descriptors, disassemblers, and (expression) decompilers. */ -#include "jsopcodeinlines.h" +#include "vm/BytecodeUtil-inl.h" #define __STDC_FORMAT_MACROS #include "mozilla/ArrayUtils.h" #include "mozilla/Attributes.h" #include "mozilla/Sprintf.h" #include "mozilla/Vector.h"
rename from js/src/jsopcode.h rename to js/src/vm/BytecodeUtil.h --- a/js/src/jsopcode.h +++ b/js/src/vm/BytecodeUtil.h @@ -1,16 +1,16 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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/. */ -#ifndef jsopcode_h -#define jsopcode_h +#ifndef vm_BytecodeUtil_h +#define vm_BytecodeUtil_h /* * JS bytecode definitions. */ #include "mozilla/Attributes.h" #include "mozilla/EndianUtils.h" @@ -935,9 +935,9 @@ Disassemble1(JSContext* cx, JS::Handle<J #endif extern MOZ_MUST_USE bool DumpCompartmentPCCounts(JSContext* cx); } // namespace js -#endif /* jsopcode_h */ +#endif /* vm_BytecodeUtil_h */
--- a/js/src/vm/CodeCoverage.cpp +++ b/js/src/vm/CodeCoverage.cpp @@ -7,25 +7,25 @@ #include "vm/CodeCoverage.h" #include "mozilla/Atomics.h" #include "mozilla/IntegerPrintfMacros.h" #include "mozilla/Move.h" #include <stdio.h> #ifdef XP_WIN -#include <process.h> -#define getpid _getpid +# include <process.h> +# define getpid _getpid #else -#include <unistd.h> +# include <unistd.h> #endif -#include "jsopcode.h" #include "jsprf.h" +#include "vm/BytecodeUtil.h" #include "vm/JSCompartment.h" #include "vm/JSScript.h" #include "vm/Runtime.h" #include "vm/Time.h" // This file contains a few functions which are used to produce files understood // by lcov tools. A detailed description of the format is available in the man // page for "geninfo" [1]. To make it short, the following paraphrases what is
--- a/js/src/vm/Debugger.cpp +++ b/js/src/vm/Debugger.cpp @@ -37,19 +37,18 @@ #include "vm/GeneratorObject.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/TraceLogging.h" #include "vm/WrapperObject.h" #include "wasm/WasmInstance.h" -#include "jsopcodeinlines.h" - #include "gc/GC-inl.h" +#include "vm/BytecodeUtil-inl.h" #include "vm/GeckoProfiler-inl.h" #include "vm/JSObject-inl.h" #include "vm/JSScript-inl.h" #include "vm/NativeObject-inl.h" #include "vm/Stack-inl.h" using namespace js;
--- a/js/src/vm/EnvironmentObject.cpp +++ b/js/src/vm/EnvironmentObject.cpp @@ -4,23 +4,22 @@ * 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 "vm/EnvironmentObject-inl.h" #include "mozilla/PodOperations.h" #include "mozilla/ScopeExit.h" -#include "jsiter.h" - #include "builtin/ModuleObject.h" #include "gc/Policy.h" #include "vm/ArgumentsObject.h" #include "vm/AsyncFunction.h" #include "vm/GlobalObject.h" +#include "vm/Iteration.h" #include "vm/JSCompartment.h" #include "vm/ProxyObject.h" #include "vm/Shape.h" #include "vm/Xdr.h" #include "wasm/WasmInstance.h" #include "gc/Marking-inl.h" #include "vm/JSAtom-inl.h"
--- a/js/src/vm/GlobalObject.h +++ b/js/src/vm/GlobalObject.h @@ -759,34 +759,36 @@ class GlobalObject : public NativeObject static bool isRuntimeCodeGenEnabled(JSContext* cx, Handle<GlobalObject*> global); static bool getOrCreateEval(JSContext* cx, Handle<GlobalObject*> global, MutableHandleObject eval); // Infallibly test whether the given value is the eval function for this global. bool valueIsEval(const Value& val); - // Implemented in jsiter.cpp. + // Implemented in vm/Iteration.cpp. static bool initIteratorProto(JSContext* cx, Handle<GlobalObject*> global); static bool initArrayIteratorProto(JSContext* cx, Handle<GlobalObject*> global); static bool initStringIteratorProto(JSContext* cx, Handle<GlobalObject*> global); // Implemented in vm/GeneratorObject.cpp. static bool initGenerators(JSContext* cx, Handle<GlobalObject*> global); static bool initAsyncFunction(JSContext* cx, Handle<GlobalObject*> global); static bool initAsyncGenerators(JSContext* cx, Handle<GlobalObject*> global); // Implemented in builtin/MapObject.cpp. static bool initMapIteratorProto(JSContext* cx, Handle<GlobalObject*> global); static bool initSetIteratorProto(JSContext* cx, Handle<GlobalObject*> global); - // Implemented in Intl.cpp. + // Implemented in builtin/intl/IntlObject.cpp. static bool initIntlObject(JSContext* cx, Handle<GlobalObject*> global); + + // Implemented in builtin/intl/RelativeTimeFormat.cpp. static bool addRelativeTimeFormatConstructor(JSContext* cx, HandleObject intl); // Implemented in builtin/ModuleObject.cpp static bool initModuleProto(JSContext* cx, Handle<GlobalObject*> global); static bool initImportEntryProto(JSContext* cx, Handle<GlobalObject*> global); static bool initExportEntryProto(JSContext* cx, Handle<GlobalObject*> global); static bool initRequestedModuleProto(JSContext* cx, Handle<GlobalObject*> global);
--- a/js/src/vm/Interpreter.cpp +++ b/js/src/vm/Interpreter.cpp @@ -15,33 +15,33 @@ #include "mozilla/FloatingPoint.h" #include "mozilla/Maybe.h" #include "mozilla/PodOperations.h" #include "mozilla/Sprintf.h" #include <string.h> #include "jsarray.h" -#include "jsiter.h" #include "jslibmath.h" #include "jsnum.h" -#include "jsopcode.h" #include "jsprf.h" #include "jsstr.h" #include "builtin/Eval.h" #include "jit/AtomicOperations.h" #include "jit/BaselineJIT.h" #include "jit/Ion.h" #include "jit/IonAnalysis.h" #include "jit/Jit.h" #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.h" +#include "vm/BytecodeUtil.h" #include "vm/Debugger.h" #include "vm/GeneratorObject.h" +#include "vm/Iteration.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Opcodes.h" #include "vm/Scope.h" #include "vm/Shape.h"
--- a/js/src/vm/Interpreter.h +++ b/js/src/vm/Interpreter.h @@ -6,19 +6,19 @@ #ifndef vm_Interpreter_h #define vm_Interpreter_h /* * JS interpreter interface. */ -#include "jsiter.h" #include "jspubtd.h" +#include "vm/Iteration.h" #include "vm/Stack.h" namespace js { class EnvironmentIter; /* * Convert null/undefined |thisv| into the current global object for the
rename from js/src/jsiter.cpp rename to js/src/vm/Iteration.cpp --- a/js/src/jsiter.cpp +++ b/js/src/vm/Iteration.cpp @@ -1,34 +1,34 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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/. */ /* JavaScript iterators. */ -#include "jsiter.h" +#include "vm/Iteration.h" #include "mozilla/ArrayUtils.h" #include "mozilla/DebugOnly.h" #include "mozilla/Maybe.h" #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" #include "mozilla/Unused.h" #include "jsarray.h" -#include "jsopcode.h" #include "jstypes.h" #include "jsutil.h" #include "ds/Sort.h" #include "gc/FreeOp.h" #include "gc/Marking.h" #include "js/Proxy.h" +#include "vm/BytecodeUtil.h" #include "vm/GeneratorObject.h" #include "vm/GlobalObject.h" #include "vm/Interpreter.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Shape.h"
rename from js/src/jsiter.h rename to js/src/vm/Iteration.h --- a/js/src/jsiter.h +++ b/js/src/vm/Iteration.h @@ -1,16 +1,16 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- * 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/. */ -#ifndef jsiter_h -#define jsiter_h +#ifndef vm_Iteration_h +#define vm_Iteration_h /* * JavaScript iterators. */ #include "mozilla/MemoryReporting.h" #include "gc/Barrier.h" @@ -195,9 +195,9 @@ CreateIterResultObject(JSContext* cx, Ha bool IsPropertyIterator(HandleValue v); enum class IteratorKind { Sync, Async }; } /* namespace js */ -#endif /* jsiter_h */ +#endif /* vm_Iteration_h */
--- a/js/src/vm/JSCompartment-inl.h +++ b/js/src/vm/JSCompartment-inl.h @@ -4,20 +4,19 @@ * 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/. */ #ifndef vm_JSCompartment_inl_h #define vm_JSCompartment_inl_h #include "vm/JSCompartment.h" -#include "jsiter.h" - #include "gc/Barrier.h" #include "gc/Marking.h" +#include "vm/Iteration.h" #include "vm/JSContext-inl.h" inline void JSCompartment::initGlobal(js::GlobalObject& global) { MOZ_ASSERT(global.compartment() == this); MOZ_ASSERT(!global_);
--- a/js/src/vm/JSCompartment.cpp +++ b/js/src/vm/JSCompartment.cpp @@ -7,28 +7,28 @@ #include "vm/JSCompartment-inl.h" #include "mozilla/DebugOnly.h" #include "mozilla/MemoryReporting.h" #include <stddef.h> #include "jsfriendapi.h" -#include "jsiter.h" #include "jswrapper.h" #include "gc/Policy.h" #include "gc/PublicIterators.h" #include "jit/JitCompartment.h" #include "jit/JitOptions.h" #include "js/Date.h" #include "js/Proxy.h" #include "js/RootingAPI.h" #include "proxy/DeadObjectProxy.h" #include "vm/Debugger.h" +#include "vm/Iteration.h" #include "vm/JSContext.h" #include "vm/WrapperObject.h" #include "gc/GC-inl.h" #include "gc/Marking-inl.h" #include "vm/JSAtom-inl.h" #include "vm/JSFunction-inl.h" #include "vm/JSObject-inl.h"
--- a/js/src/vm/JSContext-inl.h +++ b/js/src/vm/JSContext-inl.h @@ -4,23 +4,22 @@ * 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/. */ #ifndef vm_JSContext_inl_h #define vm_JSContext_inl_h #include "vm/JSContext.h" -#include "jsiter.h" - #include "builtin/Object.h" #include "jit/JitFrames.h" #include "proxy/Proxy.h" #include "vm/HelperThreads.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSCompartment.h" #include "vm/Symbol.h" namespace js { class CompartmentChecker { JSCompartment* compartment;
--- a/js/src/vm/JSContext.cpp +++ b/js/src/vm/JSContext.cpp @@ -20,36 +20,36 @@ #include <stdarg.h> #include <string.h> #ifdef ANDROID # include <android/log.h> # include <fstream> # include <string> #endif // ANDROID #ifdef XP_WIN -#include <processthreadsapi.h> +# include <processthreadsapi.h> #endif // XP_WIN #include "jsexn.h" -#include "jsiter.h" -#include "jsopcode.h" #include "jsprf.h" #include "jspubtd.h" #include "jsstr.h" #include "jstypes.h" #include "gc/FreeOp.h" #include "gc/Marking.h" #include "jit/Ion.h" #include "jit/PcScriptCache.h" #include "js/CharacterEncoding.h" #include "util/DoubleToString.h" #include "util/NativeStack.h" #include "util/Windows.h" +#include "vm/BytecodeUtil.h" #include "vm/ErrorReporting.h" #include "vm/HelperThreads.h" +#include "vm/Iteration.h" #include "vm/JSAtom.h" #include "vm/JSCompartment.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Shape.h" #include "wasm/WasmSignalHandlers.h"
--- a/js/src/vm/JSObject.cpp +++ b/js/src/vm/JSObject.cpp @@ -16,19 +16,17 @@ #include "mozilla/TemplateLib.h" #include <string.h> #include "jsapi.h" #include "jsarray.h" #include "jsexn.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "jsnum.h" -#include "jsopcode.h" #include "jsprf.h" #include "jsstr.h" #include "jstypes.h" #include "jsutil.h" #include "jswrapper.h" #include "builtin/Eval.h" #include "builtin/Object.h" @@ -37,17 +35,19 @@ #include "gc/Policy.h" #include "jit/BaselineJIT.h" #include "js/MemoryMetrics.h" #include "js/Proxy.h" #include "js/UbiNode.h" #include "js/UniquePtr.h" #include "util/Windows.h" #include "vm/ArgumentsObject.h" +#include "vm/BytecodeUtil.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSScript.h" #include "vm/ProxyObject.h" #include "vm/RegExpStaticsObject.h" #include "vm/Shape.h" #include "vm/TypedArrayObject.h"
--- a/js/src/vm/JSScript.cpp +++ b/js/src/vm/JSScript.cpp @@ -18,32 +18,32 @@ #include "mozilla/Sprintf.h" #include "mozilla/Unused.h" #include "mozilla/Vector.h" #include <algorithm> #include <string.h> #include "jsapi.h" -#include "jsopcode.h" #include "jsprf.h" #include "jstypes.h" #include "jsutil.h" #include "jswrapper.h" #include "frontend/BytecodeCompiler.h" #include "frontend/BytecodeEmitter.h" #include "frontend/SharedContext.h" #include "gc/FreeOp.h" #include "jit/BaselineJIT.h" #include "jit/Ion.h" #include "jit/IonCode.h" #include "js/MemoryMetrics.h" #include "js/Utility.h" #include "vm/ArgumentsObject.h" +#include "vm/BytecodeUtil.h" #include "vm/Compression.h" #include "vm/Debugger.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/Opcodes.h" #include "vm/SelfHosting.h"
--- a/js/src/vm/JSScript.h +++ b/js/src/vm/JSScript.h @@ -10,25 +10,25 @@ #define vm_JSScript_h #include "mozilla/Atomics.h" #include "mozilla/Maybe.h" #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" #include "mozilla/Variant.h" -#include "jsopcode.h" #include "jstypes.h" #include "frontend/NameAnalysisTypes.h" #include "gc/Barrier.h" #include "gc/Rooting.h" #include "jit/IonCode.h" #include "js/UbiNode.h" #include "js/UniquePtr.h" +#include "vm/BytecodeUtil.h" #include "vm/JSAtom.h" #include "vm/NativeObject.h" #include "vm/Scope.h" #include "vm/Shape.h" #include "vm/SharedImmutableStringsCache.h" namespace JS { struct ScriptSourceInfo;
--- a/js/src/vm/Scope.h +++ b/js/src/vm/Scope.h @@ -5,23 +5,22 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef vm_Scope_h #define vm_Scope_h #include "mozilla/Maybe.h" #include "mozilla/Variant.h" -#include "jsopcode.h" - #include "gc/DeletePolicy.h" #include "gc/Heap.h" #include "gc/Policy.h" #include "js/UbiNode.h" #include "js/UniquePtr.h" +#include "vm/BytecodeUtil.h" #include "vm/JSObject.h" #include "vm/Xdr.h" namespace js { class ModuleObject; class Scope;
--- a/js/src/vm/SelfHosting.cpp +++ b/js/src/vm/SelfHosting.cpp @@ -9,17 +9,16 @@ #include "mozilla/ArrayUtils.h" #include "mozilla/Casting.h" #include "mozilla/DebugOnly.h" #include "mozilla/Maybe.h" #include "jsarray.h" #include "jsdate.h" #include "jsfriendapi.h" -#include "jsiter.h" #include "jsstr.h" #include "jswrapper.h" #include "selfhosted.out.h" #include "builtin/intl/Collator.h" #include "builtin/intl/DateTimeFormat.h" #include "builtin/intl/IntlObject.h" #include "builtin/intl/NumberFormat.h" @@ -41,16 +40,17 @@ #include "gc/Policy.h" #include "jit/AtomicOperations.h" #include "jit/InlinableNatives.h" #include "js/CharacterEncoding.h" #include "js/Date.h" #include "vm/Compression.h" #include "vm/GeneratorObject.h" #include "vm/Interpreter.h" +#include "vm/Iteration.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/Printer.h" #include "vm/RegExpObject.h" #include "vm/String.h" #include "vm/StringBuffer.h" #include "vm/TypedArrayObject.h"