| // Copyright 2018 the V8 project authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef V8_WASM_WASM_TIER_H_ |
| #define V8_WASM_WASM_TIER_H_ |
| |
| #include <cstdint> |
| |
| namespace v8 { |
| namespace internal { |
| namespace wasm { |
| |
| // All the tiers of Wasm execution. |
| enum class ExecutionTier : int8_t { |
| kNone, |
| kLiftoff, |
| kTurbofan, |
| }; |
| |
| inline const char* ExecutionTierToString(ExecutionTier tier) { |
| switch (tier) { |
| case ExecutionTier::kTurbofan: |
| return "turbofan"; |
| case ExecutionTier::kLiftoff: |
| return "liftoff"; |
| case ExecutionTier::kNone: |
| return "none"; |
| } |
| } |
| |
| // {kForDebugging} is used for default tiered-down code, {kWithBreakpoints} if |
| // the code also contains breakpoints, and {kForStepping} for code that is |
| // flooded with breakpoints. |
| enum ForDebugging : int8_t { |
| kNoDebugging = 0, |
| kForDebugging, |
| kWithBreakpoints, |
| kForStepping |
| }; |
| |
| enum TieringState : int8_t { kTieredUp, kTieredDown }; |
| |
| } // namespace wasm |
| } // namespace internal |
| } // namespace v8 |
| |
| #endif // V8_WASM_WASM_TIER_H_ |