Index: src/compiler/common-operator.h |
diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h |
index 7c59f47c34a8c212bfa615ef28f054122bfefdf0..39646e984528c3b55d3677950ad99decfaa52659 100644 |
--- a/src/compiler/common-operator.h |
+++ b/src/compiler/common-operator.h |
@@ -5,6 +5,7 @@ |
#ifndef V8_COMPILER_COMMON_OPERATOR_H_ |
#define V8_COMPILER_COMMON_OPERATOR_H_ |
+#include "src/assembler.h" |
#include "src/compiler/frame-states.h" |
#include "src/machine-type.h" |
#include "src/zone-containers.h" |
@@ -13,7 +14,6 @@ namespace v8 { |
namespace internal { |
// Forward declarations. |
-class ExternalReference; |
class Type; |
namespace compiler { |
@@ -114,6 +114,25 @@ std::ostream& operator<<(std::ostream&, ParameterInfo const&); |
int ParameterIndexOf(const Operator* const); |
const ParameterInfo& ParameterInfoOf(const Operator* const); |
+class RelocatablePtrConstantInfo final { |
+ public: |
+ RelocatablePtrConstantInfo(intptr_t value, RelocInfo::Mode rmode) |
+ : value_(value), rmode_(rmode) {} |
+ |
+ intptr_t value() const { return value_; } |
+ RelocInfo::Mode rmode() const { return rmode_; } |
+ |
+ private: |
+ intptr_t value_; |
+ RelocInfo::Mode rmode_; |
+}; |
+ |
+bool operator==(RelocatablePtrConstantInfo const& lhs, |
+ RelocatablePtrConstantInfo const& rhs); |
+bool operator!=(RelocatablePtrConstantInfo const& lhs, |
+ RelocatablePtrConstantInfo const& rhs); |
+std::ostream& operator<<(std::ostream&, RelocatablePtrConstantInfo const&); |
+size_t hash_value(RelocatablePtrConstantInfo const& p); |
// Interface for building common operators that can be used at any level of IR, |
// including JavaScript, mid-level, and low-level. |
@@ -155,6 +174,11 @@ class CommonOperatorBuilder final : public ZoneObject { |
const Operator* NumberConstant(volatile double); |
const Operator* HeapConstant(const Handle<HeapObject>&); |
+ const Operator* RelocatableInt32Constant(int32_t value, |
+ RelocInfo::Mode rmode); |
+ const Operator* RelocatableInt64Constant(int64_t value, |
+ RelocInfo::Mode rmode); |
+ |
const Operator* Select(MachineRepresentation, BranchHint = BranchHint::kNone); |
const Operator* Phi(MachineRepresentation representation, |
int value_input_count); |