< 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 >