diff options
Diffstat (limited to 'deps/v8/src/objects.h')
-rw-r--r-- | deps/v8/src/objects.h | 56 |
1 files changed, 29 insertions, 27 deletions
diff --git a/deps/v8/src/objects.h b/deps/v8/src/objects.h index 6c0f313261..6a79fc6a9a 100644 --- a/deps/v8/src/objects.h +++ b/deps/v8/src/objects.h @@ -99,6 +99,7 @@ // - ScopeInfo // - ModuleInfo // - ScriptContextTable +// - ClosureFeedbackCellArray // - FixedDoubleArray // - Name // - String @@ -192,10 +193,10 @@ class PropertyDescriptorObject; enum WriteBarrierMode { SKIP_WRITE_BARRIER, UPDATE_WEAK_WRITE_BARRIER, + UPDATE_EPHEMERON_KEY_WRITE_BARRIER, UPDATE_WRITE_BARRIER }; - // PropertyNormalizationMode is used to specify whether to keep // inobject properties when normalizing properties of a JSObject. enum PropertyNormalizationMode { @@ -256,6 +257,7 @@ class AllocationSite; class ByteArray; class CachedTemplateObject; class Cell; +class ClosureFeedbackCellArray; class ConsString; class DependentCode; class ElementsAccessor; @@ -345,13 +347,13 @@ class ZoneForwardList; V(Constructor) \ V(Context) \ V(CoverageInfo) \ + V(ClosureFeedbackCellArray) \ V(DataHandler) \ V(DeoptimizationData) \ V(DependentCode) \ V(DescriptorArray) \ V(EmbedderDataArray) \ V(EphemeronHashTable) \ - V(EnumCache) \ V(ExternalOneByteString) \ V(ExternalString) \ V(ExternalTwoByteString) \ @@ -639,8 +641,8 @@ class Object { Handle<FieldType> OptimalType(Isolate* isolate, Representation representation); - static Handle<Object> NewStorageFor(Isolate* isolate, Handle<Object> object, - Representation representation); + V8_EXPORT_PRIVATE static Handle<Object> NewStorageFor( + Isolate* isolate, Handle<Object> object, Representation representation); static Handle<Object> WrapForRead(Isolate* isolate, Handle<Object> object, Representation representation); @@ -650,20 +652,19 @@ class Object { inline bool HasValidElements(); // ECMA-262 9.2. - bool BooleanValue(Isolate* isolate); + V8_EXPORT_PRIVATE bool BooleanValue(Isolate* isolate); Object ToBoolean(Isolate* isolate); // ES6 section 7.2.11 Abstract Relational Comparison - V8_WARN_UNUSED_RESULT static Maybe<ComparisonResult> Compare( - Isolate* isolate, Handle<Object> x, Handle<Object> y); + V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static Maybe<ComparisonResult> + Compare(Isolate* isolate, Handle<Object> x, Handle<Object> y); // ES6 section 7.2.12 Abstract Equality Comparison - V8_WARN_UNUSED_RESULT static Maybe<bool> Equals(Isolate* isolate, - Handle<Object> x, - Handle<Object> y); + V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static Maybe<bool> Equals( + Isolate* isolate, Handle<Object> x, Handle<Object> y); // ES6 section 7.2.13 Strict Equality Comparison - bool StrictEquals(Object that); + V8_EXPORT_PRIVATE bool StrictEquals(Object that); // ES6 section 7.1.13 ToObject // Convert to a JSObject if needed. @@ -714,8 +715,8 @@ class Object { V8_WARN_UNUSED_RESULT static inline MaybeHandle<String> ToString( Isolate* isolate, Handle<Object> input); - static Handle<String> NoSideEffectsToString(Isolate* isolate, - Handle<Object> input); + V8_EXPORT_PRIVATE static Handle<String> NoSideEffectsToString( + Isolate* isolate, Handle<Object> input); // ES6 section 7.1.14 ToPropertyKey V8_WARN_UNUSED_RESULT static inline MaybeHandle<Object> ToPropertyKey( @@ -780,13 +781,14 @@ class Object { // In some cases, an exception is thrown regardless of the ShouldThrow // argument. These cases are either in accordance with the spec or not // covered by it (eg., concerning API callbacks). - V8_WARN_UNUSED_RESULT static Maybe<bool> SetProperty( + V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static Maybe<bool> SetProperty( LookupIterator* it, Handle<Object> value, StoreOrigin store_origin, Maybe<ShouldThrow> should_throw = Nothing<ShouldThrow>()); - V8_WARN_UNUSED_RESULT static MaybeHandle<Object> SetProperty( - Isolate* isolate, Handle<Object> object, Handle<Name> name, - Handle<Object> value, StoreOrigin store_origin = StoreOrigin::kMaybeKeyed, - Maybe<ShouldThrow> should_throw = Nothing<ShouldThrow>()); + V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static MaybeHandle<Object> + SetProperty(Isolate* isolate, Handle<Object> object, Handle<Name> name, + Handle<Object> value, + StoreOrigin store_origin = StoreOrigin::kMaybeKeyed, + Maybe<ShouldThrow> should_throw = Nothing<ShouldThrow>()); V8_WARN_UNUSED_RESULT static inline MaybeHandle<Object> SetPropertyOrElement( Isolate* isolate, Handle<Object> object, Handle<Name> name, Handle<Object> value, @@ -847,7 +849,7 @@ class Object { // Returns the permanent hash code associated with this object depending on // the actual object type. May create and store a hash code if needed and none // exists. - Smi GetOrCreateHash(Isolate* isolate); + V8_EXPORT_PRIVATE Smi GetOrCreateHash(Isolate* isolate); // Checks whether this object has the same value as the given one. This // function is implemented according to ES5, section 9.12 and can be used @@ -915,7 +917,7 @@ class Object { // to a HeapObject. inline bool IsCleared() const { return false; } - DECL_VERIFIER(Object) + EXPORT_DECL_VERIFIER(Object) #ifdef VERIFY_HEAP // Verify a pointer is a valid object pointer. @@ -925,12 +927,12 @@ class Object { inline void VerifyApiCallResultType(); // Prints this object without details. - void ShortPrint(FILE* out = stdout) const; + V8_EXPORT_PRIVATE void ShortPrint(FILE* out = stdout) const; // Prints this object without details to a message accumulator. - void ShortPrint(StringStream* accumulator) const; + V8_EXPORT_PRIVATE void ShortPrint(StringStream* accumulator) const; - void ShortPrint(std::ostream& os) const; // NOLINT + V8_EXPORT_PRIVATE void ShortPrint(std::ostream& os) const; // NOLINT inline static Object cast(Object object) { return object; } inline static Object unchecked_cast(Object object) { return object; } @@ -940,10 +942,10 @@ class Object { #ifdef OBJECT_PRINT // For our gdb macros, we should perhaps change these in the future. - void Print() const; + V8_EXPORT_PRIVATE void Print() const; // Prints this object with details. - void Print(std::ostream& os) const; // NOLINT + V8_EXPORT_PRIVATE void Print(std::ostream& os) const; // NOLINT #else void Print() const { ShortPrint(); } void Print(std::ostream& os) const { ShortPrint(os); } // NOLINT @@ -991,8 +993,8 @@ class Object { Isolate* isolate, Handle<Object> input); V8_WARN_UNUSED_RESULT static MaybeHandle<Object> ConvertToPropertyKey( Isolate* isolate, Handle<Object> value); - V8_WARN_UNUSED_RESULT static MaybeHandle<String> ConvertToString( - Isolate* isolate, Handle<Object> input); + V8_EXPORT_PRIVATE V8_WARN_UNUSED_RESULT static MaybeHandle<String> + ConvertToString(Isolate* isolate, Handle<Object> input); V8_WARN_UNUSED_RESULT static MaybeHandle<Object> ConvertToNumberOrNumeric( Isolate* isolate, Handle<Object> input, Conversion mode); V8_WARN_UNUSED_RESULT static MaybeHandle<Object> ConvertToInteger( |