diff src/share/vm/oops/klass.hpp @ 2181:d25d4ca69222

Merge.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Wed, 16 Feb 2011 13:47:20 +0100
parents 06f017f7daa7 3582bf76420e
children 0654ee04b214
line wrap: on
line diff
--- a/src/share/vm/oops/klass.hpp	Wed Feb 16 13:38:33 2011 +0100
+++ b/src/share/vm/oops/klass.hpp	Wed Feb 16 13:47:20 2011 +0100
@@ -212,6 +212,10 @@
   // secondary supers, else is &_primary_supers[depth()].
   juint       _super_check_offset;
 
+  // Class name.  Instance classes: java/lang/String, etc.  Array classes: [I,
+  // [Ljava/lang/String;, etc.  Set to zero for all other kinds of classes.
+  Symbol*     _name;
+
  public:
   oop* oop_block_beg() const { return adr_secondary_super_cache(); }
   oop* oop_block_end() const { return adr_next_sibling() + 1; }
@@ -237,9 +241,6 @@
   oop       _c1x_mirror;
   // Superclass
   klassOop  _super;
-  // Class name.  Instance classes: java/lang/String, etc.  Array classes: [I,
-  // [Ljava/lang/String;, etc.  Set to zero for all other kinds of classes.
-  symbolOop _name;
   // First subclass (NULL if none); _subklass->next_sibling() is next one
   klassOop _subklass;
   // Sibling link (or NULL); links all subklasses of a klass
@@ -368,7 +369,6 @@
   oop* adr_secondary_supers()const { return (oop*)&_secondary_supers;  }
   oop* adr_java_mirror()     const { return (oop*)&_java_mirror;       }
   oop* adr_c1x_mirror()      const { return (oop*)&_c1x_mirror;        }
-  oop* adr_name()            const { return (oop*)&_name;              }
   oop* adr_subklass()        const { return (oop*)&_subklass;          }
   oop* adr_next_sibling()    const { return (oop*)&_next_sibling;      }
 
@@ -518,9 +518,9 @@
   virtual void initialize(TRAPS);
   // lookup operation for MethodLookupCache
   friend class MethodLookupCache;
-  virtual methodOop uncached_lookup_method(symbolOop name, symbolOop signature) const;
+  virtual methodOop uncached_lookup_method(Symbol* name, Symbol* signature) const;
  public:
-  methodOop lookup_method(symbolOop name, symbolOop signature) const {
+  methodOop lookup_method(Symbol* name, Symbol* signature) const {
     return uncached_lookup_method(name, signature);
   }
 
@@ -544,6 +544,7 @@
 
  public:
   virtual void remove_unshareable_info();
+  virtual void shared_symbols_iterate(SymbolClosure* closure);
 
  protected:
   // computes the subtype relationship
@@ -586,7 +587,6 @@
   virtual bool oop_is_instanceRef()         const { return false; }
   virtual bool oop_is_array()               const { return false; }
   virtual bool oop_is_objArray_slow()       const { return false; }
-  virtual bool oop_is_symbol()              const { return false; }
   virtual bool oop_is_klass()               const { return false; }
   virtual bool oop_is_thread()              const { return false; }
   virtual bool oop_is_method()              const { return false; }
@@ -788,8 +788,8 @@
   Klass *up_cast_abstract();
 
   // klass name
-  symbolOop name() const                   { return _name; }
-  void set_name(symbolOop n)               { oop_store_without_check((oop*) &_name, (oop) n); }
+  Symbol* name() const                   { return _name; }
+  void set_name(Symbol* n);
 
   friend class klassKlass;