1.1 --- a/src/share/vm/memory/compactingPermGenGen.hpp Thu Jan 27 13:42:28 2011 -0800 1.2 +++ b/src/share/vm/memory/compactingPermGenGen.hpp Thu Jan 27 16:11:27 2011 -0800 1.3 @@ -96,9 +96,6 @@ 1.4 static HeapWord* misccode_end; 1.5 static HeapWord* shared_end; 1.6 1.7 - // List of klassOops whose vtbl entries are used to patch others. 1.8 - static void** _vtbl_list; 1.9 - 1.10 // Performance Counters 1.11 GenerationCounters* _gen_counters; 1.12 CSpaceCounters* _space_counters; 1.13 @@ -153,32 +150,25 @@ 1.14 VirtualSpace* mc_space() { return &_mc_vs; } 1.15 ContiguousSpace* unshared_space() const { return _the_space; } 1.16 1.17 - static bool inline is_shared(const oopDesc* p) { 1.18 - return (HeapWord*)p >= shared_bottom && (HeapWord*)p < shared_end; 1.19 + static bool inline is_shared(const void* p) { 1.20 + return p >= shared_bottom && p < shared_end; 1.21 } 1.22 // RedefineClasses note: this tester is used to check residence of 1.23 // the specified oop in the shared readonly space and not whether 1.24 // the oop is readonly. 1.25 - static bool inline is_shared_readonly(const oopDesc* p) { 1.26 - return (HeapWord*)p >= readonly_bottom && (HeapWord*)p < readonly_end; 1.27 + static bool inline is_shared_readonly(const void* p) { 1.28 + return p >= readonly_bottom && p < readonly_end; 1.29 } 1.30 // RedefineClasses note: this tester is used to check residence of 1.31 // the specified oop in the shared readwrite space and not whether 1.32 // the oop is readwrite. 1.33 - static bool inline is_shared_readwrite(const oopDesc* p) { 1.34 - return (HeapWord*)p >= readwrite_bottom && (HeapWord*)p < readwrite_end; 1.35 + static bool inline is_shared_readwrite(const void* p) { 1.36 + return p >= readwrite_bottom && p < readwrite_end; 1.37 } 1.38 1.39 - bool is_in_unshared(const void* p) const { 1.40 - return OneContigSpaceCardGeneration::is_in(p); 1.41 - } 1.42 - 1.43 - bool is_in_shared(const void* p) const { 1.44 - return p >= shared_bottom && p < shared_end; 1.45 - } 1.46 - 1.47 + // Checks if the pointer is either in unshared space or in shared space 1.48 inline bool is_in(const void* p) const { 1.49 - return is_in_unshared(p) || is_in_shared(p); 1.50 + return OneContigSpaceCardGeneration::is_in(p) || is_shared(p); 1.51 } 1.52 1.53 inline PermanentGenerationSpec* spec() const { return _spec; } 1.54 @@ -236,6 +226,9 @@ 1.55 void** vtable, 1.56 char** md_top, char* md_end, 1.57 char** mc_top, char* mc_end); 1.58 + static void* find_matching_vtbl_ptr(void** vtbl_list, 1.59 + void* new_vtable_start, 1.60 + void* obj); 1.61 1.62 void verify(bool allow_dirty); 1.63