886 _thread_in_Java_trans = 9, // corresponding transition state (not used, included for completness) 887 _thread_blocked = 10, // blocked in vm 888 _thread_blocked_trans = 11, // corresponding transition state 889 _thread_max_state = 12 // maximum thread state+1 - used for statistics allocation 890 }; 891 892 893 // Handy constants for deciding which compiler mode to use. 894 enum MethodCompilation { 895 InvocationEntryBci = -1 // i.e., not a on-stack replacement compilation 896 }; 897 898 // Enumeration to distinguish tiers of compilation 899 enum CompLevel { 900 CompLevel_any = -1, 901 CompLevel_all = -1, 902 CompLevel_none = 0, // Interpreter 903 CompLevel_simple = 1, // C1 904 CompLevel_limited_profile = 2, // C1, invocation & backedge counters 905 CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo 906 CompLevel_full_optimization = 4, // C2 or Shark 907 908 #if defined(COMPILER2) || defined(SHARK) 909 CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered 910 #elif defined(COMPILER1) 911 CompLevel_highest_tier = CompLevel_simple, // pure C1 912 #else 913 CompLevel_highest_tier = CompLevel_none, 914 #endif 915 916 #if defined(TIERED) 917 CompLevel_initial_compile = CompLevel_full_profile // tiered 918 #elif defined(COMPILER1) 919 CompLevel_initial_compile = CompLevel_simple // pure C1 920 #elif defined(COMPILER2) || defined(SHARK) 921 CompLevel_initial_compile = CompLevel_full_optimization // pure C2 922 #else 923 CompLevel_initial_compile = CompLevel_none 924 #endif 925 }; 926 927 inline bool is_c1_compile(int comp_level) { 928 return comp_level > CompLevel_none && comp_level < CompLevel_full_optimization; 929 } 930 931 inline bool is_c2_compile(int comp_level) { 932 return comp_level == CompLevel_full_optimization; 933 } 934 935 inline bool is_highest_tier_compile(int comp_level) { 936 return comp_level == CompLevel_highest_tier; 937 } 938 939 inline bool is_compile(int comp_level) { | 886 _thread_in_Java_trans = 9, // corresponding transition state (not used, included for completness) 887 _thread_blocked = 10, // blocked in vm 888 _thread_blocked_trans = 11, // corresponding transition state 889 _thread_max_state = 12 // maximum thread state+1 - used for statistics allocation 890 }; 891 892 893 // Handy constants for deciding which compiler mode to use. 894 enum MethodCompilation { 895 InvocationEntryBci = -1 // i.e., not a on-stack replacement compilation 896 }; 897 898 // Enumeration to distinguish tiers of compilation 899 enum CompLevel { 900 CompLevel_any = -1, 901 CompLevel_all = -1, 902 CompLevel_none = 0, // Interpreter 903 CompLevel_simple = 1, // C1 904 CompLevel_limited_profile = 2, // C1, invocation & backedge counters 905 CompLevel_full_profile = 3, // C1, invocation & backedge counters + mdo 906 CompLevel_full_optimization = 4, // C2, Shark or JVMCI 907 908 #if defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI 909 CompLevel_highest_tier = CompLevel_full_optimization, // pure C2 and tiered or JVMCI and tiered 910 #elif defined(COMPILER1) 911 CompLevel_highest_tier = CompLevel_simple, // pure C1 or JVMCI 912 #else 913 CompLevel_highest_tier = CompLevel_none, 914 #endif 915 916 #if defined(TIERED) 917 CompLevel_initial_compile = CompLevel_full_profile // tiered 918 #elif defined(COMPILER1) || INCLUDE_JVMCI 919 CompLevel_initial_compile = CompLevel_simple // pure C1 or JVMCI 920 #elif defined(COMPILER2) || defined(SHARK) 921 CompLevel_initial_compile = CompLevel_full_optimization // pure C2 922 #else 923 CompLevel_initial_compile = CompLevel_none 924 #endif 925 }; 926 927 inline bool is_c1_compile(int comp_level) { 928 return comp_level > CompLevel_none && comp_level < CompLevel_full_optimization; 929 } 930 931 inline bool is_c2_compile(int comp_level) { 932 return comp_level == CompLevel_full_optimization; 933 } 934 935 inline bool is_highest_tier_compile(int comp_level) { 936 return comp_level == CompLevel_highest_tier; 937 } 938 939 inline bool is_compile(int comp_level) { |