comparison src/share/vm/opto/buildOopMap.cpp @ 729:04fa5affa478

6709742: find_base_for_derived's use of Ideal NULL is unsafe causing crashes during register allocation Summary: Create a mach node corresponding to ideal node ConP #NULL specifically for derived pointers. Reviewed-by: never
author kvn
date Wed, 22 Apr 2009 17:03:18 -0700
parents 98cb887364d3
children acba6af809c8
comparison
equal deleted inserted replaced
728:85656c8fa13f 729:04fa5affa478
359 if( dup_check[reg2] != 0) cnt_callee_saves++; 359 if( dup_check[reg2] != 0) cnt_callee_saves++;
360 assert( cnt_callee_saves==3 || cnt_callee_saves==5, "missed some callee-save" ); 360 assert( cnt_callee_saves==3 || cnt_callee_saves==5, "missed some callee-save" );
361 reg2++; 361 reg2++;
362 } 362 }
363 */ 363 */
364 #endif
365
366 #ifdef ASSERT
367 for( OopMapStream oms1(omap, OopMapValue::derived_oop_value); !oms1.is_done(); oms1.next()) {
368 OopMapValue omv1 = oms1.current();
369 bool found = false;
370 for( OopMapStream oms2(omap,OopMapValue::oop_value); !oms2.is_done(); oms2.next()) {
371 if( omv1.content_reg() == oms2.current().reg() ) {
372 found = true;
373 break;
374 }
375 }
376 assert( found, "derived with no base in oopmap" );
377 }
364 #endif 378 #endif
365 379
366 return omap; 380 return omap;
367 } 381 }
368 382