1.1 --- a/src/share/vm/opto/compile.cpp Tue Jun 15 15:57:36 2010 -0700 1.2 +++ b/src/share/vm/opto/compile.cpp Tue Jun 15 18:07:27 2010 -0700 1.3 @@ -2000,6 +2000,17 @@ 1.4 } 1.5 } 1.6 1.7 +#ifdef ASSERT 1.8 + if( n->is_Mem() ) { 1.9 + Compile* C = Compile::current(); 1.10 + int alias_idx = C->get_alias_index(n->as_Mem()->adr_type()); 1.11 + assert( n->in(0) != NULL || alias_idx != Compile::AliasIdxRaw || 1.12 + // oop will be recorded in oop map if load crosses safepoint 1.13 + n->is_Load() && (n->as_Load()->bottom_type()->isa_oopptr() || 1.14 + LoadNode::is_immutable_value(n->in(MemNode::Address))), 1.15 + "raw memory operations should have control edge"); 1.16 + } 1.17 +#endif 1.18 // Count FPU ops and common calls, implements item (3) 1.19 switch( nop ) { 1.20 // Count all float operations that may use FPU