< prev index next >

src/share/vm/oops/typeArrayKlass.cpp

Print this page
rev 12906 : [mq]: gc_interface

*** 39,48 **** --- 39,49 ---- #include "oops/klass.inline.hpp" #include "oops/objArrayKlass.hpp" #include "oops/oop.inline.hpp" #include "oops/typeArrayKlass.inline.hpp" #include "oops/typeArrayOop.inline.hpp" + #include "runtime/access.inline.hpp" #include "runtime/handles.inline.hpp" #include "utilities/macros.hpp" bool TypeArrayKlass::compute_is_subtype_of(Klass* k) { if (!k->is_typeArray_klass()) {
*** 350,354 **** --- 351,385 ---- } PackageEntry* TypeArrayKlass::package() const { return NULL; } + + jbyte typeArrayOopDesc::byte_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), byte_at_offset(which)); } + void typeArrayOopDesc::byte_at_put(int which, jbyte contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), byte_at_offset(which), contents); } + + jboolean typeArrayOopDesc::bool_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), bool_at_offset(which)); } + void typeArrayOopDesc::bool_at_put(int which, jboolean contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), bool_at_offset(which), (jboolean)(((jint)contents) & 1)); } + + jchar typeArrayOopDesc::char_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), char_at_offset(which)); } + void typeArrayOopDesc::char_at_put(int which, jchar contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), char_at_offset(which), contents); } + + jint typeArrayOopDesc::int_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), int_at_offset(which)); } + void typeArrayOopDesc::int_at_put(int which, jint contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), int_at_offset(which), contents); } + + jshort typeArrayOopDesc::short_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), short_at_offset(which)); } + void typeArrayOopDesc::short_at_put(int which, jshort contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), short_at_offset(which), contents); } + + jushort typeArrayOopDesc::ushort_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), short_at_offset(which)); } + void typeArrayOopDesc::ushort_at_put(int which, jushort contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), short_at_offset(which), contents); } + + jlong typeArrayOopDesc::long_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), long_at_offset(which)); } + void typeArrayOopDesc::long_at_put(int which, jlong contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), long_at_offset(which), contents); } + + jfloat typeArrayOopDesc::float_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), float_at_offset(which)); } + void typeArrayOopDesc::float_at_put(int which, jfloat contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), float_at_offset(which), contents); } + + jdouble typeArrayOopDesc::double_at(int which) const { return HeapAccess<ACCESS_ON_ARRAY>::load_at(oop_base(), double_at_offset(which)); } + void typeArrayOopDesc::double_at_put(int which, jdouble contents) { HeapAccess<ACCESS_ON_ARRAY>::store_at(oop_base(), double_at_offset(which), contents); } + + jbyte typeArrayOopDesc::byte_at_acquire(int which) const { return HeapAccess<ACCESS_ON_ARRAY | MO_ACQUIRE>::load_at(oop_base(), byte_at_offset(which)); } + void typeArrayOopDesc::release_byte_at_put(int which, jbyte contents) { HeapAccess<ACCESS_ON_ARRAY | MO_RELEASE>::store_at(oop_base(), byte_at_offset(which), contents); }
< prev index next >