summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/types.h')
-rw-r--r--deps/v8/src/compiler/types.h21
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);