author | Jeff Walden <jwalden@mit.edu> |
Thu, 12 Dec 2019 23:44:22 +0000 | |
changeset 506777 | 39780bffc015be48247b7a9584005d251938b75c |
parent 506776 | e68519117ace07eabee7e527d8e8f6f7f1be0225 |
child 506778 | 46d18d723c883bbb580cf029bb18d75227243718 |
push id | 36912 |
push user | nbeleuzu@mozilla.com |
push date | Fri, 13 Dec 2019 09:46:53 +0000 |
treeherder | mozilla-central@d1ac49b9eb3e [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | sfink |
bugs | 1598507 |
milestone | 73.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/Boolean.h +++ b/js/src/builtin/Boolean.h @@ -1,23 +1,23 @@ /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- * vim: set ts=8 sts=2 et sw=2 tw=80: * 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 boolean interface. */ + #ifndef builtin_Boolean_h #define builtin_Boolean_h -/* - * JS boolean interface. - */ +#include "jstypes.h" // JS_PUBLIC_API -struct JSContext; -class JSString; +struct JS_PUBLIC_API JSContext; +class JS_PUBLIC_API JSString; namespace js { extern JSString* BooleanToString(JSContext* cx, bool b); } // namespace js #endif /* builtin_Boolean_h */
--- a/js/src/builtin/intl/LanguageTag.h +++ b/js/src/builtin/intl/LanguageTag.h @@ -23,20 +23,20 @@ #include "js/AllocPolicy.h" #include "js/GCAPI.h" #include "js/Result.h" #include "js/RootingAPI.h" #include "js/Utility.h" #include "js/Vector.h" -struct JSContext; +struct JS_PUBLIC_API JSContext; class JSLinearString; -class JSString; -class JSTracer; +class JS_PUBLIC_API JSString; +class JS_PUBLIC_API JSTracer; namespace js { namespace intl { /** * Return true if |language| is a valid language subtag. */
--- a/js/src/builtin/streams/WritableStream-inl.h +++ b/js/src/builtin/streams/WritableStream-inl.h @@ -9,24 +9,26 @@ #ifndef builtin_streams_WritableStream_inl_h #define builtin_streams_WritableStream_inl_h #include "builtin/streams/WritableStream.h" #include "mozilla/Assertions.h" // MOZ_ASSERT #include "mozilla/Attributes.h" // MOZ_MUST_USE +#include "jstypes.h" // JS_PUBLIC_API + #include "builtin/Promise.h" // js::PromiseObject #include "builtin/streams/WritableStreamDefaultWriter.h" // js::WritableStreamDefaultWriter #include "js/RootingAPI.h" // JS::Handle #include "js/Value.h" // JS::{,Object}Value #include "vm/Compartment-inl.h" // js::UnwrapInternalSlot -struct JSContext; +struct JS_PUBLIC_API JSContext; namespace js { /** * Returns the writer associated with the given stream. * * Must only be called on WritableStreams that already have a writer * associated with them.
--- a/js/src/frontend/BinASTRuntimeSupport.h +++ b/js/src/frontend/BinASTRuntimeSupport.h @@ -20,17 +20,17 @@ #include "js/AllocPolicy.h" // SystemAllocPolicy #include "js/HashTable.h" // HashMap, HashNumber #include "js/Result.h" // JS::Result #include "js/TracingAPI.h" // JSTracer #include "js/UniquePtr.h" // UniquePtr #include "js/Vector.h" // Vector class JSAtom; -struct JSContext; +struct JS_PUBLIC_API JSContext; namespace js { class ScriptSource; // Support for parsing JS Binary ASTs. struct BinaryASTSupport { using BinASTVariant = js::frontend::BinASTVariant;
--- a/js/src/jsapi-tests/testScriptSourceCompression.cpp +++ b/js/src/jsapi-tests/testScriptSourceCompression.cpp @@ -10,16 +10,17 @@ #include "mozilla/Utf8.h" // mozilla::Utf8Unit #include <algorithm> // std::all_of, std::equal, std::move, std::transform #include <memory> // std::uninitialized_fill_n #include <stddef.h> // size_t #include <stdint.h> // uint32_t #include "jsapi.h" // JS_EnsureLinearString, JS_GC, JS_Get{Latin1,TwoByte}LinearStringChars, JS_GetStringLength, JS_ValueToFunction +#include "jstypes.h" // JS_PUBLIC_API #include "js/CompilationAndEvaluation.h" // JS::Evaluate{,DontInflate} #include "js/CompileOptions.h" // JS::CompileOptions #include "js/Conversions.h" // JS::ToString #include "js/MemoryFunctions.h" // JS_malloc #include "js/RootingAPI.h" // JS::MutableHandle, JS::Rooted #include "js/SourceText.h" // JS::SourceOwnership, JS::SourceText #include "js/UniquePtr.h" // js::UniquePtr @@ -28,18 +29,18 @@ #include "jsapi-tests/tests.h" #include "vm/Compression.h" // js::Compressor::CHUNK_SIZE #include "vm/JSFunction.h" // JSFunction::getOrCreateScript #include "vm/JSScript.h" // JSScript, js::ScriptSource::MinimumCompressibleLength, js::SynchronouslyCompressSource using mozilla::ArrayLength; using mozilla::Utf8Unit; -struct JSContext; -class JSString; +struct JS_PUBLIC_API JSContext; +class JS_PUBLIC_API JSString; template <typename Unit> using Source = js::UniquePtr<Unit[], JS::FreePolicy>; constexpr size_t ChunkSize = js::Compressor::CHUNK_SIZE; constexpr size_t MinimumCompressibleLength = js::ScriptSource::MinimumCompressibleLength;
--- a/js/src/vm/JSContext.h +++ b/js/src/vm/JSContext.h @@ -6,32 +6,36 @@ /* JS execution context. */ #ifndef vm_JSContext_h #define vm_JSContext_h #include "mozilla/MemoryReporting.h" +#include "jstypes.h" // JS_PUBLIC_API + #include "ds/TraceableFifo.h" #include "gc/Memory.h" #include "js/CharacterEncoding.h" #include "js/ContextOptions.h" // JS::ContextOptions #include "js/GCVector.h" #include "js/Promise.h" #include "js/Result.h" #include "js/Utility.h" #include "js/Vector.h" #include "threading/ProtectedData.h" #include "util/StructuredSpewer.h" #include "vm/Activation.h" // js::Activation #include "vm/ErrorReporting.h" #include "vm/MallocProvider.h" #include "vm/Runtime.h" +struct JS_PUBLIC_API JSContext; + struct DtoaState; namespace js { class AutoAllocInAtomsZone; class AutoMaybeLeaveAtomsZone; class AutoRealm; @@ -142,18 +146,18 @@ enum class InterruptReason : uint32_t { }; } /* namespace js */ /* * A JSContext encapsulates the thread local state used when using the JS * runtime. */ -struct JSContext : public JS::RootingContext, - public js::MallocProvider<JSContext> { +struct JS_PUBLIC_API JSContext : public JS::RootingContext, + public js::MallocProvider<JSContext> { JSContext(JSRuntime* runtime, const JS::ContextOptions& options); ~JSContext(); bool init(js::ContextKind kind); private: js::UnprotectedData<JSRuntime*> runtime_; js::WriteOnceData<js::ContextKind> kind_;