8341831: PhaseCFG::insert_anti_dependences asserts with "no loads"
Reviewed-by: dlong, kvn
This commit is contained in:
parent
9e262df813
commit
a8a8b2deba
@ -763,7 +763,17 @@ Block* PhaseCFG::insert_anti_dependences(Block* LCA, Node* load, bool verify) {
|
|||||||
worklist_def_use_mem_states.pop();
|
worklist_def_use_mem_states.pop();
|
||||||
|
|
||||||
uint op = use_mem_state->Opcode();
|
uint op = use_mem_state->Opcode();
|
||||||
assert(!use_mem_state->needs_anti_dependence_check(), "no loads");
|
|
||||||
|
#ifdef ASSERT
|
||||||
|
// CacheWB nodes are peculiar in a sense that they both are anti-dependent and produce memory.
|
||||||
|
// Allow them to be treated as a store.
|
||||||
|
bool is_cache_wb = false;
|
||||||
|
if (use_mem_state->is_Mach()) {
|
||||||
|
int ideal_op = use_mem_state->as_Mach()->ideal_Opcode();
|
||||||
|
is_cache_wb = (ideal_op == Op_CacheWB);
|
||||||
|
}
|
||||||
|
assert(!use_mem_state->needs_anti_dependence_check() || is_cache_wb, "no loads");
|
||||||
|
#endif
|
||||||
|
|
||||||
// MergeMems do not directly have anti-deps.
|
// MergeMems do not directly have anti-deps.
|
||||||
// Treat them as internal nodes in a forward tree of memory states,
|
// Treat them as internal nodes in a forward tree of memory states,
|
||||||
|
@ -43,8 +43,6 @@
|
|||||||
|
|
||||||
# :hotspot_compiler
|
# :hotspot_compiler
|
||||||
|
|
||||||
applications/ctw/modules/java_base_2.java 8341831 linux-x64
|
|
||||||
|
|
||||||
compiler/ciReplay/TestSAServer.java 8029528 generic-all
|
compiler/ciReplay/TestSAServer.java 8029528 generic-all
|
||||||
compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java 8225370 generic-all
|
compiler/compilercontrol/jcmd/ClearDirectivesFileStackTest.java 8225370 generic-all
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user