src/share/vm/oops/klassOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/klassOop.hpp Fri Mar 18 14:58:52 2011
--- new/src/share/vm/oops/klassOop.hpp Fri Mar 18 14:58:52 2011
*** 1,7 ****
--- 1,7 ----
/*
! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
! * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 43,51 ****
--- 43,117 ----
// support for code generation
static int klass_part_offset_in_bytes() { return sizeof(klassOopDesc); }
// returns the Klass part containing dispatching behavior
! Klass* klass_part() { return (Klass*)((address)this + klass_part_offset_in_bytes()); }
! Klass* klass_part() const { return (Klass*)((address)this + klass_part_offset_in_bytes()); }
+
+ // Convenience wrapper
+ inline oop java_mirror() const;
+
+ private:
+ // These have no implementation since klassOop should never be accessed in this fashion
+ oop obj_field(int offset) const;
+ void obj_field_put(int offset, oop value);
+ void obj_field_raw_put(int offset, oop value);
+
+ jbyte byte_field(int offset) const;
+ void byte_field_put(int offset, jbyte contents);
+
+ jchar char_field(int offset) const;
+ void char_field_put(int offset, jchar contents);
+
+ jboolean bool_field(int offset) const;
+ void bool_field_put(int offset, jboolean contents);
+
+ jint int_field(int offset) const;
+ void int_field_put(int offset, jint contents);
+
+ jshort short_field(int offset) const;
+ void short_field_put(int offset, jshort contents);
+
+ jlong long_field(int offset) const;
+ void long_field_put(int offset, jlong contents);
+
+ jfloat float_field(int offset) const;
+ void float_field_put(int offset, jfloat contents);
+
+ jdouble double_field(int offset) const;
+ void double_field_put(int offset, jdouble contents);
+
+ address address_field(int offset) const;
+ void address_field_put(int offset, address contents);
+
+ oop obj_field_acquire(int offset) const;
+ void release_obj_field_put(int offset, oop value);
+
+ jbyte byte_field_acquire(int offset) const;
+ void release_byte_field_put(int offset, jbyte contents);
+
+ jchar char_field_acquire(int offset) const;
+ void release_char_field_put(int offset, jchar contents);
+
+ jboolean bool_field_acquire(int offset) const;
+ void release_bool_field_put(int offset, jboolean contents);
+
+ jint int_field_acquire(int offset) const;
+ void release_int_field_put(int offset, jint contents);
+
+ jshort short_field_acquire(int offset) const;
+ void release_short_field_put(int offset, jshort contents);
+
+ jlong long_field_acquire(int offset) const;
+ void release_long_field_put(int offset, jlong contents);
+
+ jfloat float_field_acquire(int offset) const;
+ void release_float_field_put(int offset, jfloat contents);
+
+ jdouble double_field_acquire(int offset) const;
+ void release_double_field_put(int offset, jdouble contents);
+
+ address address_field_acquire(int offset) const;
+ void release_address_field_put(int offset, address contents);
};
#endif // SHARE_VM_OOPS_KLASSOOP_HPP
src/share/vm/oops/klassOop.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File