1343 static void pd_compiler2_init();
1344
1345 // Static parse-time type checking logic for gen_subtype_check:
1346 enum { SSC_always_false, SSC_always_true, SSC_easy_test, SSC_full_test };
1347 int static_subtype_check(ciKlass* superk, ciKlass* subk);
1348
1349 static Node* conv_I2X_index(PhaseGVN* phase, Node* offset, const TypeInt* sizetype,
1350 // Optional control dependency (for example, on range check)
1351 Node* ctrl = NULL);
1352
1353 // Convert integer value to a narrowed long type dependent on ctrl (for example, a range check)
1354 static Node* constrained_convI2L(PhaseGVN* phase, Node* value, const TypeInt* itype, Node* ctrl);
1355
1356 // Auxiliary method for randomized fuzzing/stressing
1357 static bool randomized_select(int count);
1358
1359 // supporting clone_map
1360 CloneMap& clone_map();
1361 void set_clone_map(Dict* d);
1362
1363 };
1364
1365 #endif // SHARE_VM_OPTO_COMPILE_HPP
|
1343 static void pd_compiler2_init();
1344
1345 // Static parse-time type checking logic for gen_subtype_check:
1346 enum { SSC_always_false, SSC_always_true, SSC_easy_test, SSC_full_test };
1347 int static_subtype_check(ciKlass* superk, ciKlass* subk);
1348
1349 static Node* conv_I2X_index(PhaseGVN* phase, Node* offset, const TypeInt* sizetype,
1350 // Optional control dependency (for example, on range check)
1351 Node* ctrl = NULL);
1352
1353 // Convert integer value to a narrowed long type dependent on ctrl (for example, a range check)
1354 static Node* constrained_convI2L(PhaseGVN* phase, Node* value, const TypeInt* itype, Node* ctrl);
1355
1356 // Auxiliary method for randomized fuzzing/stressing
1357 static bool randomized_select(int count);
1358
1359 // supporting clone_map
1360 CloneMap& clone_map();
1361 void set_clone_map(Dict* d);
1362
1363 void shenandoah_eliminate_matrix_update(Node* p2x, PhaseIterGVN* igvn);
1364 void shenandoah_eliminate_g1_wb_pre(Node* call, PhaseIterGVN* igvn);
1365
1366 };
1367
1368 #endif // SHARE_VM_OPTO_COMPILE_HPP
|