src/share/vm/memory/compactingPermGenGen.hpp

changeset 2497
3582bf76420e
parent 2314
f95d63e2154a
child 2658
c7f3d0b4570f
     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  

mercurial