1.1 --- a/src/share/vm/classfile/javaClasses.hpp Fri Apr 11 09:56:35 2008 -0400 1.2 +++ b/src/share/vm/classfile/javaClasses.hpp Sun Apr 13 17:43:42 2008 -0400 1.3 @@ -691,24 +691,47 @@ 1.4 static int number_of_fake_oop_fields; 1.5 1.6 // Accessors 1.7 - static oop referent(oop ref) { return *referent_addr(ref); } 1.8 - static void set_referent(oop ref, oop value); 1.9 - static oop* referent_addr(oop ref); 1.10 + static oop referent(oop ref) { 1.11 + return ref->obj_field(referent_offset); 1.12 + } 1.13 + static void set_referent(oop ref, oop value) { 1.14 + ref->obj_field_put(referent_offset, value); 1.15 + } 1.16 + static void set_referent_raw(oop ref, oop value) { 1.17 + ref->obj_field_raw_put(referent_offset, value); 1.18 + } 1.19 + static HeapWord* referent_addr(oop ref) { 1.20 + return ref->obj_field_addr<HeapWord>(referent_offset); 1.21 + } 1.22 + static oop next(oop ref) { 1.23 + return ref->obj_field(next_offset); 1.24 + } 1.25 + static void set_next(oop ref, oop value) { 1.26 + ref->obj_field_put(next_offset, value); 1.27 + } 1.28 + static void set_next_raw(oop ref, oop value) { 1.29 + ref->obj_field_raw_put(next_offset, value); 1.30 + } 1.31 + static HeapWord* next_addr(oop ref) { 1.32 + return ref->obj_field_addr<HeapWord>(next_offset); 1.33 + } 1.34 + static oop discovered(oop ref) { 1.35 + return ref->obj_field(discovered_offset); 1.36 + } 1.37 + static void set_discovered(oop ref, oop value) { 1.38 + ref->obj_field_put(discovered_offset, value); 1.39 + } 1.40 + static void set_discovered_raw(oop ref, oop value) { 1.41 + ref->obj_field_raw_put(discovered_offset, value); 1.42 + } 1.43 + static HeapWord* discovered_addr(oop ref) { 1.44 + return ref->obj_field_addr<HeapWord>(discovered_offset); 1.45 + } 1.46 + // Accessors for statics 1.47 + static oop pending_list_lock(); 1.48 + static oop pending_list(); 1.49 1.50 - static oop next(oop ref) { return *next_addr(ref); } 1.51 - static void set_next(oop ref, oop value); 1.52 - static oop* next_addr(oop ref); 1.53 - 1.54 - static oop discovered(oop ref) { return *discovered_addr(ref); } 1.55 - static void set_discovered(oop ref, oop value); 1.56 - static oop* discovered_addr(oop ref); 1.57 - 1.58 - // Accessors for statics 1.59 - static oop pending_list_lock() { return *pending_list_lock_addr(); } 1.60 - static oop pending_list() { return *pending_list_addr(); } 1.61 - 1.62 - static oop* pending_list_lock_addr(); 1.63 - static oop* pending_list_addr(); 1.64 + static HeapWord* pending_list_addr(); 1.65 }; 1.66 1.67