diff options
Diffstat (limited to 'deps/v8/src/compiler/types.h')
-rw-r--r-- | deps/v8/src/compiler/types.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/deps/v8/src/compiler/types.h b/deps/v8/src/compiler/types.h index 015abd31c2..4d56b88477 100644 --- a/deps/v8/src/compiler/types.h +++ b/deps/v8/src/compiler/types.h @@ -205,7 +205,7 @@ namespace compiler { V(NonCallableOrNull, kNonCallable | kNull) \ V(DetectableObject, kArray | kFunction | kBoundFunction | \ kOtherCallable | kOtherObject) \ - V(DetectableReceiver, kDetectableObject | kProxy) \ + V(DetectableReceiver, kDetectableObject | kProxy | kWasmObject) \ V(DetectableReceiverOrNull, kDetectableReceiver | kNull) \ V(Object, kDetectableObject | kOtherUndetectable) \ V(Receiver, kObject | kProxy | kWasmObject) \ @@ -279,10 +279,12 @@ class V8_EXPORT_PRIVATE BitsetType { static double Max(bitset); static bitset Glb(double min, double max); - static bitset Lub(HeapObjectType const& type) { - return Lub<HeapObjectType>(type); + static bitset Lub(HeapObjectType const& type, JSHeapBroker* broker) { + return Lub<HeapObjectType>(type, broker); + } + static bitset Lub(MapRef const& map, JSHeapBroker* broker) { + return Lub<MapRef>(map, broker); } - static bitset Lub(MapRef const& map) { return Lub<MapRef>(map); } static bitset Lub(double value); static bitset Lub(double min, double max); static bitset ExpandInternals(bitset bits); @@ -306,7 +308,7 @@ class V8_EXPORT_PRIVATE BitsetType { static inline size_t BoundariesSize(); template <typename MapRefLike> - static bitset Lub(MapRefLike const& map); + static bitset Lub(MapRefLike const& map, JSHeapBroker* broker); }; // ----------------------------------------------------------------------------- @@ -423,6 +425,7 @@ class V8_EXPORT_PRIVATE Type { static Type Constant(JSHeapBroker* broker, Handle<i::Object> value, Zone* zone); + static Type Constant(JSHeapBroker* broker, ObjectRef value, Zone* zone); static Type Constant(double value, Zone* zone); static Type Range(double min, double max, Zone* zone); static Type Tuple(Type first, Type second, Type third, Zone* zone); @@ -436,8 +439,9 @@ class V8_EXPORT_PRIVATE Type { static Type Wasm(wasm::TypeInModule type_in_module, Zone* zone); #endif - static Type For(MapRef const& type) { - return NewBitset(BitsetType::ExpandInternals(BitsetType::Lub(type))); + static Type For(MapRef const& type, JSHeapBroker* broker) { + return NewBitset( + BitsetType::ExpandInternals(BitsetType::Lub(type, broker))); } // Predicates. @@ -555,7 +559,8 @@ class V8_EXPORT_PRIVATE Type { static Type Range(RangeType::Limits lims, Zone* zone); static Type OtherNumberConstant(double value, Zone* zone); - static Type HeapConstant(const HeapObjectRef& value, Zone* zone); + static Type HeapConstant(const HeapObjectRef& value, JSHeapBroker* broker, + Zone* zone); static bool Overlap(const RangeType* lhs, const RangeType* rhs); static bool Contains(const RangeType* lhs, const RangeType* rhs); |