// 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 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_