☠☠ backed out by 77728b046b95 ☠ ☠ | |
author | Jason Orendorff <jorendorff@mozilla.com> |
Sat, 24 Feb 2018 08:55:13 -0600 | |
changeset 406345 | 72a84df56d3901e17b78b5cc7698cee8883f6614 |
parent 406344 | 71e1ae6a345ea3aec9693912acedc91785b15492 |
child 406346 | cfd781da349e59c8d6b9fea7efed04a0b2124a61 |
push id | 33554 |
push user | shindli@mozilla.com |
push date | Fri, 02 Mar 2018 23:07:10 +0000 |
treeherder | mozilla-central@f4e33c42faa7 [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | jandem |
bugs | 1439026 |
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/JSON.cpp +++ b/js/src/builtin/JSON.cpp @@ -7,26 +7,26 @@ #include "builtin/JSON.h" #include "mozilla/FloatingPoint.h" #include "mozilla/Range.h" #include "mozilla/ScopeExit.h" #include "jsarray.h" #include "jsnum.h" -#include "jsstr.h" #include "jstypes.h" #include "jsutil.h" +#include "builtin/String.h" +#include "util/StringBuffer.h" #include "vm/Interpreter.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/JSONParser.h" -#include "vm/StringBuffer.h" #include "jsarrayinlines.h" #include "jsboolinlines.h" #include "vm/JSAtom-inl.h" #include "vm/NativeObject-inl.h" using namespace js;
--- a/js/src/builtin/MapObject.cpp +++ b/js/src/builtin/MapObject.cpp @@ -10,17 +10,17 @@ #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 "vm/SymbolType.h" #include "gc/Marking-inl.h" #include "vm/Interpreter-inl.h" #include "vm/NativeObject-inl.h" using namespace js; using mozilla::IsNaN;
--- a/js/src/builtin/Object.cpp +++ b/js/src/builtin/Object.cpp @@ -3,27 +3,26 @@ * 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/Object.h" #include "mozilla/MaybeOneOf.h" -#include "jsstr.h" - #include "builtin/Eval.h" #include "builtin/SelfHostingDefines.h" +#include "builtin/String.h" #include "frontend/BytecodeCompiler.h" #include "jit/InlinableNatives.h" #include "js/UniquePtr.h" +#include "util/StringBuffer.h" #include "vm/AsyncFunction.h" #include "vm/JSContext.h" #include "vm/RegExpObject.h" -#include "vm/StringBuffer.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" #include "vm/Shape-inl.h" #include "vm/UnboxedObject-inl.h" #ifdef FUZZING #include "builtin/TestingFunctions.h"
--- a/js/src/builtin/RegExp.cpp +++ b/js/src/builtin/RegExp.cpp @@ -7,21 +7,21 @@ #include "builtin/RegExp.h" #include "mozilla/CheckedInt.h" #include "mozilla/TypeTraits.h" #include "frontend/TokenStream.h" #include "irregexp/RegExpParser.h" #include "jit/InlinableNatives.h" +#include "util/StringBuffer.h" +#include "util/Unicode.h" #include "vm/JSContext.h" #include "vm/RegExpStatics.h" #include "vm/SelfHosting.h" -#include "vm/StringBuffer.h" -#include "vm/Unicode.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" #include "vm/UnboxedObject-inl.h" using namespace js; using namespace js::unicode;
rename from js/src/jsstr.cpp rename to js/src/builtin/String.cpp --- a/js/src/jsstr.cpp +++ b/js/src/builtin/String.cpp @@ -1,15 +1,15 @@ /* -*- 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 "jsstr.h" +#include "builtin/String.h" #include "mozilla/ArrayUtils.h" #include "mozilla/Attributes.h" #include "mozilla/CheckedInt.h" #include "mozilla/FloatingPoint.h" #include "mozilla/PodOperations.h" #include "mozilla/Range.h" #include "mozilla/TypeTraits.h" @@ -31,33 +31,33 @@ #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" #endif +#include "util/StringBuffer.h" +#include "util/Unicode.h" #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" #include "vm/RegExpStatics.h" #include "vm/SelfHosting.h" -#include "vm/StringBuffer.h" -#include "vm/Unicode.h" #include "vm/Interpreter-inl.h" -#include "vm/String-inl.h" #include "vm/StringObject-inl.h" +#include "vm/StringType-inl.h" #include "vm/TypeInference-inl.h" using namespace js; using namespace js::gc; using JS::Symbol; using JS::SymbolCode;
rename from js/src/jsstr.h rename to js/src/builtin/String.h --- a/js/src/jsstr.h +++ b/js/src/builtin/String.h @@ -1,31 +1,31 @@ /* -*- 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 jsstr_h -#define jsstr_h +#ifndef builtin_String_h +#define builtin_String_h #include "mozilla/HashFunctions.h" #include "mozilla/PodOperations.h" #include <stdio.h> #include <string.h> #include "jsutil.h" #include "NamespaceImports.h" #include "gc/Rooting.h" #include "js/RootingAPI.h" #include "js/UniquePtr.h" +#include "util/Unicode.h" #include "vm/Printer.h" -#include "vm/Unicode.h" class JSAutoByteString; class JSLinearString; namespace js { class StringBuffer; @@ -522,9 +522,9 @@ StringConstructor(JSContext* cx, unsigne extern bool FlatStringMatch(JSContext* cx, unsigned argc, Value* vp); extern bool FlatStringSearch(JSContext* cx, unsigned argc, Value* vp); } /* namespace js */ -#endif /* jsstr_h */ +#endif /* builtin_String_h */
rename from js/src/builtin/SymbolObject.cpp rename to js/src/builtin/Symbol.cpp --- a/js/src/builtin/SymbolObject.cpp +++ b/js/src/builtin/Symbol.cpp @@ -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/. */ -#include "builtin/SymbolObject.h" +#include "builtin/Symbol.h" -#include "vm/StringBuffer.h" -#include "vm/Symbol.h" +#include "util/StringBuffer.h" +#include "vm/SymbolType.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" using JS::Symbol; using namespace js; const Class SymbolObject::class_ = {
rename from js/src/builtin/SymbolObject.h rename to js/src/builtin/Symbol.h --- a/js/src/builtin/SymbolObject.h +++ b/js/src/builtin/Symbol.h @@ -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/. */ -#ifndef builtin_SymbolObject_h -#define builtin_SymbolObject_h +#ifndef builtin_Symbol_h +#define builtin_Symbol_h #include "vm/NativeObject.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" namespace js { class SymbolObject : public NativeObject { /* Stores this Symbol object's [[PrimitiveValue]]. */ static const unsigned PRIMITIVE_VALUE_SLOT = 0; @@ -60,9 +60,9 @@ class SymbolObject : public NativeObject extern JSObject* InitSymbolClass(JSContext* cx, HandleObject obj); extern JSObject* InitBareSymbolCtor(JSContext* cx, HandleObject obj); } /* namespace js */ -#endif /* builtin_SymbolObject_h */ +#endif /* builtin_Symbol_h */
--- a/js/src/builtin/TestingFunctions.cpp +++ b/js/src/builtin/TestingFunctions.cpp @@ -33,28 +33,28 @@ #include "js/HashTable.h" #include "js/StructuredClone.h" #include "js/UbiNode.h" #include "js/UbiNodeBreadthFirst.h" #include "js/UbiNodeShortestPaths.h" #include "js/UniquePtr.h" #include "js/Vector.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.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" #include "wasm/WasmBinaryToText.h" #include "wasm/WasmJS.h" #include "wasm/WasmModule.h" #include "wasm/WasmSignalHandlers.h" #include "wasm/WasmTextToBinary.h" #include "wasm/WasmTypes.h"
--- a/js/src/builtin/TypedObject.cpp +++ b/js/src/builtin/TypedObject.cpp @@ -9,21 +9,21 @@ #include "mozilla/Casting.h" #include "mozilla/CheckedInt.h" #include "jsutil.h" #include "builtin/SIMD.h" #include "gc/Marking.h" #include "js/Vector.h" +#include "util/StringBuffer.h" #include "vm/GlobalObject.h" #include "vm/JSCompartment.h" #include "vm/JSFunction.h" -#include "vm/String.h" -#include "vm/StringBuffer.h" +#include "vm/StringType.h" #include "vm/TypedArrayObject.h" #include "gc/Nursery-inl.h" #include "gc/StoreBuffer-inl.h" #include "vm/JSAtom-inl.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" #include "vm/Shape-inl.h"
--- a/js/src/builtin/intl/Collator.cpp +++ b/js/src/builtin/intl/Collator.cpp @@ -16,17 +16,17 @@ #include "builtin/intl/ICUStubs.h" #include "builtin/intl/ScopedICUObject.h" #include "builtin/intl/SharedIntlData.h" #include "gc/FreeOp.h" #include "js/TypeDecls.h" #include "vm/GlobalObject.h" #include "vm/JSContext.h" #include "vm/Runtime.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/JSObject-inl.h" using namespace js; using js::intl::GetAvailableLocales; using js::intl::IcuLocale; using js::intl::ReportInternalError;
--- a/js/src/builtin/intl/CommonFunctions.h +++ b/js/src/builtin/intl/CommonFunctions.h @@ -12,17 +12,17 @@ #include <stddef.h> #include <stdint.h> #include <string.h> #include "builtin/intl/ICUStubs.h" #include "js/RootingAPI.h" #include "js/Vector.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { namespace intl { /** * Initialize a new Intl.* object using the named self-hosted function. */
--- a/js/src/builtin/intl/IntlObject.cpp +++ b/js/src/builtin/intl/IntlObject.cpp @@ -20,17 +20,17 @@ #include "builtin/intl/ICUStubs.h" #include "builtin/intl/NumberFormat.h" #include "builtin/intl/PluralRules.h" #include "builtin/intl/ScopedICUObject.h" #include "js/Class.h" #include "vm/GlobalObject.h" #include "vm/JSContext.h" #include "vm/JSObject.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/JSObject-inl.h" using namespace js; using mozilla::Range; using mozilla::RangedPtr;
--- a/js/src/builtin/intl/PluralRules.cpp +++ b/js/src/builtin/intl/PluralRules.cpp @@ -12,17 +12,17 @@ #include "mozilla/Casting.h" #include "builtin/intl/CommonFunctions.h" #include "builtin/intl/ICUStubs.h" #include "builtin/intl/ScopedICUObject.h" #include "gc/FreeOp.h" #include "vm/GlobalObject.h" #include "vm/JSContext.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" using namespace js; using mozilla::AssertedCast;
--- a/js/src/builtin/intl/SharedIntlData.cpp +++ b/js/src/builtin/intl/SharedIntlData.cpp @@ -8,22 +8,21 @@ #include "builtin/intl/SharedIntlData.h" #include "mozilla/Assertions.h" #include "mozilla/HashFunctions.h" #include <stdint.h> -#include "jsstr.h" - #include "builtin/intl/CommonFunctions.h" #include "builtin/intl/ICUStubs.h" #include "builtin/intl/ScopedICUObject.h" #include "builtin/intl/TimeZoneDataGenerated.h" +#include "builtin/String.h" #include "js/Utility.h" #include "vm/JSAtom.h" using js::HashNumber; using js::intl::StringsAreEqual; template<typename Char> static constexpr Char
--- a/js/src/builtin/intl/SharedIntlData.h +++ b/js/src/builtin/intl/SharedIntlData.h @@ -12,17 +12,17 @@ #include <stddef.h> #include "js/AllocPolicy.h" #include "js/CharacterEncoding.h" #include "js/GCAPI.h" #include "js/GCHashTable.h" #include "js/RootingAPI.h" #include "js/Utility.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { namespace intl { /** * Stores Intl data which can be shared across compartments (but not contexts). *
--- a/js/src/ctypes/CTypes.h +++ b/js/src/ctypes/CTypes.h @@ -12,17 +12,17 @@ #include "ffi.h" #include "prlink.h" #include "ctypes/typedefs.h" #include "js/AllocPolicy.h" #include "js/GCHashTable.h" #include "js/UniquePtr.h" #include "js/Vector.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { namespace ctypes { /******************************************************************************* ** Utility classes *******************************************************************************/
--- a/js/src/frontend/BytecodeCompiler.h +++ b/js/src/frontend/BytecodeCompiler.h @@ -7,17 +7,17 @@ #ifndef frontend_BytecodeCompiler_h #define frontend_BytecodeCompiler_h #include "mozilla/Maybe.h" #include "NamespaceImports.h" #include "vm/Scope.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/TraceLogging.h" class JSLinearString; namespace js { class LazyScript; class LifoAlloc;
--- a/js/src/frontend/NameFunctions.cpp +++ b/js/src/frontend/NameFunctions.cpp @@ -7,18 +7,18 @@ #include "frontend/NameFunctions.h" #include "mozilla/MemoryChecking.h" #include "mozilla/Sprintf.h" #include "frontend/BytecodeCompiler.h" #include "frontend/ParseNode.h" #include "frontend/SharedContext.h" +#include "util/StringBuffer.h" #include "vm/JSFunction.h" -#include "vm/StringBuffer.h" using namespace js; using namespace js::frontend; namespace { class NameResolver {
--- a/js/src/frontend/TokenStream.cpp +++ b/js/src/frontend/TokenStream.cpp @@ -21,22 +21,22 @@ #include "jsexn.h" #include "jsnum.h" #include "frontend/BytecodeCompiler.h" #include "frontend/Parser.h" #include "frontend/ReservedWords.h" #include "js/CharacterEncoding.h" #include "js/UniquePtr.h" +#include "util/StringBuffer.h" +#include "util/Unicode.h" #include "vm/HelperThreads.h" #include "vm/JSAtom.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" -#include "vm/StringBuffer.h" -#include "vm/Unicode.h" using mozilla::ArrayLength; using mozilla::MakeScopeExit; using mozilla::PodArrayZero; using mozilla::PodCopy; struct ReservedWordInfo {
--- a/js/src/frontend/TokenStream.h +++ b/js/src/frontend/TokenStream.h @@ -173,21 +173,21 @@ #include <stdio.h> #include "jspubtd.h" #include "frontend/ErrorReporter.h" #include "frontend/TokenKind.h" #include "js/UniquePtr.h" #include "js/Vector.h" +#include "util/Unicode.h" #include "vm/ErrorReporting.h" #include "vm/JSContext.h" #include "vm/RegExpShared.h" -#include "vm/String.h" -#include "vm/Unicode.h" +#include "vm/StringType.h" struct KeywordInfo; namespace js { namespace frontend { struct TokenPos { uint32_t begin; // Offset of the token's first char.
--- a/js/src/gc/Allocator.cpp +++ b/js/src/gc/Allocator.cpp @@ -8,17 +8,17 @@ #include "gc/GCInternals.h" #include "gc/GCTrace.h" #include "gc/Nursery.h" #include "jit/JitCompartment.h" #include "threading/CpuCount.h" #include "vm/JSContext.h" #include "vm/Runtime.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "gc/ArenaList-inl.h" #include "gc/Heap-inl.h" #include "gc/PrivateIterators-inl.h" #include "vm/JSObject-inl.h" using namespace js; using namespace gc;
--- a/js/src/gc/AtomMarking.h +++ b/js/src/gc/AtomMarking.h @@ -5,17 +5,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef gc_AtomMarking_h #define gc_AtomMarking_h #include "NamespaceImports.h" #include "ds/Bitmap.h" #include "threading/ProtectedData.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" namespace js { namespace gc { class Arena; // This class manages state used for marking atoms during GCs. // See AtomMarking.cpp for details.
--- a/js/src/gc/Barrier.cpp +++ b/js/src/gc/Barrier.cpp @@ -10,17 +10,17 @@ #include "gc/Policy.h" #include "gc/Zone.h" #include "js/HashTable.h" #include "js/Value.h" #include "vm/EnvironmentObject.h" #include "vm/JSCompartment.h" #include "vm/JSObject.h" #include "vm/SharedArrayObject.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" #include "wasm/WasmJS.h" namespace js { bool RuntimeFromActiveCooperatingThreadIsHeapMajorCollecting(JS::shadow::Zone* shadowZone) { MOZ_ASSERT(CurrentThreadCanAccessRuntime(shadowZone->runtimeFromActiveCooperatingThread()));
--- a/js/src/gc/GC.cpp +++ b/js/src/gc/GC.cpp @@ -228,31 +228,31 @@ #include "vm/JSAtom.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Printer.h" #include "vm/ProxyObject.h" #include "vm/Shape.h" -#include "vm/String.h" -#include "vm/Symbol.h" +#include "vm/StringType.h" +#include "vm/SymbolType.h" #include "vm/Time.h" #include "vm/TraceLogging.h" #include "vm/WrapperObject.h" #include "gc/Heap-inl.h" #include "gc/Marking-inl.h" #include "gc/Nursery-inl.h" #include "gc/PrivateIterators-inl.h" #include "vm/GeckoProfiler-inl.h" #include "vm/JSObject-inl.h" #include "vm/JSScript-inl.h" #include "vm/Stack-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; using namespace js::gc; using mozilla::ArrayLength; using mozilla::Maybe; using mozilla::Move; using mozilla::Swap;
--- a/js/src/gc/Marking.cpp +++ b/js/src/gc/Marking.cpp @@ -22,27 +22,27 @@ #include "vm/ArgumentsObject.h" #include "vm/ArrayObject.h" #include "vm/Debugger.h" #include "vm/EnvironmentObject.h" #include "vm/RegExpObject.h" #include "vm/RegExpShared.h" #include "vm/Scope.h" #include "vm/Shape.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" #include "vm/TypedArrayObject.h" #include "vm/UnboxedObject.h" #include "wasm/WasmJS.h" #include "gc/GC-inl.h" #include "gc/Nursery-inl.h" #include "gc/PrivateIterators-inl.h" #include "vm/JSCompartment-inl.h" #include "vm/NativeObject-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" #include "vm/UnboxedObject-inl.h" using namespace js; using namespace js::gc; using JS::MapTypeToTraceKind; using mozilla::DebugOnly;
--- a/js/src/gc/Tracer.cpp +++ b/js/src/gc/Tracer.cpp @@ -13,17 +13,17 @@ #include "gc/GCInternals.h" #include "gc/Marking.h" #include "gc/PublicIterators.h" #include "gc/Zone.h" #include "vm/JSFunction.h" #include "vm/JSScript.h" #include "vm/Shape.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" #include "gc/GC-inl.h" #include "vm/JSCompartment-inl.h" #include "vm/ObjectGroup-inl.h" using namespace js; using namespace js::gc; using mozilla::DebugOnly;
--- a/js/src/gdb/tests/test-JSString.cpp +++ b/js/src/gdb/tests/test-JSString.cpp @@ -1,14 +1,14 @@ #include "gdb-tests.h" #include "vm/JSContext.h" // When JSGC_ANALYSIS is #defined, Rooted<JSFlatString*> needs the definition // of JSFlatString in order to figure out its ThingRootKind -#include "vm/String.h" +#include "vm/StringType.h" FRAGMENT(JSString, simple) { AutoSuppressHazardsForTest noanalysis; JS::Rooted<JSString*> empty(cx, JS_NewStringCopyN(cx, nullptr, 0)); JS::Rooted<JSString*> x(cx, JS_NewStringCopyN(cx, "x", 1)); JS::Rooted<JSString*> z(cx, JS_NewStringCopyZ(cx, "z"));
--- a/js/src/irregexp/RegExpParser.cpp +++ b/js/src/irregexp/RegExpParser.cpp @@ -31,18 +31,18 @@ #include "irregexp/RegExpParser.h" #include "mozilla/ArrayUtils.h" #include "mozilla/Move.h" #include "frontend/TokenStream.h" #include "gc/GC.h" #include "irregexp/RegExpCharacters.h" +#include "util/StringBuffer.h" #include "vm/ErrorReporting.h" -#include "vm/StringBuffer.h" using namespace js; using namespace js::irregexp; using mozilla::Move; using mozilla::PointerRangeSize; // ----------------------------------------------------------------------------
--- a/js/src/jit/CodeGenerator.cpp +++ b/js/src/jit/CodeGenerator.cpp @@ -16,21 +16,21 @@ #include "mozilla/ScopeExit.h" #include "mozilla/Unused.h" #include <type_traits> #include "jslibmath.h" #include "jsmath.h" #include "jsnum.h" -#include "jsstr.h" #include "builtin/Eval.h" #include "builtin/RegExp.h" #include "builtin/SelfHostingDefines.h" +#include "builtin/String.h" #include "builtin/TypedObject.h" #include "gc/Nursery.h" #include "irregexp/NativeRegExpMacroAssembler.h" #include "jit/AtomicOperations.h" #include "jit/BaselineCompiler.h" #include "jit/IonBuilder.h" #include "jit/IonIC.h" #include "jit/IonOptimizationLevels.h" @@ -38,24 +38,24 @@ #include "jit/JitSpewer.h" #include "jit/Linker.h" #include "jit/Lowering.h" #include "jit/MIRGenerator.h" #include "jit/MoveEmitter.h" #include "jit/RangeAnalysis.h" #include "jit/SharedICHelpers.h" #include "jit/StackSlotAllocator.h" +#include "util/Unicode.h" #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.h" #include "vm/MatchPairs.h" #include "vm/RegExpObject.h" #include "vm/RegExpStatics.h" #include "vm/TraceLogging.h" #include "vm/TypedArrayObject.h" -#include "vm/Unicode.h" #include "vtune/VTuneWrapper.h" #include "jsboolinlines.h" #include "jit/MacroAssembler-inl.h" #include "jit/shared/CodeGenerator-shared-inl.h" #include "jit/shared/Lowering-shared-inl.h" #include "vm/Interpreter-inl.h"
--- a/js/src/jit/IonTypes.h +++ b/js/src/jit/IonTypes.h @@ -10,17 +10,17 @@ #include "mozilla/HashFunctions.h" #include <algorithm> #include "jsfriendapi.h" #include "jstypes.h" #include "js/Value.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { namespace jit { typedef uint32_t RecoverOffset; typedef uint32_t SnapshotOffset; typedef uint32_t BailoutId;
--- a/js/src/jit/MCallOptimize.cpp +++ b/js/src/jit/MCallOptimize.cpp @@ -2,26 +2,26 @@ * 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 "mozilla/Casting.h" #include "jsmath.h" -#include "jsstr.h" #include "builtin/AtomicsObject.h" #include "builtin/intl/Collator.h" #include "builtin/intl/DateTimeFormat.h" #include "builtin/intl/NumberFormat.h" #include "builtin/intl/PluralRules.h" #include "builtin/intl/RelativeTimeFormat.h" #include "builtin/MapObject.h" #include "builtin/SIMD.h" +#include "builtin/String.h" #include "builtin/TestingFunctions.h" #include "builtin/TypedObject.h" #include "jit/BaselineInspector.h" #include "jit/InlinableNatives.h" #include "jit/IonBuilder.h" #include "jit/Lowering.h" #include "jit/MIR.h" #include "jit/MIRGraph.h"
--- a/js/src/jit/MIR.cpp +++ b/js/src/jit/MIR.cpp @@ -10,19 +10,19 @@ #include "mozilla/EndianUtils.h" #include "mozilla/FloatingPoint.h" #include "mozilla/IntegerPrintfMacros.h" #include "mozilla/MathAlgorithms.h" #include <ctype.h> #include "jslibmath.h" -#include "jsstr.h" #include "builtin/RegExp.h" +#include "builtin/String.h" #include "jit/AtomicOperations.h" #include "jit/BaselineInspector.h" #include "jit/IonBuilder.h" #include "jit/JitSpewer.h" #include "jit/MIRGraph.h" #include "jit/RangeAnalysis.h" #include "js/Conversions.h"
--- a/js/src/jit/Recover.cpp +++ b/js/src/jit/Recover.cpp @@ -3,32 +3,32 @@ * 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 "jsmath.h" -#include "jsstr.h" #include "builtin/RegExp.h" #include "builtin/SIMD.h" +#include "builtin/String.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/StringType.h" #include "vm/Interpreter-inl.h" #include "vm/NativeObject-inl.h" using namespace js; using namespace js::jit; bool
--- a/js/src/jit/shared/Lowering-shared.cpp +++ b/js/src/jit/shared/Lowering-shared.cpp @@ -4,17 +4,17 @@ * 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/shared/Lowering-shared-inl.h" #include "jit/LIR.h" #include "jit/MIR.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" using namespace js; using namespace jit; bool LIRGeneratorShared::ShouldReorderCommutative(MDefinition* lhs, MDefinition* rhs, MInstruction* ins) { // lhs and rhs are used by the commutative operator.
--- a/js/src/jsapi-tests/testErrorInterceptor.cpp +++ b/js/src/jsapi-tests/testErrorInterceptor.cpp @@ -1,13 +1,13 @@ #include "jsapi.h" #include "jsapi-tests/tests.h" -#include "vm/StringBuffer.h" +#include "util/StringBuffer.h" // Tests for JS_GetErrorInterceptorCallback and JS_SetErrorInterceptorCallback. namespace { const double EXN_VALUE = 3.14; static JS::PersistentRootedString gLatestMessage;
--- a/js/src/jsapi-tests/testIndexToString.cpp +++ b/js/src/jsapi-tests/testIndexToString.cpp @@ -1,23 +1,23 @@ /* -*- 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 "jsnum.h" -#include "jsstr.h" +#include "builtin/String.h" #include "jsapi-tests/tests.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using mozilla::ArrayLength; static const struct TestPair { uint32_t num; const char* expected; } tests[] = { { 0, "0" },
--- a/js/src/jsapi-tests/testIntern.cpp +++ b/js/src/jsapi-tests/testIntern.cpp @@ -1,17 +1,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 "gc/FreeOp.h" #include "gc/Marking.h" #include "jsapi-tests/tests.h" #include "vm/JSAtom.h" -#include "vm/String.h" +#include "vm/StringType.h" using mozilla::ArrayLength; BEGIN_TEST(testAtomizedIsNotPinned) { /* Try to pick a string that won't be interned by other tests in this runtime. */ static const char someChars[] = "blah blah blah? blah blah blah"; JS::Rooted<JSAtom*> atom(cx, js::Atomize(cx, someChars, ArrayLength(someChars)));
--- a/js/src/jsapi-tests/testParseJSON.cpp +++ b/js/src/jsapi-tests/testParseJSON.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 <limits> #include <string.h> -#include "jsstr.h" +#include "builtin/String.h" #include "js/Printf.h" #include "jsapi-tests/tests.h" using namespace js; class AutoInflatedString { JSContext * const cx;
--- a/js/src/jsapi-tests/testSavedStacks.cpp +++ b/js/src/jsapi-tests/testSavedStacks.cpp @@ -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/. */ #include "jsfriendapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "builtin/TestingFunctions.h" #include "jsapi-tests/tests.h" #include "vm/ArrayObject.h" #include "vm/JSCompartment.h" #include "vm/SavedStacks.h" BEGIN_TEST(testSavedStacks_withNoStack)
--- a/js/src/jsapi-tests/testStringBuffer.cpp +++ b/js/src/jsapi-tests/testStringBuffer.cpp @@ -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/. */ #include "jsapi-tests/tests.h" +#include "util/StringBuffer.h" #include "vm/JSAtom.h" -#include "vm/StringBuffer.h" BEGIN_TEST(testStringBuffer_finishString) { JSString* str = JS_NewStringCopyZ(cx, "foopy"); CHECK(str); JS::Rooted<JSAtom*> atom(cx, js::AtomizeString(cx, str)); CHECK(atom);
--- a/js/src/jsapi-tests/testUTF8.cpp +++ b/js/src/jsapi-tests/testUTF8.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 "mozilla/Range.h" #include "jsapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "js/CharacterEncoding.h" #include "jsapi-tests/tests.h" BEGIN_TEST(testUTF8_badUTF8) { static const char badUTF8[] = "...\xC0..."; JSString* str = JS_NewStringCopyZ(cx, badUTF8);
--- a/js/src/jsapi-tests/testXDR.cpp +++ b/js/src/jsapi-tests/testXDR.cpp @@ -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/. */ #include "jsfriendapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "jsapi-tests/tests.h" #include "vm/JSScript.h" #include "vm/JSScript-inl.h" static bool GetBuildId(JS::BuildIdCharVector* buildId)
--- a/js/src/jsapi.cpp +++ b/js/src/jsapi.cpp @@ -25,28 +25,28 @@ #include "jsarray.h" #include "jsbool.h" #include "jsdate.h" #include "jsexn.h" #include "jsfriendapi.h" #include "jsmath.h" #include "jsnum.h" -#include "jsstr.h" #include "jstypes.h" #include "jsutil.h" #include "builtin/AtomicsObject.h" #include "builtin/Eval.h" #include "builtin/JSON.h" #include "builtin/MapObject.h" #include "builtin/Promise.h" #include "builtin/RegExp.h" #include "builtin/Stream.h" -#include "builtin/SymbolObject.h" +#include "builtin/String.h" +#include "builtin/Symbol.h" #ifdef ENABLE_SIMD # include "builtin/SIMD.h" #endif #ifdef ENABLE_BINARYDATA # include "builtin/TypedObject.h" #endif #include "frontend/BytecodeCompiler.h" #include "frontend/FullParseHandler.h" // for JS_BufferIsCompileableUnit @@ -61,16 +61,17 @@ #include "js/Conversions.h" #include "js/Date.h" #include "js/Initialization.h" #include "js/Proxy.h" #include "js/SliceBudget.h" #include "js/StructuredClone.h" #include "js/Utility.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #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" @@ -80,31 +81,30 @@ #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/RegExpStatics.h" #include "vm/Runtime.h" #include "vm/SavedStacks.h" #include "vm/SelfHosting.h" #include "vm/Shape.h" -#include "vm/String.h" -#include "vm/StringBuffer.h" -#include "vm/Symbol.h" +#include "vm/StringType.h" +#include "vm/SymbolType.h" #include "vm/WrapperObject.h" #include "vm/Xdr.h" #include "wasm/AsmJS.h" #include "wasm/WasmModule.h" #include "vm/Interpreter-inl.h" #include "vm/JSAtom-inl.h" #include "vm/JSFunction-inl.h" #include "vm/JSScript-inl.h" #include "vm/NativeObject-inl.h" #include "vm/SavedStacks-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; using namespace js::gc; using mozilla::Maybe; using mozilla::PodCopy; using mozilla::Some;
--- a/js/src/jsarray.cpp +++ b/js/src/jsarray.cpp @@ -19,26 +19,26 @@ #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 "util/StringBuffer.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" #include "vm/WrapperObject.h" #include "vm/ArgumentsObject-inl.h" #include "vm/ArrayObject-inl.h" #include "vm/Caches-inl.h" #include "vm/GeckoProfiler-inl.h" #include "vm/Interpreter-inl.h"
--- a/js/src/jsbool.cpp +++ b/js/src/jsbool.cpp @@ -9,22 +9,22 @@ */ #include "jsboolinlines.h" #include "jsapi.h" #include "jstypes.h" #include "jit/InlinableNatives.h" +#include "util/StringBuffer.h" #include "vm/GlobalObject.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/ProxyObject.h" -#include "vm/StringBuffer.h" #include "vm/BooleanObject-inl.h" using namespace js; const Class BooleanObject::class_ = { "Boolean", JSCLASS_HAS_RESERVED_SLOTS(1) | JSCLASS_HAS_CACHED_PROTO(JSProto_Boolean)
--- a/js/src/jsdate.cpp +++ b/js/src/jsdate.cpp @@ -23,30 +23,30 @@ #include "mozilla/Sprintf.h" #include <ctype.h> #include <math.h> #include <string.h> #include "jsapi.h" #include "jsnum.h" -#include "jsstr.h" #include "jstypes.h" #include "jsutil.h" +#include "builtin/String.h" #include "js/Conversions.h" #include "js/Date.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/DateTime.h" #include "vm/GlobalObject.h" #include "vm/Interpreter.h" #include "vm/JSContext.h" #include "vm/JSObject.h" -#include "vm/String.h" -#include "vm/StringBuffer.h" +#include "vm/StringType.h" #include "vm/Time.h" #include "vm/JSObject-inl.h" using namespace js; using mozilla::Atomic; using mozilla::ArrayLength;
--- a/js/src/jsexn.cpp +++ b/js/src/jsexn.cpp @@ -18,25 +18,25 @@ #include "jsnum.h" #include "jstypes.h" #include "jsutil.h" #include "gc/FreeOp.h" #include "gc/Marking.h" #include "js/CharacterEncoding.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/ErrorObject.h" #include "vm/GlobalObject.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/SavedStacks.h" #include "vm/SelfHosting.h" -#include "vm/StringBuffer.h" #include "vm/ErrorObject-inl.h" #include "vm/JSObject-inl.h" #include "vm/SavedStacks-inl.h" using namespace js; using namespace js::gc;
--- a/js/src/jsnum.cpp +++ b/js/src/jsnum.cpp @@ -15,31 +15,31 @@ #include "mozilla/RangedPtr.h" #ifdef HAVE_LOCALECONV #include <locale.h> #endif #include <math.h> #include <string.h> -#include "jsstr.h" #include "jstypes.h" +#include "builtin/String.h" #include "double-conversion/double-conversion.h" #include "js/Conversions.h" #include "util/DoubleToString.h" +#include "util/StringBuffer.h" #include "vm/GlobalObject.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSObject.h" -#include "vm/StringBuffer.h" #include "vm/NativeObject-inl.h" #include "vm/NumberObject-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; using mozilla::Abs; using mozilla::ArrayLength; using mozilla::MinNumberValue; using mozilla::NegativeInfinity; using mozilla::PositiveInfinity;
--- a/js/src/jsnum.h +++ b/js/src/jsnum.h @@ -9,17 +9,17 @@ #include "mozilla/FloatingPoint.h" #include "mozilla/Range.h" #include "NamespaceImports.h" #include "js/Conversions.h" -#include "vm/String.h" +#include "vm/StringType.h" // This macro is should be `one' if current compiler supports builtin functions // like __builtin_sadd_overflow. #if __GNUC__ >= 5 // GCC 5 and above supports these functions. #define BUILTIN_CHECKED_ARITHMETIC_SUPPORTED(x) 1 #else
--- a/js/src/moz.build +++ b/js/src/moz.build @@ -27,17 +27,17 @@ with Files('gc/**'): with Files('jit/**'): BUG_COMPONENT = component_jit # File-specific metadata for gcfile in ['devtools/rootAnalysis', 'devtools/gc-ubench', 'devtools/gctrace']: with Files(gcfile): BUG_COMPONENT = component_gc -for stlfile in ['jsarray.*', 'jsbool*', 'jsdate.*', 'jsnum.*', 'jsstr.*']: +for stlfile in ['jsarray.*', 'jsbool*', 'jsdate.*', 'jsnum.*']: with Files(stlfile): BUG_COMPONENT = component_stl with Files('builtin/intl/*'): BUG_COMPONENT = component_intl if CONFIG['JS_BUNDLED_EDITLINE']: @@ -163,17 +163,18 @@ UNIFIED_SOURCES += [ 'builtin/ModuleObject.cpp', 'builtin/Object.cpp', 'builtin/Profilers.cpp', 'builtin/Promise.cpp', 'builtin/Reflect.cpp', 'builtin/ReflectParse.cpp', 'builtin/SIMD.cpp', 'builtin/Stream.cpp', - 'builtin/SymbolObject.cpp', + 'builtin/String.cpp', + 'builtin/Symbol.cpp', 'builtin/TestingFunctions.cpp', 'builtin/TypedObject.cpp', 'builtin/WeakMapObject.cpp', 'builtin/WeakSetObject.cpp', 'devtools/sharkctl.cpp', 'ds/Bitmap.cpp', 'ds/LifoAlloc.cpp', 'ds/MemoryProtectionExceptionHandler.cpp', @@ -286,31 +287,32 @@ UNIFIED_SOURCES += [ 'jit/VMFunctions.cpp', 'jit/WasmBCE.cpp', 'jsapi.cpp', 'jsbool.cpp', 'jsdate.cpp', 'jsexn.cpp', 'jsfriendapi.cpp', 'jsnum.cpp', - 'jsstr.cpp', 'perf/jsperf.cpp', 'proxy/BaseProxyHandler.cpp', 'proxy/CrossCompartmentWrapper.cpp', 'proxy/DeadObjectProxy.cpp', 'proxy/OpaqueCrossCompartmentWrapper.cpp', 'proxy/Proxy.cpp', 'proxy/ScriptedProxyHandler.cpp', 'proxy/SecurityWrapper.cpp', 'proxy/Wrapper.cpp', 'threading/Mutex.cpp', 'threading/ProtectedData.cpp', 'util/AllocPolicy.cpp', 'util/NativeStack.cpp', 'util/Printf.cpp', + 'util/StringBuffer.cpp', + 'util/Unicode.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', @@ -352,29 +354,27 @@ UNIFIED_SOURCES += [ 'vm/SavedStacks.cpp', 'vm/Scope.cpp', 'vm/SelfHosting.cpp', 'vm/Shape.cpp', 'vm/SharedArrayObject.cpp', 'vm/SharedImmutableStringsCache.cpp', 'vm/Stack.cpp', 'vm/Stopwatch.cpp', - 'vm/String.cpp', - 'vm/StringBuffer.cpp', + 'vm/StringType.cpp', 'vm/StructuredClone.cpp', - 'vm/Symbol.cpp', + 'vm/SymbolType.cpp', 'vm/TaggedProto.cpp', 'vm/Time.cpp', 'vm/TypedArrayObject.cpp', 'vm/TypeInference.cpp', 'vm/UbiNode.cpp', 'vm/UbiNodeCensus.cpp', 'vm/UbiNodeShortestPaths.cpp', 'vm/UnboxedObject.cpp', - 'vm/Unicode.cpp', 'vm/Value.cpp', 'vm/Xdr.cpp', 'wasm/AsmJS.cpp', 'wasm/WasmBaselineCompile.cpp', 'wasm/WasmBinaryIterator.cpp', 'wasm/WasmBinaryToAST.cpp', 'wasm/WasmBinaryToText.cpp', 'wasm/WasmBuiltins.cpp',
--- a/js/src/proxy/SecurityWrapper.cpp +++ b/js/src/proxy/SecurityWrapper.cpp @@ -4,17 +4,17 @@ * 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 "jsapi.h" #include "jsfriendapi.h" #include "NamespaceImports.h" #include "js/Wrapper.h" -#include "vm/String.h" +#include "vm/StringType.h" using namespace js; template <class Base> bool SecurityWrapper<Base>::enter(JSContext* cx, HandleObject wrapper, HandleId id, Wrapper::Action act, bool mayThrow, bool* bp) const {
--- a/js/src/shell/OSObject.cpp +++ b/js/src/shell/OSObject.cpp @@ -17,25 +17,25 @@ #else #include <sys/wait.h> #include <unistd.h> #endif #include "jsapi.h" // For JSFunctionSpecWithHelp #include "jsfriendapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "gc/FreeOp.h" #include "js/Conversions.h" #include "js/Wrapper.h" #include "shell/jsshell.h" +#include "util/StringBuffer.h" #include "util/Windows.h" #include "vm/JSObject.h" -#include "vm/StringBuffer.h" #include "vm/TypedArrayObject.h" #include "vm/JSObject-inl.h" #ifdef XP_WIN # ifndef PATH_MAX # define PATH_MAX (MAX_PATH > _MAX_DIR ? MAX_PATH : _MAX_DIR) # endif
--- a/js/src/shell/js.cpp +++ b/js/src/shell/js.cpp @@ -85,32 +85,32 @@ #include "perf/jsperf.h" #include "shell/jsoptparse.h" #include "shell/jsshell.h" #include "shell/OSObject.h" #include "threading/ConditionVariable.h" #include "threading/ExclusiveData.h" #include "threading/LockGuard.h" #include "threading/Thread.h" +#include "util/StringBuffer.h" #include "util/Windows.h" #include "vm/ArgumentsObject.h" #include "vm/Compression.h" #include "vm/Debugger.h" #include "vm/HelperThreads.h" #include "vm/JSAtom.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Monitor.h" #include "vm/MutexIDs.h" #include "vm/Printer.h" #include "vm/Shape.h" #include "vm/SharedArrayObject.h" -#include "vm/StringBuffer.h" #include "vm/Time.h" #include "vm/TypedArrayObject.h" #include "vm/WrapperObject.h" #include "wasm/WasmJS.h" #include "vm/ErrorObject-inl.h" #include "vm/Interpreter-inl.h" #include "vm/JSCompartment-inl.h"
--- a/js/src/shell/jsshell.cpp +++ b/js/src/shell/jsshell.cpp @@ -8,17 +8,17 @@ #include "shell/jsshell.h" #include "mozilla/Sprintf.h" #include "jsapi.h" #include "jsfriendapi.h" -#include "vm/StringBuffer.h" +#include "util/StringBuffer.h" using namespace JS; namespace js { namespace shell { // Generate 'usage' and 'help' properties for the given object. // JS_DefineFunctionsWithHelp will define individual function objects with both
rename from js/src/vm/StringBuffer.cpp rename to js/src/util/StringBuffer.cpp --- a/js/src/vm/StringBuffer.cpp +++ b/js/src/util/StringBuffer.cpp @@ -1,20 +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 "vm/StringBuffer.h" +#include "util/StringBuffer.h" #include "mozilla/Range.h" #include "vm/JSObject-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; template <typename CharT, class Buffer> static CharT* ExtractWellSized(JSContext* cx, Buffer& cb) { size_t capacity = cb.capacity();
rename from js/src/vm/StringBuffer.h rename to js/src/util/StringBuffer.h --- a/js/src/vm/StringBuffer.h +++ b/js/src/util/StringBuffer.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 vm_StringBuffer_h -#define vm_StringBuffer_h +#ifndef util_StringBuffer_h +#define util_StringBuffer_h #include "mozilla/DebugOnly.h" #include "mozilla/MaybeOneOf.h" #include "js/Vector.h" #include "vm/JSContext.h" namespace js { @@ -341,9 +341,9 @@ ValueToStringBuffer(JSContext* cx, const inline bool BooleanToStringBuffer(bool b, StringBuffer& sb) { return b ? sb.append("true") : sb.append("false"); } } /* namespace js */ -#endif /* vm_StringBuffer_h */ +#endif /* util_StringBuffer_h */
rename from js/src/vm/Unicode.cpp rename to js/src/util/Unicode.cpp --- a/js/src/vm/Unicode.cpp +++ b/js/src/util/Unicode.cpp @@ -1,16 +1,16 @@ /* Generated by make_unicode.py DO NOT MODIFY */ /* Unicode version: 10.0.0 */ /* * Any copyright is dedicated to the Public Domain. * http://creativecommons.org/licenses/publicdomain/ */ -#include "vm/Unicode.h" +#include "util/Unicode.h" using namespace js; using namespace js::unicode; /* * So how does indexing work? * First let's have a look at a char16_t, 16-bits: * [................]
rename from js/src/vm/Unicode.h rename to js/src/util/Unicode.h --- a/js/src/vm/Unicode.h +++ b/js/src/util/Unicode.h @@ -1,19 +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/. */ -#ifndef vm_Unicode_h -#define vm_Unicode_h +#ifndef util_Unicode_h +#define util_Unicode_h #include "jspubtd.h" -#include "vm/UnicodeNonBMP.h" + +#include "util/UnicodeNonBMP.h" namespace js { namespace unicode { extern const bool js_isidstart[]; extern const bool js_isident[]; extern const bool js_isspace[]; @@ -596,9 +597,9 @@ UTF16Decode(char16_t lead, char16_t trai MOZ_ASSERT(IsTrailSurrogate(trail)); return (lead << 10) + trail + (NonBMPMin - (LeadSurrogateMin << 10) - TrailSurrogateMin); } } /* namespace unicode */ } /* namespace js */ -#endif /* vm_Unicode_h */ +#endif /* util_Unicode_h */
rename from js/src/vm/UnicodeNonBMP.h rename to js/src/util/UnicodeNonBMP.h --- a/js/src/vm/UnicodeNonBMP.h +++ b/js/src/util/UnicodeNonBMP.h @@ -2,18 +2,18 @@ * 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/. */ /* Generated by make_unicode.py DO NOT MODIFY */ /* Unicode version: 10.0.0 */ -#ifndef vm_UnicodeNonBMP_h -#define vm_UnicodeNonBMP_h +#ifndef util_UnicodeNonBMP_h +#define util_UnicodeNonBMP_h // |macro| receives the following arguments // macro(FROM, TO, LEAD, TRAIL_FROM, TRAIL_TO, DIFF) // FROM: code point where the range starts // TO: code point where the range ends // LEAD: common lead surrogate of FROM and TO // TRAIL_FROM: trail surrogate of FROM // TRAIL_FROM: trail surrogate of TO @@ -63,9 +63,9 @@ // U+1E922 ADLAM SMALL LETTER ALIF .. U+1E943 ADLAM SMALL LETTER SHA #define FOR_EACH_NON_BMP_REV_CASE_FOLDING(macro) \ macro(0x10428, 0x1044f, 0xd801, 0xdc28, 0xdc4f, -40) \ macro(0x104d8, 0x104fb, 0xd801, 0xdcd8, 0xdcfb, -40) \ macro(0x10cc0, 0x10cf2, 0xd803, 0xdcc0, 0xdcf2, -64) \ macro(0x118c0, 0x118df, 0xd806, 0xdcc0, 0xdcdf, -32) \ macro(0x1e922, 0x1e943, 0xd83a, 0xdd22, 0xdd43, -34) -#endif /* vm_UnicodeNonBMP_h */ +#endif /* util_UnicodeNonBMP_h */
--- a/js/src/vm/ArrayObject-inl.h +++ b/js/src/vm/ArrayObject-inl.h @@ -5,17 +5,17 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef vm_ArrayObject_inl_h #define vm_ArrayObject_inl_h #include "vm/ArrayObject.h" #include "gc/GCTrace.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/JSObject-inl.h" #include "vm/TypeInference-inl.h" namespace js { inline void ArrayObject::setLength(JSContext* cx, uint32_t length)
--- a/js/src/vm/BytecodeUtil.cpp +++ b/js/src/vm/BytecodeUtil.cpp @@ -20,37 +20,37 @@ #include <algorithm> #include <ctype.h> #include <inttypes.h> #include <stdio.h> #include <string.h> #include "jsapi.h" #include "jsnum.h" -#include "jsstr.h" #include "jstypes.h" #include "jsutil.h" +#include "builtin/String.h" #include "frontend/BytecodeCompiler.h" #include "frontend/SourceNotes.h" #include "gc/FreeOp.h" #include "gc/GCInternals.h" #include "js/CharacterEncoding.h" #include "js/Printf.h" +#include "util/StringBuffer.h" #include "vm/CodeCoverage.h" #include "vm/EnvironmentObject.h" #include "vm/JSAtom.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" #include "vm/JSFunction.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Opcodes.h" #include "vm/Shape.h" -#include "vm/StringBuffer.h" #include "gc/PrivateIterators-inl.h" #include "vm/JSCompartment-inl.h" #include "vm/JSContext-inl.h" #include "vm/JSObject-inl.h" #include "vm/JSScript-inl.h" using namespace js;
--- a/js/src/vm/ErrorObject.cpp +++ b/js/src/vm/ErrorObject.cpp @@ -9,17 +9,17 @@ #include "mozilla/Range.h" #include "jsexn.h" #include "js/CallArgs.h" #include "js/CharacterEncoding.h" #include "vm/GlobalObject.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" #include "vm/SavedStacks-inl.h" #include "vm/Shape-inl.h" using namespace js;
--- a/js/src/vm/GeckoProfiler.cpp +++ b/js/src/vm/GeckoProfiler.cpp @@ -11,18 +11,18 @@ #include "jsnum.h" #include "gc/PublicIterators.h" #include "jit/BaselineFrame.h" #include "jit/BaselineJIT.h" #include "jit/JitcodeMap.h" #include "jit/JitFrames.h" #include "jit/JSJitFrameIter.h" +#include "util/StringBuffer.h" #include "vm/JSScript.h" -#include "vm/StringBuffer.h" #include "gc/Marking-inl.h" using namespace js; using mozilla::DebugOnly; GeckoProfilerThread::GeckoProfilerThread()
--- a/js/src/vm/GlobalObject.cpp +++ b/js/src/vm/GlobalObject.cpp @@ -17,17 +17,17 @@ #include "builtin/JSON.h" #include "builtin/MapObject.h" #include "builtin/ModuleObject.h" #include "builtin/Object.h" #include "builtin/Promise.h" #include "builtin/RegExp.h" #include "builtin/SelfHostingDefines.h" #include "builtin/Stream.h" -#include "builtin/SymbolObject.h" +#include "builtin/Symbol.h" #include "builtin/TypedObject.h" #include "builtin/WeakMapObject.h" #include "builtin/WeakSetObject.h" #include "gc/FreeOp.h" #include "js/ProtoKey.h" #include "vm/Debugger.h" #include "vm/EnvironmentObject.h" #include "vm/HelperThreads.h"
--- a/js/src/vm/Interpreter-inl.h +++ b/js/src/vm/Interpreter-inl.h @@ -5,27 +5,27 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ #ifndef vm_Interpreter_inl_h #define vm_Interpreter_inl_h #include "vm/Interpreter.h" #include "jsnum.h" -#include "jsstr.h" +#include "builtin/String.h" #include "jit/Ion.h" #include "vm/ArgumentsObject.h" #include "vm/JSCompartment.h" #include "vm/EnvironmentObject-inl.h" #include "vm/JSAtom-inl.h" #include "vm/JSObject-inl.h" #include "vm/Stack-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" #include "vm/UnboxedObject-inl.h" namespace js { /* * Every possible consumer of MagicValue(JS_OPTIMIZED_ARGUMENTS) (as determined * by ScriptAnalysis::needsArgsObj) must check for these magic values and, when * one is received, act as if the value were the function's ArgumentsObject.
--- a/js/src/vm/Interpreter.cpp +++ b/js/src/vm/Interpreter.cpp @@ -15,40 +15,40 @@ #include "mozilla/Maybe.h" #include "mozilla/Sprintf.h" #include <string.h> #include "jsarray.h" #include "jslibmath.h" #include "jsnum.h" -#include "jsstr.h" #include "builtin/Eval.h" +#include "builtin/String.h" #include "jit/AtomicOperations.h" #include "jit/BaselineJIT.h" #include "jit/Ion.h" #include "jit/IonAnalysis.h" #include "jit/Jit.h" +#include "util/StringBuffer.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" #include "vm/Stopwatch.h" -#include "vm/StringBuffer.h" #include "vm/TraceLogging.h" #include "jsboolinlines.h" #include "jit/JitFrames-inl.h" #include "vm/Debugger-inl.h" #include "vm/EnvironmentObject-inl.h" #include "vm/GeckoProfiler-inl.h"
--- a/js/src/vm/Iteration.cpp +++ b/js/src/vm/Iteration.cpp @@ -32,17 +32,17 @@ #include "vm/JSScript.h" #include "vm/Shape.h" #include "vm/TypedArrayObject.h" #include "vm/JSScript-inl.h" #include "vm/NativeObject-inl.h" #include "vm/ReceiverGuard-inl.h" #include "vm/Stack-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; using namespace js::gc; using mozilla::DebugOnly; using mozilla::Maybe; using mozilla::PodCopy; using mozilla::PodEqual;
--- a/js/src/vm/JSAtom-inl.h +++ b/js/src/vm/JSAtom-inl.h @@ -9,17 +9,17 @@ #include "vm/JSAtom.h" #include "mozilla/RangedPtr.h" #include "jsnum.h" #include "vm/Runtime.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { inline jsid AtomToId(JSAtom* atom) { JS_STATIC_ASSERT(JSID_INT_MIN == 0);
--- a/js/src/vm/JSAtom.cpp +++ b/js/src/vm/JSAtom.cpp @@ -12,29 +12,29 @@ #include "mozilla/ArrayUtils.h" #include "mozilla/EndianUtils.h" #include "mozilla/RangedPtr.h" #include "mozilla/Unused.h" #include <string.h> -#include "jsstr.h" #include "jstypes.h" +#include "builtin/String.h" #include "gc/Marking.h" #include "vm/JSContext.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" #include "vm/Xdr.h" #include "gc/AtomMarking-inl.h" #include "vm/JSCompartment-inl.h" #include "vm/JSContext-inl.h" #include "vm/JSObject-inl.h" -#include "vm/String-inl.h" +#include "vm/StringType-inl.h" using namespace js; using namespace js::gc; using mozilla::ArrayEnd; using mozilla::ArrayLength; using mozilla::Maybe; using mozilla::Nothing;
--- a/js/src/vm/JSContext-inl.h +++ b/js/src/vm/JSContext-inl.h @@ -11,17 +11,17 @@ #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" +#include "vm/SymbolType.h" namespace js { class CompartmentChecker { JSCompartment* compartment; public:
--- a/js/src/vm/JSContext.cpp +++ b/js/src/vm/JSContext.cpp @@ -25,19 +25,19 @@ # include <string> #endif // ANDROID #ifdef XP_WIN # include <processthreadsapi.h> #endif // XP_WIN #include "jsexn.h" #include "jspubtd.h" -#include "jsstr.h" #include "jstypes.h" +#include "builtin/String.h" #include "gc/FreeOp.h" #include "gc/Marking.h" #include "jit/Ion.h" #include "jit/PcScriptCache.h" #include "js/CharacterEncoding.h" #include "js/Printf.h" #include "util/DoubleToString.h" #include "util/NativeStack.h"
--- a/js/src/vm/JSFunction.cpp +++ b/js/src/vm/JSFunction.cpp @@ -14,44 +14,44 @@ #include "mozilla/CheckedInt.h" #include "mozilla/Maybe.h" #include "mozilla/Range.h" #include <string.h> #include "jsapi.h" #include "jsarray.h" -#include "jsstr.h" #include "jstypes.h" #include "builtin/Eval.h" #include "builtin/Object.h" #include "builtin/SelfHostingDefines.h" +#include "builtin/String.h" #include "frontend/BytecodeCompiler.h" #include "frontend/TokenStream.h" #include "gc/Marking.h" #include "gc/Policy.h" #include "jit/InlinableNatives.h" #include "jit/Ion.h" #include "js/CallNonGenericMethod.h" #include "js/Proxy.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/AsyncFunction.h" #include "vm/AsyncIteration.h" #include "vm/Debugger.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/SelfHosting.h" #include "vm/Shape.h" #include "vm/SharedImmutableStringsCache.h" -#include "vm/StringBuffer.h" #include "vm/WrapperObject.h" #include "vm/Xdr.h" #include "wasm/AsmJS.h" #include "vm/Interpreter-inl.h" #include "vm/JSScript-inl.h" #include "vm/Stack-inl.h"
--- a/js/src/vm/JSONParser.cpp +++ b/js/src/vm/JSONParser.cpp @@ -10,18 +10,18 @@ #include "mozilla/RangedPtr.h" #include "mozilla/Sprintf.h" #include <ctype.h> #include "jsarray.h" #include "jsnum.h" +#include "util/StringBuffer.h" #include "vm/JSCompartment.h" -#include "vm/StringBuffer.h" #include "vm/NativeObject-inl.h" using namespace js; using mozilla::RangedPtr; JSONParserBase::~JSONParserBase()
--- a/js/src/vm/JSONParser.h +++ b/js/src/vm/JSONParser.h @@ -8,17 +8,17 @@ #define vm_JSONParser_h #include "mozilla/Attributes.h" #include "mozilla/Range.h" #include "jspubtd.h" #include "ds/IdValuePair.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { // JSONParser base class. JSONParser is templatized to work on either Latin1 // or TwoByte input strings, JSONParserBase holds all state and methods that // can be shared between the two encodings. class MOZ_STACK_CLASS JSONParserBase {
--- a/js/src/vm/JSObject.cpp +++ b/js/src/vm/JSObject.cpp @@ -17,23 +17,23 @@ #include <string.h> #include "jsapi.h" #include "jsarray.h" #include "jsexn.h" #include "jsfriendapi.h" #include "jsnum.h" -#include "jsstr.h" #include "jstypes.h" #include "jsutil.h" #include "builtin/Eval.h" #include "builtin/Object.h" -#include "builtin/SymbolObject.h" +#include "builtin/String.h" +#include "builtin/Symbol.h" #include "frontend/BytecodeCompiler.h" #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 "js/Wrapper.h"
--- a/js/src/vm/JSObject.h +++ b/js/src/vm/JSObject.h @@ -10,17 +10,17 @@ #include "mozilla/MemoryReporting.h" #include "gc/Barrier.h" #include "js/Conversions.h" #include "js/GCVector.h" #include "js/HeapAPI.h" #include "vm/Printer.h" #include "vm/Shape.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/Xdr.h" namespace JS { struct ClassInfo; } // namespace JS namespace js {
--- a/js/src/vm/JSScript.cpp +++ b/js/src/vm/JSScript.cpp @@ -31,29 +31,29 @@ #include "gc/FreeOp.h" #include "jit/BaselineJIT.h" #include "jit/Ion.h" #include "jit/IonCode.h" #include "js/MemoryMetrics.h" #include "js/Printf.h" #include "js/Utility.h" #include "js/Wrapper.h" +#include "util/StringBuffer.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" #include "vm/Shape.h" #include "vm/SharedImmutableStringsCache.h" -#include "vm/StringBuffer.h" #include "vm/Xdr.h" #include "vtune/VTuneWrapper.h" #include "gc/Marking-inl.h" #include "vm/EnvironmentObject-inl.h" #include "vm/JSFunction-inl.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h"
--- a/js/src/vm/MemoryMetrics.cpp +++ b/js/src/vm/MemoryMetrics.cpp @@ -13,18 +13,18 @@ #include "jit/BaselineJIT.h" #include "jit/Ion.h" #include "vm/ArrayObject.h" #include "vm/JSCompartment.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Runtime.h" #include "vm/Shape.h" -#include "vm/String.h" -#include "vm/Symbol.h" +#include "vm/StringType.h" +#include "vm/SymbolType.h" #include "vm/WrapperObject.h" #include "wasm/WasmInstance.h" #include "wasm/WasmJS.h" #include "wasm/WasmModule.h" using mozilla::MallocSizeOf; using mozilla::Move; using mozilla::PodCopy;
--- a/js/src/vm/NativeObject.h +++ b/js/src/vm/NativeObject.h @@ -17,17 +17,17 @@ #include "gc/Barrier.h" #include "gc/Heap.h" #include "gc/Marking.h" #include "js/Value.h" #include "vm/JSObject.h" #include "vm/Shape.h" #include "vm/ShapedObject.h" -#include "vm/String.h" +#include "vm/StringType.h" #include "vm/TypeInference.h" namespace js { class Shape; class TenuringTracer; /*
--- a/js/src/vm/RegExpObject.cpp +++ b/js/src/vm/RegExpObject.cpp @@ -4,34 +4,34 @@ * 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/RegExpObject.h" #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" -#include "jsstr.h" +#include "builtin/String.h" #ifdef DEBUG #include "jsutil.h" #endif #include "builtin/RegExp.h" #include "frontend/TokenStream.h" #include "gc/HashUtil.h" #ifdef DEBUG #include "irregexp/RegExpBytecode.h" #endif #include "irregexp/RegExpParser.h" +#include "util/StringBuffer.h" #include "vm/MatchPairs.h" #include "vm/RegExpStatics.h" -#include "vm/StringBuffer.h" #include "vm/TraceLogging.h" #ifdef DEBUG -#include "vm/Unicode.h" +#include "util/Unicode.h" #endif #include "vm/Xdr.h" #include "vm/JSObject-inl.h" #include "vm/NativeObject-inl.h" #include "vm/Shape-inl.h" using namespace js;
--- a/js/src/vm/Runtime.h +++ b/js/src/vm/Runtime.h @@ -44,17 +44,17 @@ #include "vm/DateTime.h" #include "vm/GeckoProfiler.h" #include "vm/JSAtom.h" #include "vm/JSScript.h" #include "vm/Scope.h" #include "vm/SharedImmutableStringsCache.h" #include "vm/Stack.h" #include "vm/Stopwatch.h" -#include "vm/Symbol.h" +#include "vm/SymbolType.h" #include "wasm/WasmSignalHandlers.h" #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable:4100) /* Silence unreferenced formal parameter warnings */ #endif namespace js {
--- a/js/src/vm/SavedStacks.cpp +++ b/js/src/vm/SavedStacks.cpp @@ -21,22 +21,22 @@ #include "gc/FreeOp.h" #include "gc/HashUtil.h" #include "gc/Marking.h" #include "gc/Policy.h" #include "gc/Rooting.h" #include "js/CharacterEncoding.h" #include "js/Vector.h" +#include "util/StringBuffer.h" #include "vm/Debugger.h" #include "vm/GeckoProfiler.h" #include "vm/JSCompartment.h" #include "vm/JSScript.h" #include "vm/SavedFrame.h" -#include "vm/StringBuffer.h" #include "vm/Time.h" #include "vm/WrapperObject.h" #include "vm/GeckoProfiler-inl.h" #include "vm/JSContext-inl.h" #include "vm/NativeObject-inl.h" #include "vm/Stack-inl.h"
--- a/js/src/vm/Scope.cpp +++ b/js/src/vm/Scope.cpp @@ -4,19 +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/. */ #include "vm/Scope.h" #include "builtin/ModuleObject.h" #include "gc/Allocator.h" #include "gc/FreeOp.h" +#include "util/StringBuffer.h" #include "vm/EnvironmentObject.h" #include "vm/JSScript.h" -#include "vm/StringBuffer.h" #include "wasm/WasmInstance.h" #include "gc/ObjectKind-inl.h" #include "vm/Shape-inl.h" using namespace js; using mozilla::Maybe;
--- 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 "jsstr.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" #include "builtin/intl/PluralRules.h" #include "builtin/intl/RelativeTimeFormat.h" @@ -27,38 +26,39 @@ #include "builtin/ModuleObject.h" #include "builtin/Object.h" #include "builtin/Promise.h" #include "builtin/Reflect.h" #include "builtin/RegExp.h" #include "builtin/SelfHostingDefines.h" #include "builtin/SIMD.h" #include "builtin/Stream.h" +#include "builtin/String.h" #include "builtin/TypedObject.h" #include "builtin/WeakMapObject.h" #include "gc/HashUtil.h" #include "gc/Marking.h" #include "gc/Policy.h" #include "jit/AtomicOperations.h" #include "jit/InlinableNatives.h" #include "js/CharacterEncoding.h" #include "js/Date.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/ArgumentsObject.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/StringType.h" #include "vm/TypedArrayObject.h" #include "vm/WrapperObject.h" #include "gc/PrivateIterators-inl.h" #include "vm/BooleanObject-inl.h" #include "vm/JSAtom-inl.h" #include "vm/JSFunction-inl.h" #include "vm/JSObject-inl.h"
--- a/js/src/vm/Shape.h +++ b/js/src/vm/Shape.h @@ -25,18 +25,18 @@ #include "gc/Rooting.h" #include "js/HashTable.h" #include "js/MemoryMetrics.h" #include "js/RootingAPI.h" #include "js/UbiNode.h" #include "vm/JSAtom.h" #include "vm/ObjectGroup.h" #include "vm/Printer.h" -#include "vm/String.h" -#include "vm/Symbol.h" +#include "vm/StringType.h" +#include "vm/SymbolType.h" #ifdef _MSC_VER #pragma warning(push) #pragma warning(disable:4800) #pragma warning(push) #pragma warning(disable:4100) /* Silence unreferenced formal parameter warnings */ #endif
--- a/js/src/vm/SharedImmutableStringsCache.cpp +++ b/js/src/vm/SharedImmutableStringsCache.cpp @@ -1,17 +1,17 @@ /* -*- 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 "vm/SharedImmutableStringsCache-inl.h" -#include "jsstr.h" +#include "builtin/String.h" namespace js { SharedImmutableString::SharedImmutableString( ExclusiveData<SharedImmutableStringsCache::Inner>::Guard& locked, SharedImmutableStringsCache::StringBox* box) : cache_(locked) , box_(box)
--- a/js/src/vm/SharedImmutableStringsCache.h +++ b/js/src/vm/SharedImmutableStringsCache.h @@ -8,17 +8,17 @@ #define vm_SharedImmutableStringsCache_h #include "mozilla/Maybe.h" #include "mozilla/UniquePtr.h" #include <cstring> #include <new> // for placement new -#include "jsstr.h" +#include "builtin/String.h" #include "js/HashTable.h" #include "js/Utility.h" #include "threading/ExclusiveData.h" #include "vm/MutexIDs.h"
--- a/js/src/vm/StringObject.h +++ b/js/src/vm/StringObject.h @@ -2,17 +2,17 @@ * 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 vm_StringObject_h #define vm_StringObject_h -#include "jsstr.h" +#include "builtin/String.h" #include "vm/JSObject.h" #include "vm/Shape.h" namespace js { class StringObject : public NativeObject {
rename from js/src/vm/String-inl.h rename to js/src/vm/StringType-inl.h --- a/js/src/vm/String-inl.h +++ b/js/src/vm/StringType-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 vm_String_inl_h -#define vm_String_inl_h +#ifndef vm_StringType_inl_h +#define vm_StringType_inl_h -#include "vm/String.h" +#include "vm/StringType.h" #include "mozilla/PodOperations.h" #include "mozilla/Range.h" #include "gc/Allocator.h" #include "gc/FreeOp.h" #include "gc/Marking.h" #include "vm/JSCompartment.h" @@ -423,9 +423,9 @@ JSExternalString::finalize(js::FreeOp* f fop->free_(nonInlineCharsRaw()); return; } const JSStringFinalizer* fin = externalFinalizer(); fin->finalize(fin, const_cast<char16_t*>(rawTwoByteChars())); } -#endif /* vm_String_inl_h */ +#endif /* vm_StringType_inl_h */
rename from js/src/vm/String.cpp rename to js/src/vm/StringType.cpp --- a/js/src/vm/String.cpp +++ b/js/src/vm/StringType.cpp @@ -1,15 +1,15 @@ /* -*- 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 "vm/String-inl.h" +#include "vm/StringType-inl.h" #include "mozilla/MathAlgorithms.h" #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" #include "mozilla/RangedPtr.h" #include "mozilla/TypeTraits.h" #include "mozilla/Unused.h"
rename from js/src/vm/String.h rename to js/src/vm/StringType.h --- a/js/src/vm/String.h +++ b/js/src/vm/StringType.h @@ -1,25 +1,25 @@ /* -*- 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 vm_String_h -#define vm_String_h +#ifndef vm_StringType_h +#define vm_StringType_h #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" #include "mozilla/Range.h" #include "jsapi.h" #include "jsfriendapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "gc/Barrier.h" #include "gc/Cell.h" #include "gc/Heap.h" #include "gc/Nursery.h" #include "gc/Rooting.h" #include "js/CharacterEncoding.h" #include "js/RootingAPI.h" @@ -1706,9 +1706,9 @@ template<> inline JSString* TenuredCell::as<JSString>() { MOZ_ASSERT(is<JSString>()); return reinterpret_cast<JSString*>(this); } } } -#endif /* vm_String_h */ +#endif /* vm_StringType_h */
rename from js/src/vm/Symbol.cpp rename to js/src/vm/SymbolType.cpp --- a/js/src/vm/Symbol.cpp +++ b/js/src/vm/SymbolType.cpp @@ -1,22 +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 "vm/Symbol.h" +#include "vm/SymbolType.h" -#include "builtin/SymbolObject.h" +#include "builtin/Symbol.h" #include "gc/Allocator.h" #include "gc/Rooting.h" +#include "util/StringBuffer.h" #include "vm/JSCompartment.h" #include "vm/JSContext.h" -#include "vm/StringBuffer.h" #include "vm/JSCompartment-inl.h" using JS::Symbol; using namespace js; Symbol* Symbol::newInternal(JSContext* cx, JS::SymbolCode code, uint32_t hash, JSAtom* description,
rename from js/src/vm/Symbol.h rename to js/src/vm/SymbolType.h --- a/js/src/vm/Symbol.h +++ b/js/src/vm/SymbolType.h @@ -1,32 +1,32 @@ /* -*- 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 vm_Symbol_h -#define vm_Symbol_h +#ifndef vm_SymbolType_h +#define vm_SymbolType_h #include "mozilla/Attributes.h" #include <stdio.h> #include "jsapi.h" #include "gc/Barrier.h" #include "gc/Tracer.h" #include "js/AllocPolicy.h" #include "js/GCHashTable.h" #include "js/RootingAPI.h" #include "js/TypeDecls.h" #include "js/Utility.h" #include "vm/Printer.h" -#include "vm/String.h" +#include "vm/StringType.h" namespace js { class AutoLockForExclusiveAccess; } // namespace js namespace JS { class Symbol : public js::gc::TenuredCell @@ -142,9 +142,9 @@ class SymbolRegistry : public GCHashSet< }; // ES6 rev 27 (2014 Aug 24) 19.4.3.3 bool SymbolDescriptiveString(JSContext* cx, JS::Symbol* sym, JS::MutableHandleValue result); } /* namespace js */ -#endif /* vm_Symbol_h */ +#endif /* vm_SymbolType_h */
--- a/js/src/vm/TraceLoggingGraph.cpp +++ b/js/src/vm/TraceLoggingGraph.cpp @@ -12,17 +12,17 @@ #else #include <unistd.h> #endif #include "mozilla/EndianUtils.h" #include "mozilla/MemoryReporting.h" #include "mozilla/ScopeExit.h" -#include "jsstr.h" +#include "builtin/String.h" #include "js/UniquePtr.h" #include "threading/LockGuard.h" #include "threading/Thread.h" #include "vm/TraceLogging.h" #ifndef DEFAULT_TRACE_LOG_DIR # if defined(_WIN32)
--- a/js/src/vm/TraceLoggingTypes.h +++ b/js/src/vm/TraceLoggingTypes.h @@ -2,17 +2,17 @@ * 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 TraceLoggingTypes_h #define TraceLoggingTypes_h -#include "jsstr.h" +#include "builtin/String.h" #include "js/AllocPolicy.h" // Tree items, meaning they have a start and stop and form a nested tree. #define TRACELOGGER_TREE_ITEMS(_) \ _(AnnotateScripts) \ _(Baseline) \ _(BaselineCompilation) \
--- a/js/src/vm/TypeInference-inl.h +++ b/js/src/vm/TypeInference-inl.h @@ -10,17 +10,17 @@ #define vm_TypeInference_inl_h #include "vm/TypeInference.h" #include "mozilla/BinarySearch.h" #include "mozilla/Casting.h" #include "mozilla/PodOperations.h" -#include "builtin/SymbolObject.h" +#include "builtin/Symbol.h" #include "gc/GC.h" #include "jit/BaselineJIT.h" #include "vm/ArrayObject.h" #include "vm/BooleanObject.h" #include "vm/NumberObject.h" #include "vm/SharedArrayObject.h" #include "vm/StringObject.h" #include "vm/TypedArrayObject.h"
--- a/js/src/vm/TypeInference.cpp +++ b/js/src/vm/TypeInference.cpp @@ -8,17 +8,17 @@ #include "mozilla/DebugOnly.h" #include "mozilla/IntegerPrintfMacros.h" #include "mozilla/MemoryReporting.h" #include "mozilla/PodOperations.h" #include "mozilla/Sprintf.h" #include "jsapi.h" -#include "jsstr.h" +#include "builtin/String.h" #include "gc/HashUtil.h" #include "jit/BaselineJIT.h" #include "jit/CompileInfo.h" #include "jit/Ion.h" #include "jit/IonAnalysis.h" #include "jit/JitCompartment.h" #include "jit/OptimizationTracking.h"
--- a/js/src/vm/UbiNode.cpp +++ b/js/src/vm/UbiNode.cpp @@ -8,34 +8,34 @@ #include "mozilla/Assertions.h" #include "mozilla/Attributes.h" #include "mozilla/Range.h" #include "mozilla/Scoped.h" #include <algorithm> -#include "jsstr.h" +#include "builtin/String.h" #include "jit/IonCode.h" #include "js/Debug.h" #include "js/TracingAPI.h" #include "js/TypeDecls.h" #include "js/Utility.h" #include "js/Vector.h" #include "vm/Debugger.h" #include "vm/EnvironmentObject.h" #include "vm/GlobalObject.h" #include "vm/JSContext.h" #include "vm/JSObject.h" #include "vm/JSScript.h" #include "vm/Scope.h" #include "vm/Shape.h" -#include "vm/String.h" -#include "vm/Symbol.h" +#include "vm/StringType.h" +#include "vm/SymbolType.h" #include "vm/Debugger-inl.h" #include "vm/JSObject-inl.h" using namespace js; using mozilla::RangedPtr; using JS::DispatchTyped;
--- a/js/src/vm/UbiNodeShortestPaths.cpp +++ b/js/src/vm/UbiNodeShortestPaths.cpp @@ -4,17 +4,17 @@ * 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 "js/UbiNodeShortestPaths.h" #include "mozilla/Maybe.h" #include "mozilla/Move.h" -#include "jsstr.h" +#include "builtin/String.h" namespace JS { namespace ubi { JS_PUBLIC_API(BackEdge::Ptr) BackEdge::clone() const { BackEdge::Ptr clone(js_new<BackEdge>());
--- a/js/src/wasm/AsmJS.cpp +++ b/js/src/wasm/AsmJS.cpp @@ -19,29 +19,29 @@ #include "wasm/AsmJS.h" #include "mozilla/Attributes.h" #include "mozilla/Compression.h" #include "mozilla/MathAlgorithms.h" #include "mozilla/Unused.h" #include "jsmath.h" -#include "jsstr.h" #include "jsutil.h" #include "builtin/SIMD.h" +#include "builtin/String.h" #include "frontend/Parser.h" #include "gc/Policy.h" #include "jit/AtomicOperations.h" #include "js/MemoryMetrics.h" #include "js/Printf.h" #include "js/Wrapper.h" +#include "util/StringBuffer.h" #include "vm/ErrorReporting.h" #include "vm/SelfHosting.h" -#include "vm/StringBuffer.h" #include "vm/Time.h" #include "vm/TypedArrayObject.h" #include "wasm/WasmCompile.h" #include "wasm/WasmGenerator.h" #include "wasm/WasmInstance.h" #include "wasm/WasmIonCompile.h" #include "wasm/WasmJS.h" #include "wasm/WasmSerialize.h"
--- a/js/src/wasm/WasmBinaryToText.cpp +++ b/js/src/wasm/WasmBinaryToText.cpp @@ -15,18 +15,18 @@ * See the License for the specific language governing permissions and * limitations under the License. */ #include "wasm/WasmBinaryToText.h" #include "jsnum.h" +#include "util/StringBuffer.h" #include "vm/ArrayBufferObject.h" -#include "vm/StringBuffer.h" #include "wasm/WasmAST.h" #include "wasm/WasmBinaryToAST.h" #include "wasm/WasmDebug.h" #include "wasm/WasmTextUtils.h" #include "wasm/WasmTypes.h" using namespace js; using namespace js::wasm;
--- a/js/src/wasm/WasmDebug.cpp +++ b/js/src/wasm/WasmDebug.cpp @@ -19,18 +19,18 @@ #include "wasm/WasmDebug.h" #include "mozilla/BinarySearch.h" #include "ds/Sort.h" #include "gc/FreeOp.h" #include "jit/ExecutableAllocator.h" #include "jit/MacroAssembler.h" +#include "util/StringBuffer.h" #include "vm/Debugger.h" -#include "vm/StringBuffer.h" #include "wasm/WasmBinaryToText.h" #include "wasm/WasmInstance.h" #include "wasm/WasmValidate.h" using namespace js; using namespace js::jit; using namespace js::wasm;
--- a/js/src/wasm/WasmJS.cpp +++ b/js/src/wasm/WasmJS.cpp @@ -23,19 +23,19 @@ #include "mozilla/Maybe.h" #include "mozilla/RangedPtr.h" #include "builtin/Promise.h" #include "gc/FreeOp.h" #include "jit/AtomicOperations.h" #include "jit/JitOptions.h" #include "js/Printf.h" +#include "util/StringBuffer.h" #include "vm/Interpreter.h" -#include "vm/String.h" -#include "vm/StringBuffer.h" +#include "vm/StringType.h" #include "wasm/WasmBaselineCompile.h" #include "wasm/WasmCompile.h" #include "wasm/WasmInstance.h" #include "wasm/WasmIonCompile.h" #include "wasm/WasmModule.h" #include "wasm/WasmSignalHandlers.h" #include "wasm/WasmStubs.h" #include "wasm/WasmValidate.h"
--- a/js/src/wasm/WasmTextToBinary.cpp +++ b/js/src/wasm/WasmTextToBinary.cpp @@ -18,18 +18,18 @@ #include "wasm/WasmTextToBinary.h" #include "mozilla/CheckedInt.h" #include "mozilla/MathAlgorithms.h" #include "mozilla/Maybe.h" #include "jsnum.h" -#include "jsstr.h" - + +#include "builtin/String.h" #include "ds/LifoAlloc.h" #include "js/CharacterEncoding.h" #include "js/HashTable.h" #include "js/Printf.h" #include "util/DoubleToString.h" #include "wasm/WasmAST.h" #include "wasm/WasmTypes.h" #include "wasm/WasmValidate.h"
--- a/js/src/wasm/WasmTextUtils.cpp +++ b/js/src/wasm/WasmTextUtils.cpp @@ -13,17 +13,17 @@ * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ #include "wasm/WasmTextUtils.h" -#include "vm/StringBuffer.h" +#include "util/StringBuffer.h" #include "wasm/WasmTypes.h" using namespace js; using namespace jit; using namespace wasm; using mozilla::IsNaN;
--- a/js/src/wasm/WasmTextUtils.h +++ b/js/src/wasm/WasmTextUtils.h @@ -16,17 +16,17 @@ * limitations under the License. */ #ifndef wasm_text_utils #define wasm_text_utils #include "NamespaceImports.h" -#include "vm/StringBuffer.h" +#include "util/StringBuffer.h" namespace js { namespace wasm { template<size_t base> MOZ_MUST_USE bool RenderInBase(StringBuffer& sb, uint64_t num);