ExecutionModes.h 1.2 KB

1234567891011121314151617181920212223242526272829
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // Non-profiling interpreter
  6. // - For instance, it is used for NoNative mode
  7. // - Does not transition to other execution modes
  8. EXECUTION_MODE(Interpreter)
  9. // Auto-profiling interpreter
  10. // - Starts in min-profiling mode
  11. // - Switches to profiling mode for loops based on iteration count
  12. // - Switches back to min-profiling mode upon leaving a loop
  13. EXECUTION_MODE(AutoProfilingInterpreter)
  14. // Profiling interpreter (does full profiling)
  15. EXECUTION_MODE(ProfilingInterpreter)
  16. // Simple JIT
  17. // - Behavior is determined based on the NewSimpleJit flag
  18. // - Off: Behave as old simple JIT (does full profiling)
  19. // - On: Behave as new simple JIT (does not profile, includes fast paths)
  20. EXECUTION_MODE(SimpleJit)
  21. // Full JIT (no profiling, self-explanatory)
  22. EXECUTION_MODE(FullJit)
  23. EXECUTION_MODE(Count)