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