src/share/vm/oops/klass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7017732 Sdiff src/share/vm/oops

src/share/vm/oops/klass.hpp

Print this page


   1 /*
   2  * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 560   // For classes, this returns the name with the package separators
 561   //     turned into '.'s.
 562   const char* external_name() const;
 563   // Returns the name for a class (Resource allocated) as the class
 564   // would appear in a signature.
 565   // For arrays, this returns the name of the element with a leading '['.
 566   // For classes, this returns the name with a leading 'L' and a trailing ';'
 567   //     and the package separators as '/'.
 568   virtual const char* signature_name() const;
 569 
 570   // garbage collection support
 571   virtual void oop_follow_contents(oop obj) = 0;
 572   virtual int  oop_adjust_pointers(oop obj) = 0;
 573 
 574   // Parallel Scavenge and Parallel Old
 575   PARALLEL_GC_DECLS_PV
 576 
 577  public:
 578   // type testing operations
 579   virtual bool oop_is_instance_slow()       const { return false; }

 580   virtual bool oop_is_instanceRef()         const { return false; }
 581   virtual bool oop_is_array()               const { return false; }
 582   virtual bool oop_is_objArray_slow()       const { return false; }
 583   virtual bool oop_is_klass()               const { return false; }
 584   virtual bool oop_is_thread()              const { return false; }
 585   virtual bool oop_is_method()              const { return false; }
 586   virtual bool oop_is_constMethod()         const { return false; }
 587   virtual bool oop_is_methodData()          const { return false; }
 588   virtual bool oop_is_constantPool()        const { return false; }
 589   virtual bool oop_is_constantPoolCache()   const { return false; }
 590   virtual bool oop_is_typeArray_slow()      const { return false; }
 591   virtual bool oop_is_arrayKlass()          const { return false; }
 592   virtual bool oop_is_objArrayKlass()       const { return false; }
 593   virtual bool oop_is_typeArrayKlass()      const { return false; }
 594   virtual bool oop_is_compiledICHolder()    const { return false; }
 595   virtual bool oop_is_instanceKlass()       const { return false; }
 596 
 597   bool oop_is_javaArray_slow() const {
 598     return oop_is_objArray_slow() || oop_is_typeArray_slow();
 599   }


 794   virtual jint jvmti_class_status() const;
 795 
 796   // Printing
 797   virtual void oop_print_value_on(oop obj, outputStream* st);
 798   virtual void oop_print_on      (oop obj, outputStream* st);
 799 
 800   // Verification
 801   virtual const char* internal_name() const = 0;
 802   virtual void oop_verify_on(oop obj, outputStream* st);
 803   virtual void oop_verify_old_oop(oop obj, oop* p, bool allow_dirty);
 804   virtual void oop_verify_old_oop(oop obj, narrowOop* p, bool allow_dirty);
 805   // tells whether obj is partially constructed (gc during class loading)
 806   virtual bool oop_partially_loaded(oop obj) const { return false; }
 807   virtual void oop_set_partially_loaded(oop obj) {};
 808 
 809 #ifndef PRODUCT
 810   void verify_vtable_index(int index);
 811 #endif
 812 };
 813 




 814 #endif // SHARE_VM_OOPS_KLASS_HPP
   1 /*
   2  * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *


 560   // For classes, this returns the name with the package separators
 561   //     turned into '.'s.
 562   const char* external_name() const;
 563   // Returns the name for a class (Resource allocated) as the class
 564   // would appear in a signature.
 565   // For arrays, this returns the name of the element with a leading '['.
 566   // For classes, this returns the name with a leading 'L' and a trailing ';'
 567   //     and the package separators as '/'.
 568   virtual const char* signature_name() const;
 569 
 570   // garbage collection support
 571   virtual void oop_follow_contents(oop obj) = 0;
 572   virtual int  oop_adjust_pointers(oop obj) = 0;
 573 
 574   // Parallel Scavenge and Parallel Old
 575   PARALLEL_GC_DECLS_PV
 576 
 577  public:
 578   // type testing operations
 579   virtual bool oop_is_instance_slow()       const { return false; }
 580   virtual bool oop_is_instanceMirror()      const { return false; }
 581   virtual bool oop_is_instanceRef()         const { return false; }
 582   virtual bool oop_is_array()               const { return false; }
 583   virtual bool oop_is_objArray_slow()       const { return false; }
 584   virtual bool oop_is_klass()               const { return false; }
 585   virtual bool oop_is_thread()              const { return false; }
 586   virtual bool oop_is_method()              const { return false; }
 587   virtual bool oop_is_constMethod()         const { return false; }
 588   virtual bool oop_is_methodData()          const { return false; }
 589   virtual bool oop_is_constantPool()        const { return false; }
 590   virtual bool oop_is_constantPoolCache()   const { return false; }
 591   virtual bool oop_is_typeArray_slow()      const { return false; }
 592   virtual bool oop_is_arrayKlass()          const { return false; }
 593   virtual bool oop_is_objArrayKlass()       const { return false; }
 594   virtual bool oop_is_typeArrayKlass()      const { return false; }
 595   virtual bool oop_is_compiledICHolder()    const { return false; }
 596   virtual bool oop_is_instanceKlass()       const { return false; }
 597 
 598   bool oop_is_javaArray_slow() const {
 599     return oop_is_objArray_slow() || oop_is_typeArray_slow();
 600   }


 795   virtual jint jvmti_class_status() const;
 796 
 797   // Printing
 798   virtual void oop_print_value_on(oop obj, outputStream* st);
 799   virtual void oop_print_on      (oop obj, outputStream* st);
 800 
 801   // Verification
 802   virtual const char* internal_name() const = 0;
 803   virtual void oop_verify_on(oop obj, outputStream* st);
 804   virtual void oop_verify_old_oop(oop obj, oop* p, bool allow_dirty);
 805   virtual void oop_verify_old_oop(oop obj, narrowOop* p, bool allow_dirty);
 806   // tells whether obj is partially constructed (gc during class loading)
 807   virtual bool oop_partially_loaded(oop obj) const { return false; }
 808   virtual void oop_set_partially_loaded(oop obj) {};
 809 
 810 #ifndef PRODUCT
 811   void verify_vtable_index(int index);
 812 #endif
 813 };
 814 
 815 
 816 inline oop klassOopDesc::java_mirror() const                        { return klass_part()->java_mirror(); }
 817 
 818 
 819 #endif // SHARE_VM_OOPS_KLASS_HPP
src/share/vm/oops/klass.hpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File