| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_COMPILER_COMMON_OPERATOR_H_ | 5 #ifndef V8_COMPILER_COMMON_OPERATOR_H_ |
| 6 #define V8_COMPILER_COMMON_OPERATOR_H_ | 6 #define V8_COMPILER_COMMON_OPERATOR_H_ |
| 7 | 7 |
| 8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
| 9 #include "src/compiler/frame-states.h" | 9 #include "src/compiler/frame-states.h" |
| 10 #include "src/deoptimize-reason.h" | 10 #include "src/deoptimize-reason.h" |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 69 | 69 |
| 70 bool operator==(DeoptimizeParameters, DeoptimizeParameters); | 70 bool operator==(DeoptimizeParameters, DeoptimizeParameters); |
| 71 bool operator!=(DeoptimizeParameters, DeoptimizeParameters); | 71 bool operator!=(DeoptimizeParameters, DeoptimizeParameters); |
| 72 | 72 |
| 73 size_t hast_value(DeoptimizeParameters p); | 73 size_t hast_value(DeoptimizeParameters p); |
| 74 | 74 |
| 75 std::ostream& operator<<(std::ostream&, DeoptimizeParameters p); | 75 std::ostream& operator<<(std::ostream&, DeoptimizeParameters p); |
| 76 | 76 |
| 77 DeoptimizeParameters const& DeoptimizeParametersOf(Operator const* const); | 77 DeoptimizeParameters const& DeoptimizeParametersOf(Operator const* const); |
| 78 | 78 |
| 79 // Prediction whether throw-site is surrounded by any local catch-scope. | |
| 80 enum class IfExceptionHint { | |
| 81 kLocallyUncaught, | |
| 82 kLocallyCaught, | |
| 83 kLocallyCaughtForPromiseReject | |
| 84 }; | |
| 85 | |
| 86 IfExceptionHint ExceptionHintFromCatchPrediction( | |
| 87 HandlerTable::CatchPrediction prediction); | |
| 88 | |
| 89 size_t hash_value(IfExceptionHint hint); | |
| 90 | |
| 91 std::ostream& operator<<(std::ostream&, IfExceptionHint); | |
| 92 | |
| 93 | 79 |
| 94 class SelectParameters final { | 80 class SelectParameters final { |
| 95 public: | 81 public: |
| 96 explicit SelectParameters(MachineRepresentation representation, | 82 explicit SelectParameters(MachineRepresentation representation, |
| 97 BranchHint hint = BranchHint::kNone) | 83 BranchHint hint = BranchHint::kNone) |
| 98 : representation_(representation), hint_(hint) {} | 84 : representation_(representation), hint_(hint) {} |
| 99 | 85 |
| 100 MachineRepresentation representation() const { return representation_; } | 86 MachineRepresentation representation() const { return representation_; } |
| 101 BranchHint hint() const { return hint_; } | 87 BranchHint hint() const { return hint_; } |
| 102 | 88 |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 188 class CommonOperatorBuilder final : public ZoneObject { | 174 class CommonOperatorBuilder final : public ZoneObject { |
| 189 public: | 175 public: |
| 190 explicit CommonOperatorBuilder(Zone* zone); | 176 explicit CommonOperatorBuilder(Zone* zone); |
| 191 | 177 |
| 192 const Operator* Dead(); | 178 const Operator* Dead(); |
| 193 const Operator* End(size_t control_input_count); | 179 const Operator* End(size_t control_input_count); |
| 194 const Operator* Branch(BranchHint = BranchHint::kNone); | 180 const Operator* Branch(BranchHint = BranchHint::kNone); |
| 195 const Operator* IfTrue(); | 181 const Operator* IfTrue(); |
| 196 const Operator* IfFalse(); | 182 const Operator* IfFalse(); |
| 197 const Operator* IfSuccess(); | 183 const Operator* IfSuccess(); |
| 198 const Operator* IfException(IfExceptionHint hint); | 184 const Operator* IfException(); |
| 199 const Operator* Switch(size_t control_output_count); | 185 const Operator* Switch(size_t control_output_count); |
| 200 const Operator* IfValue(int32_t value); | 186 const Operator* IfValue(int32_t value); |
| 201 const Operator* IfDefault(); | 187 const Operator* IfDefault(); |
| 202 const Operator* Throw(); | 188 const Operator* Throw(); |
| 203 const Operator* Deoptimize(DeoptimizeKind kind, DeoptimizeReason reason); | 189 const Operator* Deoptimize(DeoptimizeKind kind, DeoptimizeReason reason); |
| 204 const Operator* DeoptimizeIf(DeoptimizeReason reason); | 190 const Operator* DeoptimizeIf(DeoptimizeReason reason); |
| 205 const Operator* DeoptimizeUnless(DeoptimizeReason reason); | 191 const Operator* DeoptimizeUnless(DeoptimizeReason reason); |
| 206 const Operator* Return(int value_input_count = 1); | 192 const Operator* Return(int value_input_count = 1); |
| 207 const Operator* Terminate(); | 193 const Operator* Terminate(); |
| 208 | 194 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 266 Zone* const zone_; | 252 Zone* const zone_; |
| 267 | 253 |
| 268 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); | 254 DISALLOW_COPY_AND_ASSIGN(CommonOperatorBuilder); |
| 269 }; | 255 }; |
| 270 | 256 |
| 271 } // namespace compiler | 257 } // namespace compiler |
| 272 } // namespace internal | 258 } // namespace internal |
| 273 } // namespace v8 | 259 } // namespace v8 |
| 274 | 260 |
| 275 #endif // V8_COMPILER_COMMON_OPERATOR_H_ | 261 #endif // V8_COMPILER_COMMON_OPERATOR_H_ |
| OLD | NEW |