summaryrefslogtreecommitdiff
path: root/deps/v8/src/compiler/simplified-operator.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/compiler/simplified-operator.h')
-rw-r--r--deps/v8/src/compiler/simplified-operator.h40
1 files changed, 27 insertions, 13 deletions
diff --git a/deps/v8/src/compiler/simplified-operator.h b/deps/v8/src/compiler/simplified-operator.h
index f4691bff93..476991af3b 100644
--- a/deps/v8/src/compiler/simplified-operator.h
+++ b/deps/v8/src/compiler/simplified-operator.h
@@ -306,10 +306,11 @@ class CheckMinusZeroParameters {
VectorSlotPair feedback_;
};
-const CheckMinusZeroParameters& CheckMinusZeroParametersOf(const Operator* op)
- V8_WARN_UNUSED_RESULT;
+V8_EXPORT_PRIVATE const CheckMinusZeroParameters& CheckMinusZeroParametersOf(
+ const Operator* op) V8_WARN_UNUSED_RESULT;
-std::ostream& operator<<(std::ostream&, const CheckMinusZeroParameters& params);
+V8_EXPORT_PRIVATE std::ostream& operator<<(
+ std::ostream&, const CheckMinusZeroParameters& params);
size_t hash_value(const CheckMinusZeroParameters& params);
@@ -321,7 +322,7 @@ enum class CheckMapsFlag : uint8_t {
kNone = 0u,
kTryMigrateInstance = 1u << 0, // Try instance migration.
};
-typedef base::Flags<CheckMapsFlag> CheckMapsFlags;
+using CheckMapsFlags = base::Flags<CheckMapsFlag>;
DEFINE_OPERATORS_FOR_FLAGS(CheckMapsFlags)
@@ -479,15 +480,15 @@ bool IsRestLengthOf(const Operator* op) V8_WARN_UNUSED_RESULT;
class AllocateParameters {
public:
- AllocateParameters(Type type, PretenureFlag pretenure)
- : type_(type), pretenure_(pretenure) {}
+ AllocateParameters(Type type, AllocationType allocation_type)
+ : type_(type), allocation_type_(allocation_type) {}
Type type() const { return type_; }
- PretenureFlag pretenure() const { return pretenure_; }
+ AllocationType allocation_type() const { return allocation_type_; }
private:
Type type_;
- PretenureFlag pretenure_;
+ AllocationType allocation_type_;
};
bool IsCheckedWithFeedback(const Operator* op);
@@ -498,7 +499,7 @@ V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, AllocateParameters);
bool operator==(AllocateParameters const&, AllocateParameters const&);
-PretenureFlag PretenureFlagOf(const Operator* op) V8_WARN_UNUSED_RESULT;
+AllocationType AllocationTypeOf(const Operator* op) V8_WARN_UNUSED_RESULT;
Type AllocateTypeOf(const Operator* op) V8_WARN_UNUSED_RESULT;
@@ -540,6 +541,7 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
const Operator* BooleanNot();
const Operator* NumberEqual();
+ const Operator* NumberSameValue();
const Operator* NumberLessThan();
const Operator* NumberLessThanOrEqual();
const Operator* NumberAdd();
@@ -652,6 +654,8 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
const Operator* ChangeTaggedToUint32();
const Operator* ChangeTaggedToFloat64();
const Operator* ChangeTaggedToTaggedSigned();
+ const Operator* ChangeCompressedToTaggedSigned();
+ const Operator* ChangeTaggedToCompressedSigned();
const Operator* ChangeInt31ToTaggedSigned();
const Operator* ChangeInt32ToTagged();
const Operator* ChangeInt64ToTagged();
@@ -709,6 +713,14 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
const VectorSlotPair& feedback);
const Operator* CheckedTaggedToTaggedPointer(const VectorSlotPair& feedback);
const Operator* CheckedTaggedToTaggedSigned(const VectorSlotPair& feedback);
+ const Operator* CheckedCompressedToTaggedPointer(
+ const VectorSlotPair& feedback);
+ const Operator* CheckedCompressedToTaggedSigned(
+ const VectorSlotPair& feedback);
+ const Operator* CheckedTaggedToCompressedPointer(
+ const VectorSlotPair& feedback);
+ const Operator* CheckedTaggedToCompressedSigned(
+ const VectorSlotPair& feedback);
const Operator* CheckedTruncateTaggedToWord32(CheckTaggedInputMode,
const VectorSlotPair& feedback);
const Operator* CheckedUint32Div();
@@ -754,8 +766,8 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
const Operator* ArgumentsLength(int formal_parameter_count,
bool is_rest_length);
- const Operator* NewDoubleElements(PretenureFlag);
- const Operator* NewSmiOrObjectElements(PretenureFlag);
+ const Operator* NewDoubleElements(AllocationType);
+ const Operator* NewSmiOrObjectElements(AllocationType);
// new-arguments-elements arguments-frame, arguments-length
const Operator* NewArgumentsElements(int mapped_count);
@@ -773,8 +785,10 @@ class V8_EXPORT_PRIVATE SimplifiedOperatorBuilder final
// transition-elements-kind object, from-map, to-map
const Operator* TransitionElementsKind(ElementsTransition transition);
- const Operator* Allocate(Type type, PretenureFlag pretenure = NOT_TENURED);
- const Operator* AllocateRaw(Type type, PretenureFlag pretenure = NOT_TENURED);
+ const Operator* Allocate(Type type,
+ AllocationType allocation = AllocationType::kYoung);
+ const Operator* AllocateRaw(
+ Type type, AllocationType allocation = AllocationType::kYoung);
const Operator* LoadFieldByIndex();
const Operator* LoadField(FieldAccess const&);