< prev index next >

src/share/vm/oops/klassVtable.hpp

Print this page

@@ -194,10 +194,11 @@
   static int size()          { return sizeof(vtableEntry) / wordSize; }
   static int size_in_bytes() { return sizeof(vtableEntry); }
 
   static int method_offset_in_bytes() { return offset_of(vtableEntry, _method); }
   Method* method() const    { return _method; }
+  Method** method_addr()    { return &_method; }
 
  private:
   Method* _method;
   void set(Method* method)  { assert(method != NULL, "use clear"); _method = method; }
   void clear()                { _method = NULL; }

@@ -234,10 +235,11 @@
  private:
   Klass* _interface;
   int      _offset;
  public:
   Klass* interface_klass() const { return _interface; }
+  Klass**interface_klass_addr()  { return &_interface; }
   int      offset() const          { return _offset; }
 
   static itableMethodEntry* method_entry(Klass* k, int offset) { return (itableMethodEntry*)(((address)k) + offset); }
   itableMethodEntry* first_method_entry(Klass* k)              { return method_entry(k, _offset); }
 

@@ -256,10 +258,11 @@
  private:
   Method* _method;
 
  public:
   Method* method() const { return _method; }
+  Method**method_addr() { return &_method; }
 
   void clear()             { _method = NULL; }
 
   void initialize(Method* method);
 
< prev index next >