Index: src/compiler/machine-operator.h |
diff --git a/src/compiler/machine-operator.h b/src/compiler/machine-operator.h |
index 0f846ac2329abeb8203a2e3009b494cd6a2847a1..c192e7f077a93764eff116bffd21490233f2495c 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); |
@@ -622,8 +644,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(); |