1131 // Note: Histogram array size is about 1 Kb. 1132 enum { // flag bits: 1133 _intrinsic_worked = 1, // succeeded at least once 1134 _intrinsic_failed = 2, // tried it but it failed 1135 _intrinsic_disabled = 4, // was requested but disabled (e.g., -XX:-InlineUnsafeOps) 1136 _intrinsic_virtual = 8, // was seen in the virtual form (rare) 1137 _intrinsic_both = 16 // was seen in the non-virtual form (usual) 1138 }; 1139 // Update histogram. Return boolean if this is a first-time occurrence. 1140 static bool gather_intrinsic_statistics(vmIntrinsics::ID id, 1141 bool is_virtual, int flags) PRODUCT_RETURN0; 1142 static void print_intrinsic_statistics() PRODUCT_RETURN; 1143 1144 // Graph verification code 1145 // Walk the node list, verifying that there is a one-to-one 1146 // correspondence between Use-Def edges and Def-Use edges 1147 // The option no_dead_code enables stronger checks that the 1148 // graph is strongly connected from root in both directions. 1149 void verify_graph_edges(bool no_dead_code = false) PRODUCT_RETURN; 1150 1151 // End-of-run dumps. 1152 static void print_statistics() PRODUCT_RETURN; 1153 1154 // Dump formatted assembly 1155 void dump_asm(int *pcs = NULL, uint pc_limit = 0) PRODUCT_RETURN; 1156 void dump_pc(int *pcs, int pc_limit, Node *n); 1157 1158 // Verify ADLC assumptions during startup 1159 static void adlc_verification() PRODUCT_RETURN; 1160 1161 // Definitions of pd methods 1162 static void pd_compiler2_init(); 1163 1164 // Auxiliary method for randomized fuzzing/stressing 1165 static bool randomized_select(int count); 1166 1167 // enter a PreserveJVMState block 1168 void inc_preserve_jvm_state() { 1169 _preserve_jvm_state++; 1170 } | 1131 // Note: Histogram array size is about 1 Kb. 1132 enum { // flag bits: 1133 _intrinsic_worked = 1, // succeeded at least once 1134 _intrinsic_failed = 2, // tried it but it failed 1135 _intrinsic_disabled = 4, // was requested but disabled (e.g., -XX:-InlineUnsafeOps) 1136 _intrinsic_virtual = 8, // was seen in the virtual form (rare) 1137 _intrinsic_both = 16 // was seen in the non-virtual form (usual) 1138 }; 1139 // Update histogram. Return boolean if this is a first-time occurrence. 1140 static bool gather_intrinsic_statistics(vmIntrinsics::ID id, 1141 bool is_virtual, int flags) PRODUCT_RETURN0; 1142 static void print_intrinsic_statistics() PRODUCT_RETURN; 1143 1144 // Graph verification code 1145 // Walk the node list, verifying that there is a one-to-one 1146 // correspondence between Use-Def edges and Def-Use edges 1147 // The option no_dead_code enables stronger checks that the 1148 // graph is strongly connected from root in both directions. 1149 void verify_graph_edges(bool no_dead_code = false) PRODUCT_RETURN; 1150 1151 // Verify GC barrier patterns 1152 void verify_barriers() PRODUCT_RETURN; 1153 1154 // End-of-run dumps. 1155 static void print_statistics() PRODUCT_RETURN; 1156 1157 // Dump formatted assembly 1158 void dump_asm(int *pcs = NULL, uint pc_limit = 0) PRODUCT_RETURN; 1159 void dump_pc(int *pcs, int pc_limit, Node *n); 1160 1161 // Verify ADLC assumptions during startup 1162 static void adlc_verification() PRODUCT_RETURN; 1163 1164 // Definitions of pd methods 1165 static void pd_compiler2_init(); 1166 1167 // Auxiliary method for randomized fuzzing/stressing 1168 static bool randomized_select(int count); 1169 1170 // enter a PreserveJVMState block 1171 void inc_preserve_jvm_state() { 1172 _preserve_jvm_state++; 1173 } |