1.1 --- a/src/share/vm/opto/graphKit.cpp Wed Oct 07 19:01:55 2009 -0400 1.2 +++ b/src/share/vm/opto/graphKit.cpp Fri Oct 16 02:05:46 2009 -0700 1.3 @@ -3186,6 +3186,15 @@ 1.4 return; 1.5 } 1.6 1.7 + if (use_ReduceInitialCardMarks() 1.8 + && obj == just_allocated_object(control())) { 1.9 + // We can skip marks on a freshly-allocated object in Eden. 1.10 + // Keep this code in sync with maybe_defer_card_mark() in runtime.cpp. 1.11 + // That routine informs GC to take appropriate compensating steps 1.12 + // so as to make this card-mark elision safe. 1.13 + return; 1.14 + } 1.15 + 1.16 if (!use_precise) { 1.17 // All card marks for a (non-array) instance are in one place: 1.18 adr = obj;