Index: src/compiler/machine-operator.h |
diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h |
index 9ffb3553623cc46f402c8c8dc9e1d7c4b8608acd..67f8daf0e5cce03e705b4e192b5f661c68defd24 100644 |
--- a/src/compiler/machine-operator.h |
+++ b/src/compiler/machine-operator.h |
@@ -93,7 +93,29 @@ typedef MachineRepresentation CheckedStoreRepresentation; |
CheckedStoreRepresentation CheckedStoreRepresentationOf(Operator const*); |
-int StackSlotSizeOf(Operator const* op); |
+class StackSlotRepresentation final { |
+ public: |
+ StackSlotRepresentation(int size, int alignment) |
+ : size_(size), alignment_(alignment) {} |
+ |
+ int size() const { return size_; } |
+ int alignment() const { return alignment_; } |
+ |
+ private: |
+ int size_; |
+ int alignment_; |
+}; |
+ |
+V8_EXPORT_PRIVATE bool operator==(StackSlotRepresentation, |
+ StackSlotRepresentation); |
+bool operator!=(StackSlotRepresentation, StackSlotRepresentation); |
+ |
+size_t hash_value(StackSlotRepresentation); |
+ |
+V8_EXPORT_PRIVATE std::ostream& operator<<(std::ostream&, |
+ StackSlotRepresentation); |
+ |
+StackSlotRepresentation const& StackSlotRepresentationOf(Operator const* op); |
MachineRepresentation AtomicStoreRepresentationOf(Operator const* op); |
@@ -604,8 +626,8 @@ class V8_EXPORT_PRIVATE MachineOperatorBuilder final |
// unaligned store [base + index], value |
const Operator* UnalignedStore(UnalignedStoreRepresentation rep); |
- const Operator* StackSlot(int size); |
- const Operator* StackSlot(MachineRepresentation rep); |
+ const Operator* StackSlot(int size, int alignment = 0); |
+ const Operator* StackSlot(MachineRepresentation rep, int alignment = 0); |
// Access to the machine stack. |
const Operator* LoadStackPointer(); |