node-bin-darwin-arm64 16.4.2 → 16.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +321 -5
- package/LICENSE +2 -25
- package/README.md +34 -18
- package/bin/node +0 -0
- package/include/node/common.gypi +1 -1
- package/include/node/config.gypi +255 -0
- package/include/node/libplatform/libplatform-export.h +29 -0
- package/include/node/libplatform/libplatform.h +117 -0
- package/include/node/libplatform/v8-tracing.h +334 -0
- package/include/node/node_version.h +2 -2
- package/include/node/v8-internal.h +48 -14
- package/include/node/v8-profiler.h +11 -4
- package/include/node/v8-version.h +3 -3
- package/include/node/v8.h +122 -42
- package/include/node/v8config.h +4 -10
- package/package.json +1 -1
- package/share/man/man1/node.1 +4 -6
package/include/node/v8.h
CHANGED
|
@@ -596,7 +596,7 @@ template <class T> class PersistentBase {
|
|
|
596
596
|
*/
|
|
597
597
|
V8_INLINE uint16_t WrapperClassId() const;
|
|
598
598
|
|
|
599
|
-
PersistentBase(const PersistentBase& other) = delete;
|
|
599
|
+
PersistentBase(const PersistentBase& other) = delete;
|
|
600
600
|
void operator=(const PersistentBase&) = delete;
|
|
601
601
|
|
|
602
602
|
private:
|
|
@@ -708,7 +708,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
|
|
|
708
708
|
return *this;
|
|
709
709
|
}
|
|
710
710
|
template <class S, class M2>
|
|
711
|
-
V8_INLINE Persistent& operator=(const Persistent<S, M2>& that) {
|
|
711
|
+
V8_INLINE Persistent& operator=(const Persistent<S, M2>& that) {
|
|
712
712
|
Copy(that);
|
|
713
713
|
return *this;
|
|
714
714
|
}
|
|
@@ -723,7 +723,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
|
|
|
723
723
|
|
|
724
724
|
// TODO(dcarney): this is pretty useless, fix or remove
|
|
725
725
|
template <class S>
|
|
726
|
-
V8_INLINE static Persistent<T>& Cast(const Persistent<S>& that) {
|
|
726
|
+
V8_INLINE static Persistent<T>& Cast(const Persistent<S>& that) {
|
|
727
727
|
#ifdef V8_ENABLE_CHECKS
|
|
728
728
|
// If we're going to perform the type check then we have to check
|
|
729
729
|
// that the handle isn't empty before doing the checked cast.
|
|
@@ -734,7 +734,7 @@ template <class T, class M> class Persistent : public PersistentBase<T> {
|
|
|
734
734
|
|
|
735
735
|
// TODO(dcarney): this is pretty useless, fix or remove
|
|
736
736
|
template <class S>
|
|
737
|
-
V8_INLINE Persistent<S>& As() const {
|
|
737
|
+
V8_INLINE Persistent<S>& As() const {
|
|
738
738
|
return Persistent<S>::Cast(*this);
|
|
739
739
|
}
|
|
740
740
|
|
|
@@ -803,7 +803,7 @@ class Global : public PersistentBase<T> {
|
|
|
803
803
|
/**
|
|
804
804
|
* Pass allows returning uniques from functions, etc.
|
|
805
805
|
*/
|
|
806
|
-
Global Pass() { return static_cast<Global&&>(*this); }
|
|
806
|
+
Global Pass() { return static_cast<Global&&>(*this); }
|
|
807
807
|
|
|
808
808
|
/*
|
|
809
809
|
* For compatibility with Chromium's base::Bind (base::Passed).
|
|
@@ -905,8 +905,8 @@ class TracedReferenceBase {
|
|
|
905
905
|
* The exact semantics are:
|
|
906
906
|
* - Tracing garbage collections use |v8::EmbedderHeapTracer| or cppgc.
|
|
907
907
|
* - Non-tracing garbage collections refer to
|
|
908
|
-
* |v8::
|
|
909
|
-
*
|
|
908
|
+
* |v8::EmbedderRootsHandler::IsRoot()| whether the handle should
|
|
909
|
+
* be treated as root or not.
|
|
910
910
|
*
|
|
911
911
|
* Note that the base class cannot be instantiated itself. Choose from
|
|
912
912
|
* - TracedGlobal
|
|
@@ -1678,10 +1678,12 @@ class V8_EXPORT Module : public Data {
|
|
|
1678
1678
|
/**
|
|
1679
1679
|
* Evaluates the module and its dependencies.
|
|
1680
1680
|
*
|
|
1681
|
-
* If status is kInstantiated, run the module's code
|
|
1682
|
-
*
|
|
1683
|
-
*
|
|
1684
|
-
*
|
|
1681
|
+
* If status is kInstantiated, run the module's code and return a Promise
|
|
1682
|
+
* object. On success, set status to kEvaluated and resolve the Promise with
|
|
1683
|
+
* the completion value; on failure, set status to kErrored and reject the
|
|
1684
|
+
* Promise with the error.
|
|
1685
|
+
*
|
|
1686
|
+
* If IsGraphAsync() is false, the returned Promise is settled.
|
|
1685
1687
|
*/
|
|
1686
1688
|
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Evaluate(Local<Context> context);
|
|
1687
1689
|
|
|
@@ -3282,7 +3284,7 @@ class V8_EXPORT String : public Name {
|
|
|
3282
3284
|
*/
|
|
3283
3285
|
bool IsExternalOneByte() const;
|
|
3284
3286
|
|
|
3285
|
-
class V8_EXPORT ExternalStringResourceBase {
|
|
3287
|
+
class V8_EXPORT ExternalStringResourceBase {
|
|
3286
3288
|
public:
|
|
3287
3289
|
virtual ~ExternalStringResourceBase() = default;
|
|
3288
3290
|
|
|
@@ -3633,6 +3635,7 @@ class V8_EXPORT Symbol : public Name {
|
|
|
3633
3635
|
* Returns the description string of the symbol, or undefined if none.
|
|
3634
3636
|
*/
|
|
3635
3637
|
Local<Value> Description() const;
|
|
3638
|
+
Local<Value> Description(Isolate* isolate) const;
|
|
3636
3639
|
|
|
3637
3640
|
V8_DEPRECATED("Use Symbol::Description()")
|
|
3638
3641
|
Local<Value> Name() const { return Description(); }
|
|
@@ -3986,8 +3989,7 @@ class V8_EXPORT Object : public Value {
|
|
|
3986
3989
|
//
|
|
3987
3990
|
// Returns true on success.
|
|
3988
3991
|
V8_WARN_UNUSED_RESULT Maybe<bool> DefineProperty(
|
|
3989
|
-
Local<Context> context, Local<Name> key,
|
|
3990
|
-
PropertyDescriptor& descriptor); // NOLINT(runtime/references)
|
|
3992
|
+
Local<Context> context, Local<Name> key, PropertyDescriptor& descriptor);
|
|
3991
3993
|
|
|
3992
3994
|
V8_WARN_UNUSED_RESULT MaybeLocal<Value> Get(Local<Context> context,
|
|
3993
3995
|
Local<Value> key);
|
|
@@ -5364,7 +5366,7 @@ class V8_EXPORT ArrayBuffer : public Object {
|
|
|
5364
5366
|
* Note that it is unsafe to call back into V8 from any of the allocator
|
|
5365
5367
|
* functions.
|
|
5366
5368
|
*/
|
|
5367
|
-
class V8_EXPORT Allocator {
|
|
5369
|
+
class V8_EXPORT Allocator {
|
|
5368
5370
|
public:
|
|
5369
5371
|
virtual ~Allocator() = default;
|
|
5370
5372
|
|
|
@@ -6756,6 +6758,15 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
|
6756
6758
|
SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
|
|
6757
6759
|
const CFunction* c_function = nullptr);
|
|
6758
6760
|
|
|
6761
|
+
/** Creates a function template for multiple overloaded fast API calls.*/
|
|
6762
|
+
static Local<FunctionTemplate> NewWithCFunctionOverloads(
|
|
6763
|
+
Isolate* isolate, FunctionCallback callback = nullptr,
|
|
6764
|
+
Local<Value> data = Local<Value>(),
|
|
6765
|
+
Local<Signature> signature = Local<Signature>(), int length = 0,
|
|
6766
|
+
ConstructorBehavior behavior = ConstructorBehavior::kAllow,
|
|
6767
|
+
SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
|
|
6768
|
+
const MemorySpan<const CFunction>& c_function_overloads = {});
|
|
6769
|
+
|
|
6759
6770
|
/**
|
|
6760
6771
|
* Creates a function template backed/cached by a private property.
|
|
6761
6772
|
*/
|
|
@@ -6787,7 +6798,7 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
|
6787
6798
|
void SetCallHandler(
|
|
6788
6799
|
FunctionCallback callback, Local<Value> data = Local<Value>(),
|
|
6789
6800
|
SideEffectType side_effect_type = SideEffectType::kHasSideEffect,
|
|
6790
|
-
const CFunction
|
|
6801
|
+
const MemorySpan<const CFunction>& c_function_overloads = {});
|
|
6791
6802
|
|
|
6792
6803
|
/** Set the predefined length property for the FunctionTemplate. */
|
|
6793
6804
|
void SetLength(int length);
|
|
@@ -6848,6 +6859,15 @@ class V8_EXPORT FunctionTemplate : public Template {
|
|
|
6848
6859
|
*/
|
|
6849
6860
|
bool HasInstance(Local<Value> object);
|
|
6850
6861
|
|
|
6862
|
+
/**
|
|
6863
|
+
* Returns true if the given value is an API object that was constructed by an
|
|
6864
|
+
* instance of this function template (without checking for inheriting
|
|
6865
|
+
* function templates).
|
|
6866
|
+
*
|
|
6867
|
+
* This is an experimental feature and may still change significantly.
|
|
6868
|
+
*/
|
|
6869
|
+
bool IsLeafTemplateForApiObject(v8::Local<v8::Value> value) const;
|
|
6870
|
+
|
|
6851
6871
|
V8_INLINE static FunctionTemplate* Cast(Data* data);
|
|
6852
6872
|
|
|
6853
6873
|
private:
|
|
@@ -7281,7 +7301,7 @@ class V8_EXPORT AccessorSignature : public Data {
|
|
|
7281
7301
|
/**
|
|
7282
7302
|
* Ignore
|
|
7283
7303
|
*/
|
|
7284
|
-
class V8_EXPORT Extension {
|
|
7304
|
+
class V8_EXPORT Extension {
|
|
7285
7305
|
public:
|
|
7286
7306
|
// Note that the strings passed into this constructor must live as long
|
|
7287
7307
|
// as the Extension itself.
|
|
@@ -7383,6 +7403,11 @@ class V8_EXPORT ResourceConstraints {
|
|
|
7383
7403
|
/**
|
|
7384
7404
|
* The amount of virtual memory reserved for generated code. This is relevant
|
|
7385
7405
|
* for 64-bit architectures that rely on code range for calls in code.
|
|
7406
|
+
*
|
|
7407
|
+
* When V8_COMPRESS_POINTERS_IN_SHARED_CAGE is defined, there is a shared
|
|
7408
|
+
* process-wide code range that is lazily initialized. This value is used to
|
|
7409
|
+
* configure that shared code range when the first Isolate is
|
|
7410
|
+
* created. Subsequent Isolates ignore this value.
|
|
7386
7411
|
*/
|
|
7387
7412
|
size_t code_range_size_in_bytes() const { return code_range_size_; }
|
|
7388
7413
|
void set_code_range_size_in_bytes(size_t limit) { code_range_size_ = limit; }
|
|
@@ -7832,6 +7857,10 @@ using WasmSimdEnabledCallback = bool (*)(Local<Context> context);
|
|
|
7832
7857
|
// --- Callback for checking if WebAssembly exceptions are enabled ---
|
|
7833
7858
|
using WasmExceptionsEnabledCallback = bool (*)(Local<Context> context);
|
|
7834
7859
|
|
|
7860
|
+
// --- Callback for checking if the SharedArrayBuffer constructor is enabled ---
|
|
7861
|
+
using SharedArrayBufferConstructorEnabledCallback =
|
|
7862
|
+
bool (*)(Local<Context> context);
|
|
7863
|
+
|
|
7835
7864
|
// --- Garbage Collection Callbacks ---
|
|
7836
7865
|
|
|
7837
7866
|
/**
|
|
@@ -8153,17 +8182,16 @@ using UnhandledExceptionCallback =
|
|
|
8153
8182
|
/**
|
|
8154
8183
|
* Interface for iterating through all external resources in the heap.
|
|
8155
8184
|
*/
|
|
8156
|
-
class V8_EXPORT ExternalResourceVisitor {
|
|
8185
|
+
class V8_EXPORT ExternalResourceVisitor {
|
|
8157
8186
|
public:
|
|
8158
8187
|
virtual ~ExternalResourceVisitor() = default;
|
|
8159
8188
|
virtual void VisitExternalString(Local<String> string) {}
|
|
8160
8189
|
};
|
|
8161
8190
|
|
|
8162
|
-
|
|
8163
8191
|
/**
|
|
8164
8192
|
* Interface for iterating through all the persistent handles in the heap.
|
|
8165
8193
|
*/
|
|
8166
|
-
class V8_EXPORT PersistentHandleVisitor {
|
|
8194
|
+
class V8_EXPORT PersistentHandleVisitor {
|
|
8167
8195
|
public:
|
|
8168
8196
|
virtual ~PersistentHandleVisitor() = default;
|
|
8169
8197
|
virtual void VisitPersistentHandle(Persistent<Value>* value,
|
|
@@ -8180,6 +8208,45 @@ class V8_EXPORT PersistentHandleVisitor { // NOLINT
|
|
|
8180
8208
|
*/
|
|
8181
8209
|
enum class MemoryPressureLevel { kNone, kModerate, kCritical };
|
|
8182
8210
|
|
|
8211
|
+
/**
|
|
8212
|
+
* Handler for embedder roots on non-unified heap garbage collections.
|
|
8213
|
+
*/
|
|
8214
|
+
class V8_EXPORT EmbedderRootsHandler {
|
|
8215
|
+
public:
|
|
8216
|
+
virtual ~EmbedderRootsHandler() = default;
|
|
8217
|
+
|
|
8218
|
+
/**
|
|
8219
|
+
* Returns true if the TracedGlobal handle should be considered as root for
|
|
8220
|
+
* the currently running non-tracing garbage collection and false otherwise.
|
|
8221
|
+
* The default implementation will keep all TracedGlobal references as roots.
|
|
8222
|
+
*
|
|
8223
|
+
* If this returns false, then V8 may decide that the object referred to by
|
|
8224
|
+
* such a handle is reclaimed. In that case:
|
|
8225
|
+
* - No action is required if handles are used with destructors, i.e., by just
|
|
8226
|
+
* using |TracedGlobal|.
|
|
8227
|
+
* - When run without destructors, i.e., by using |TracedReference|, V8 calls
|
|
8228
|
+
* |ResetRoot|.
|
|
8229
|
+
*
|
|
8230
|
+
* Note that the |handle| is different from the handle that the embedder holds
|
|
8231
|
+
* for retaining the object. The embedder may use |WrapperClassId()| to
|
|
8232
|
+
* distinguish cases where it wants handles to be treated as roots from not
|
|
8233
|
+
* being treated as roots.
|
|
8234
|
+
*/
|
|
8235
|
+
virtual bool IsRoot(const v8::TracedReference<v8::Value>& handle) = 0;
|
|
8236
|
+
virtual bool IsRoot(const v8::TracedGlobal<v8::Value>& handle) = 0;
|
|
8237
|
+
|
|
8238
|
+
/**
|
|
8239
|
+
* Used in combination with |IsRoot|. Called by V8 when an
|
|
8240
|
+
* object that is backed by a handle is reclaimed by a non-tracing garbage
|
|
8241
|
+
* collection. It is up to the embedder to reset the original handle.
|
|
8242
|
+
*
|
|
8243
|
+
* Note that the |handle| is different from the handle that the embedder holds
|
|
8244
|
+
* for retaining the object. It is up to the embedder to find the original
|
|
8245
|
+
* handle via the object or class id.
|
|
8246
|
+
*/
|
|
8247
|
+
virtual void ResetRoot(const v8::TracedReference<v8::Value>& handle) = 0;
|
|
8248
|
+
};
|
|
8249
|
+
|
|
8183
8250
|
/**
|
|
8184
8251
|
* Interface for tracing through the embedder heap. During a V8 garbage
|
|
8185
8252
|
* collection, V8 collects hidden fields of all potential wrappers, and at the
|
|
@@ -8242,6 +8309,9 @@ class V8_EXPORT EmbedderHeapTracer {
|
|
|
8242
8309
|
/**
|
|
8243
8310
|
* Called by the embedder to notify V8 of an empty execution stack.
|
|
8244
8311
|
*/
|
|
8312
|
+
V8_DEPRECATE_SOON(
|
|
8313
|
+
"This call only optimized internal caches which V8 is able to figure out "
|
|
8314
|
+
"on its own now.")
|
|
8245
8315
|
void NotifyEmptyEmbedderStack();
|
|
8246
8316
|
|
|
8247
8317
|
/**
|
|
@@ -8305,34 +8375,14 @@ class V8_EXPORT EmbedderHeapTracer {
|
|
|
8305
8375
|
void FinalizeTracing();
|
|
8306
8376
|
|
|
8307
8377
|
/**
|
|
8308
|
-
*
|
|
8309
|
-
* the currently running non-tracing garbage collection and false otherwise.
|
|
8310
|
-
* The default implementation will keep all TracedGlobal references as roots.
|
|
8311
|
-
*
|
|
8312
|
-
* If this returns false, then V8 may decide that the object referred to by
|
|
8313
|
-
* such a handle is reclaimed. In that case:
|
|
8314
|
-
* - No action is required if handles are used with destructors, i.e., by just
|
|
8315
|
-
* using |TracedGlobal|.
|
|
8316
|
-
* - When run without destructors, i.e., by using
|
|
8317
|
-
* |TracedReference|, V8 calls |ResetHandleInNonTracingGC|.
|
|
8318
|
-
*
|
|
8319
|
-
* Note that the |handle| is different from the handle that the embedder holds
|
|
8320
|
-
* for retaining the object. The embedder may use |WrapperClassId()| to
|
|
8321
|
-
* distinguish cases where it wants handles to be treated as roots from not
|
|
8322
|
-
* being treated as roots.
|
|
8378
|
+
* See documentation on EmbedderRootsHandler.
|
|
8323
8379
|
*/
|
|
8324
8380
|
virtual bool IsRootForNonTracingGC(
|
|
8325
8381
|
const v8::TracedReference<v8::Value>& handle);
|
|
8326
8382
|
virtual bool IsRootForNonTracingGC(const v8::TracedGlobal<v8::Value>& handle);
|
|
8327
8383
|
|
|
8328
8384
|
/**
|
|
8329
|
-
*
|
|
8330
|
-
* object that is backed by a handle is reclaimed by a non-tracing garbage
|
|
8331
|
-
* collection. It is up to the embedder to reset the original handle.
|
|
8332
|
-
*
|
|
8333
|
-
* Note that the |handle| is different from the handle that the embedder holds
|
|
8334
|
-
* for retaining the object. It is up to the embedder to find the original
|
|
8335
|
-
* handle via the object or class id.
|
|
8385
|
+
* See documentation on EmbedderRootsHandler.
|
|
8336
8386
|
*/
|
|
8337
8387
|
virtual void ResetHandleInNonTracingGC(
|
|
8338
8388
|
const v8::TracedReference<v8::Value>& handle);
|
|
@@ -8791,6 +8841,7 @@ class V8_EXPORT Isolate {
|
|
|
8791
8841
|
kWasmBulkMemory = 109, // Unused.
|
|
8792
8842
|
kWasmMultiValue = 110,
|
|
8793
8843
|
kWasmExceptionHandling = 111,
|
|
8844
|
+
kInvalidatedMegaDOMProtector = 112,
|
|
8794
8845
|
|
|
8795
8846
|
// If you add new values here, you'll also need to update Chromium's:
|
|
8796
8847
|
// web_feature.mojom, use_counter_callback.cc, and enums.xml. V8 changes to
|
|
@@ -9126,6 +9177,17 @@ class V8_EXPORT Isolate {
|
|
|
9126
9177
|
*/
|
|
9127
9178
|
Local<Context> GetIncumbentContext();
|
|
9128
9179
|
|
|
9180
|
+
/**
|
|
9181
|
+
* Schedules a v8::Exception::Error with the given message.
|
|
9182
|
+
* See ThrowException for more details. Templatized to provide compile-time
|
|
9183
|
+
* errors in case of too long strings (see v8::String::NewFromUtf8Literal).
|
|
9184
|
+
*/
|
|
9185
|
+
template <int N>
|
|
9186
|
+
Local<Value> ThrowError(const char (&message)[N]) {
|
|
9187
|
+
return ThrowError(String::NewFromUtf8Literal(this, message));
|
|
9188
|
+
}
|
|
9189
|
+
Local<Value> ThrowError(Local<String> message);
|
|
9190
|
+
|
|
9129
9191
|
/**
|
|
9130
9192
|
* Schedules an exception to be thrown when returning to JavaScript. When an
|
|
9131
9193
|
* exception has been scheduled it is illegal to invoke any JavaScript
|
|
@@ -9170,6 +9232,18 @@ class V8_EXPORT Isolate {
|
|
|
9170
9232
|
*/
|
|
9171
9233
|
EmbedderHeapTracer* GetEmbedderHeapTracer();
|
|
9172
9234
|
|
|
9235
|
+
/**
|
|
9236
|
+
* Sets an embedder roots handle that V8 should consider when performing
|
|
9237
|
+
* non-unified heap garbage collections.
|
|
9238
|
+
*
|
|
9239
|
+
* Using only EmbedderHeapTracer automatically sets up a default handler.
|
|
9240
|
+
* The intended use case is for setting a custom handler after invoking
|
|
9241
|
+
* `AttachCppHeap()`.
|
|
9242
|
+
*
|
|
9243
|
+
* V8 does not take ownership of the handler.
|
|
9244
|
+
*/
|
|
9245
|
+
void SetEmbedderRootsHandler(EmbedderRootsHandler* handler);
|
|
9246
|
+
|
|
9173
9247
|
/**
|
|
9174
9248
|
* Attaches a managed C++ heap as an extension to the JavaScript heap. The
|
|
9175
9249
|
* embedder maintains ownership of the CppHeap. At most one C++ heap can be
|
|
@@ -9739,6 +9813,9 @@ class V8_EXPORT Isolate {
|
|
|
9739
9813
|
|
|
9740
9814
|
void SetWasmExceptionsEnabledCallback(WasmExceptionsEnabledCallback callback);
|
|
9741
9815
|
|
|
9816
|
+
void SetSharedArrayBufferConstructorEnabledCallback(
|
|
9817
|
+
SharedArrayBufferConstructorEnabledCallback callback);
|
|
9818
|
+
|
|
9742
9819
|
/**
|
|
9743
9820
|
* This function can be called by the embedder to signal V8 that the dynamic
|
|
9744
9821
|
* enabling of features has finished. V8 can now set up dynamically added
|
|
@@ -10113,6 +10190,9 @@ class V8_EXPORT V8 {
|
|
|
10113
10190
|
* Notifies V8 that the process is cross-origin-isolated, which enables
|
|
10114
10191
|
* defining the SharedArrayBuffer function on the global object of Contexts.
|
|
10115
10192
|
*/
|
|
10193
|
+
V8_DEPRECATED(
|
|
10194
|
+
"Use the command line argument --enable-sharedarraybuffer-per-context "
|
|
10195
|
+
"together with SetSharedArrayBufferConstructorEnabledCallback")
|
|
10116
10196
|
static void SetIsCrossOriginIsolated();
|
|
10117
10197
|
|
|
10118
10198
|
private:
|
package/include/node/v8config.h
CHANGED
|
@@ -310,10 +310,6 @@ path. Add it with -I<path> to the command line
|
|
|
310
310
|
// GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
|
|
311
311
|
# define V8_HAS_COMPUTED_GOTO 1
|
|
312
312
|
|
|
313
|
-
// Whether constexpr has full C++14 semantics, in particular that non-constexpr
|
|
314
|
-
// code is allowed as long as it's not executed for any constexpr instantiation.
|
|
315
|
-
# define V8_HAS_CXX14_CONSTEXPR 1
|
|
316
|
-
|
|
317
313
|
#elif defined(__GNUC__)
|
|
318
314
|
|
|
319
315
|
# define V8_CC_GNU 1
|
|
@@ -336,7 +332,10 @@ path. Add it with -I<path> to the command line
|
|
|
336
332
|
# define V8_HAS_ATTRIBUTE_UNUSED 1
|
|
337
333
|
# define V8_HAS_ATTRIBUTE_VISIBILITY 1
|
|
338
334
|
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT (!V8_CC_INTEL)
|
|
339
|
-
|
|
335
|
+
|
|
336
|
+
// [[nodiscard]] does not work together with with
|
|
337
|
+
// __attribute__((visibility(""))) on GCC 7.4 which is why there is no define
|
|
338
|
+
// for V8_HAS_CPP_ATTRIBUTE_NODISCARD. See https://crbug.com/v8/11707.
|
|
340
339
|
|
|
341
340
|
# define V8_HAS_BUILTIN_ASSUME_ALIGNED 1
|
|
342
341
|
# define V8_HAS_BUILTIN_CLZ 1
|
|
@@ -348,11 +347,6 @@ path. Add it with -I<path> to the command line
|
|
|
348
347
|
// GCC doc: https://gcc.gnu.org/onlinedocs/gcc/Labels-as-Values.html
|
|
349
348
|
#define V8_HAS_COMPUTED_GOTO 1
|
|
350
349
|
|
|
351
|
-
// Whether constexpr has full C++14 semantics, in particular that non-constexpr
|
|
352
|
-
// code is allowed as long as it's not executed for any constexpr instantiation.
|
|
353
|
-
// GCC only supports this since version 6.
|
|
354
|
-
# define V8_HAS_CXX14_CONSTEXPR (V8_GNUC_PREREQ(6, 0, 0))
|
|
355
|
-
|
|
356
350
|
#endif
|
|
357
351
|
|
|
358
352
|
#if defined(_MSC_VER)
|
package/package.json
CHANGED
package/share/man/man1/node.1
CHANGED
|
@@ -153,10 +153,8 @@ to use as a custom module loader.
|
|
|
153
153
|
.It Fl -experimental-policy
|
|
154
154
|
Use the specified file as a security policy.
|
|
155
155
|
.
|
|
156
|
-
.It Fl -experimental-repl-await
|
|
157
|
-
|
|
158
|
-
.Sy await
|
|
159
|
-
keyword support in REPL.
|
|
156
|
+
.It Fl -no-experimental-repl-await
|
|
157
|
+
Disable top-level await keyword support in REPL.
|
|
160
158
|
.
|
|
161
159
|
.It Fl -experimental-specifier-resolution
|
|
162
160
|
Select extension resolution algorithm for ES Modules; either 'explicit' (default) or 'node'.
|
|
@@ -266,7 +264,7 @@ This flag is inherited from V8 and is subject to change upstream. It may
|
|
|
266
264
|
disappear in a non-semver-major release.
|
|
267
265
|
.
|
|
268
266
|
.It Fl -max-http-header-size Ns = Ns Ar size
|
|
269
|
-
Specify the maximum size of HTTP headers in bytes. Defaults to
|
|
267
|
+
Specify the maximum size of HTTP headers in bytes. Defaults to 16 KB.
|
|
270
268
|
.
|
|
271
269
|
.It Fl -napi-modules
|
|
272
270
|
This option is a no-op.
|
|
@@ -698,7 +696,7 @@ Documentation:
|
|
|
698
696
|
.Sy https://nodejs.org/api/
|
|
699
697
|
.
|
|
700
698
|
.Pp
|
|
701
|
-
GitHub repository
|
|
699
|
+
GitHub repository and issue tracker:
|
|
702
700
|
.Sy https://github.com/nodejs/node
|
|
703
701
|
.
|
|
704
702
|
.Pp
|