Index: src/compiler/machine-operator.h |
diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h |
index 474c0d98e20006c939bc7e34e25c16957a790232..35a340f0f4e46578e387fff656b1ab692f2bd2a0 100644 |
--- a/src/compiler/machine-operator.h |
+++ b/src/compiler/machine-operator.h |
@@ -53,6 +53,18 @@ std::ostream& operator<<(std::ostream&, StoreRepresentation); |
StoreRepresentation const& StoreRepresentationOf(Operator const*); |
+// A CheckedLoad needs a MachineType. |
+typedef MachineType CheckedLoadRepresentation; |
+ |
+CheckedLoadRepresentation CheckedLoadRepresentationOf(Operator const*); |
+ |
+ |
+// A CheckedStore needs a MachineType. |
+typedef MachineType CheckedStoreRepresentation; |
+ |
+CheckedStoreRepresentation CheckedStoreRepresentationOf(Operator const*); |
+ |
+ |
// Interface for building machine-level operators. These operators are |
// machine-level but machine-independent and thus define a language suitable |
// for generating code to run on architectures such as ia32, x64, arm, etc. |
@@ -174,6 +186,11 @@ class MachineOperatorBuilder FINAL : public ZoneObject { |
// Access to the machine stack. |
const Operator* LoadStackPointer(); |
+ // checked-load heap, index, length |
+ const Operator* CheckedLoad(CheckedLoadRepresentation); |
+ // checked-store heap, index, length, value |
+ const Operator* CheckedStore(CheckedStoreRepresentation); |
+ |
// Target machine word-size assumed by this builder. |
bool Is32() const { return word() == kRepWord32; } |
bool Is64() const { return word() == kRepWord64; } |