Similar to JDK-8252219, we should also randomize the order in which nodes are expanded during macro expansion.
As a quick hack, I added the following code to the beginning of Compile::sort_macro_nodes() which worked just fine:
for (int i = 0; i < count; i++) {
uint j = C->random() % count;
Node* a = macro_node(i);
Node* b = macro_node(j);
_macro_nodes.at_put(i, b);
_macro_nodes.at_put(j, a);
}
As a quick hack, I added the following code to the beginning of Compile::sort_macro_nodes() which worked just fine:
for (int i = 0; i < count; i++) {
uint j = C->random() % count;
Node* a = macro_node(i);
Node* b = macro_node(j);
_macro_nodes.at_put(i, b);
_macro_nodes.at_put(j, a);
}
- relates to
-
JDK-8325478 Restructure the macro expansion compiler phase to not include macro elimination
-
- Open
-
-
CODETOOLS-7903655 jcstress: Support StressMacroExpansion stress option
-
- Resolved
-