6700789: G1: Enable use of compressed oops with G1 heaps

Modifications to G1 so as to allow the use of compressed oops.

Reviewed-by: apetrusenko, coleenp, jmasa, kvn, never, phh, tonyp
This commit is contained in:
Y. Srinivas Ramakrishna 2009-07-14 15:40:39 -07:00
parent 50d7db1805
commit 075c1335cb
58 changed files with 1233 additions and 1175 deletions

View file

@ -287,7 +287,7 @@ public:
// these functions here for performance.
protected:
void write_ref_field_work(oop obj, size_t offset, oop newVal);
void write_ref_field_work(void* field, oop newVal);
virtual void write_ref_field_work(void* field, oop newVal);
public:
bool has_write_ref_array_opt() { return true; }
@ -317,10 +317,10 @@ public:
// *** Card-table-barrier-specific things.
inline void inline_write_ref_field_pre(void* field, oop newVal) {}
template <class T> inline void inline_write_ref_field_pre(T* field, oop newVal) {}
inline void inline_write_ref_field(void* field, oop newVal) {
jbyte* byte = byte_for(field);
template <class T> inline void inline_write_ref_field(T* field, oop newVal) {
jbyte* byte = byte_for((void*)field);
*byte = dirty_card;
}