src/share/vm/oops/methodDataOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/methodDataOop.hpp Thu Feb 4 09:29:52 2010
--- new/src/share/vm/oops/methodDataOop.hpp Thu Feb 4 09:29:52 2010
*** 543,552 ****
--- 543,556 ----
}
static ByteSize counter_data_size() {
return cell_offset(counter_cell_count);
}
+ void set_count(uint count) {
+ set_uint_at(count_off, count);
+ }
+
#ifndef PRODUCT
void print_data_on(outputStream* st);
#endif
};
*** 690,699 ****
--- 694,707 ----
set_uint_at(receiver_count_cell_index(row), count);
}
void clear_row(uint row) {
assert(row < row_limit(), "oob");
+ // Cleare total count - indicator of polimorphic call site.
+ // An additional receiver will be recorded in the cleaned row
+ // during next call execution.
+ set_count(0);
set_receiver(row, NULL);
set_receiver_count(row, 0);
}
// Code generation support
src/share/vm/oops/methodDataOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File