Chromium Code Reviews| Index: src/compiler/common-operator.h |
| diff --git a/src/compiler/common-operator.h b/src/compiler/common-operator.h |
| index 1f258a0ec0fa95dce529d8c857e6d275f104907e..5bf893e63e6868713590a2c2539069832b4c75c0 100644 |
| --- a/src/compiler/common-operator.h |
| +++ b/src/compiler/common-operator.h |
| @@ -158,6 +158,29 @@ std::ostream& operator<<(std::ostream&, RelocatablePtrConstantInfo const&); |
| size_t hash_value(RelocatablePtrConstantInfo const& p); |
| +class TypedStateValueInfo final { |
| + public: |
| + TypedStateValueInfo(ZoneVector<MachineType> const* machine_types, |
| + uint32_t mask) |
| + : machine_types_(machine_types), mask_(mask) {} |
| + |
| + ZoneVector<MachineType> const* machine_types() const { |
| + return machine_types_; |
| + } |
| + uint32_t mask() const { return mask_; } |
| + |
| + private: |
| + ZoneVector<MachineType> const* machine_types_; |
| + uint32_t mask_; |
|
Jarin
2016/12/07 08:56:20
This is a poor name - could you come with a name t
Leszek Swirski
2016/12/08 15:44:30
Hm, the only thing I could think of is to expand i
|
| +}; |
| + |
| +bool operator==(TypedStateValueInfo const& lhs, TypedStateValueInfo const& rhs); |
| +bool operator!=(TypedStateValueInfo const& lhs, TypedStateValueInfo const& rhs); |
| + |
| +std::ostream& operator<<(std::ostream&, TypedStateValueInfo const&); |
| + |
| +size_t hash_value(TypedStateValueInfo const& p); |
| + |
| // Used to mark a region (as identified by BeginRegion/FinishRegion) as either |
| // JavaScript-observable or not (i.e. allocations are not JavaScript observable |
| // themselves, but transitioning stores are). |
| @@ -243,8 +266,9 @@ class V8_EXPORT_PRIVATE CommonOperatorBuilder final |
| const Operator* Checkpoint(); |
| const Operator* BeginRegion(RegionObservability); |
| const Operator* FinishRegion(); |
| - const Operator* StateValues(int arguments); |
| - const Operator* TypedStateValues(const ZoneVector<MachineType>* types); |
| + const Operator* StateValues(int arguments, uint32_t bitmask); |
| + const Operator* TypedStateValues(const ZoneVector<MachineType>* types, |
| + uint32_t bitmask); |
| const Operator* ObjectState(int pointer_slots); |
| const Operator* TypedObjectState(const ZoneVector<MachineType>* types); |
| const Operator* FrameState(BailoutId bailout_id, |