--- a/hotspot/src/share/vm/opto/runtime.cpp Tue Feb 02 11:08:17 2010 -0700
+++ b/hotspot/src/share/vm/opto/runtime.cpp Thu Feb 04 15:50:59 2010 -0800
@@ -706,6 +706,11 @@
// vc->set_receiver_count(empty_row, DataLayout::counter_increment);
int count_off = ReceiverTypeData::receiver_count_cell_index(empty_row);
*(mdp + count_off) = DataLayout::counter_increment;
+ } else {
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ intptr_t* count_p = (intptr_t*)(((byte*)(data)) + in_bytes(CounterData::count_offset()));
+ *count_p += DataLayout::counter_increment;
}
JRT_END