diff options
author | Michaël Zasso <targos@protonmail.com> | 2017-05-02 10:50:00 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2017-05-06 20:02:35 +0200 |
commit | 60d1aac8d225e844e68ae48e8f3d58802e635fbe (patch) | |
tree | 922f347dd054db18d88666fad7181e5a777f4022 /deps/v8/src/compiler/instruction.h | |
parent | 73d9c0f903ae371cd5011af64c3a6f69a1bda978 (diff) | |
download | node-new-60d1aac8d225e844e68ae48e8f3d58802e635fbe.tar.gz |
deps: update V8 to 5.8.283.38
PR-URL: https://github.com/nodejs/node/pull/12784
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Gibson Fahnestock <gibfahn@gmail.com>
Diffstat (limited to 'deps/v8/src/compiler/instruction.h')
-rw-r--r-- | deps/v8/src/compiler/instruction.h | 27 |
1 files changed, 20 insertions, 7 deletions
diff --git a/deps/v8/src/compiler/instruction.h b/deps/v8/src/compiler/instruction.h index d62ffc43bd..ee7865dec0 100644 --- a/deps/v8/src/compiler/instruction.h +++ b/deps/v8/src/compiler/instruction.h @@ -484,6 +484,9 @@ class LocationOperand : public InstructionOperand { case MachineRepresentation::kFloat32: case MachineRepresentation::kFloat64: case MachineRepresentation::kSimd128: + case MachineRepresentation::kSimd1x4: + case MachineRepresentation::kSimd1x8: + case MachineRepresentation::kSimd1x16: case MachineRepresentation::kTaggedSigned: case MachineRepresentation::kTaggedPointer: case MachineRepresentation::kTagged: @@ -1122,6 +1125,7 @@ std::ostream& operator<<(std::ostream& os, const Constant& constant); class FrameStateDescriptor; enum class StateValueKind : uint8_t { + kArguments, kPlain, kOptimizedOut, kNested, @@ -1135,6 +1139,10 @@ class StateValueDescriptor { type_(MachineType::AnyTagged()), id_(0) {} + static StateValueDescriptor Arguments() { + return StateValueDescriptor(StateValueKind::kArguments, + MachineType::AnyTagged(), 0); + } static StateValueDescriptor Plain(MachineType type) { return StateValueDescriptor(StateValueKind::kPlain, type, 0); } @@ -1151,10 +1159,11 @@ class StateValueDescriptor { MachineType::AnyTagged(), id); } - int IsPlain() { return kind_ == StateValueKind::kPlain; } - int IsOptimizedOut() { return kind_ == StateValueKind::kOptimizedOut; } - int IsNested() { return kind_ == StateValueKind::kNested; } - int IsDuplicate() { return kind_ == StateValueKind::kDuplicate; } + bool IsArguments() const { return kind_ == StateValueKind::kArguments; } + bool IsPlain() const { return kind_ == StateValueKind::kPlain; } + bool IsOptimizedOut() const { return kind_ == StateValueKind::kOptimizedOut; } + bool IsNested() const { return kind_ == StateValueKind::kNested; } + bool IsDuplicate() const { return kind_ == StateValueKind::kDuplicate; } MachineType type() const { return type_; } size_t id() const { return id_; } @@ -1223,6 +1232,7 @@ class StateValueList { nested_.push_back(nested); return nested; } + void PushArguments() { fields_.push_back(StateValueDescriptor::Arguments()); } void PushDuplicate(size_t id) { fields_.push_back(StateValueDescriptor::Duplicate(id)); } @@ -1289,14 +1299,17 @@ class FrameStateDescriptor : public ZoneObject { class DeoptimizationEntry final { public: DeoptimizationEntry() {} - DeoptimizationEntry(FrameStateDescriptor* descriptor, DeoptimizeReason reason) - : descriptor_(descriptor), reason_(reason) {} + DeoptimizationEntry(FrameStateDescriptor* descriptor, DeoptimizeKind kind, + DeoptimizeReason reason) + : descriptor_(descriptor), kind_(kind), reason_(reason) {} FrameStateDescriptor* descriptor() const { return descriptor_; } + DeoptimizeKind kind() const { return kind_; } DeoptimizeReason reason() const { return reason_; } private: FrameStateDescriptor* descriptor_ = nullptr; + DeoptimizeKind kind_ = DeoptimizeKind::kEager; DeoptimizeReason reason_ = DeoptimizeReason::kNoReason; }; @@ -1556,7 +1569,7 @@ class V8_EXPORT_PRIVATE InstructionSequence final } int AddDeoptimizationEntry(FrameStateDescriptor* descriptor, - DeoptimizeReason reason); + DeoptimizeKind kind, DeoptimizeReason reason); DeoptimizationEntry const& GetDeoptimizationEntry(int deoptimization_id); int GetDeoptimizationEntryCount() const { return static_cast<int>(deoptimization_entries_.size()); |