8272723: Don't use Access API to access primitive fields

Reviewed-by: stefank, eosterlund
This commit is contained in:
Roman Kennke 2021-10-11 10:37:54 +00:00
parent 49f8ce6e9c
commit 3edee1e1fe
9 changed files with 106 additions and 194 deletions

View file

@ -84,7 +84,7 @@ inline void InstanceKlass::release_set_methods_jmethod_ids(jmethodID* jmeths) {
template <typename T, class OopClosureType>
ALWAYSINLINE void InstanceKlass::oop_oop_iterate_oop_map(OopMapBlock* map, oop obj, OopClosureType* closure) {
T* p = (T*)obj->obj_field_addr<T>(map->offset());
T* p = obj->field_addr<T>(map->offset());
T* const end = p + map->count();
for (; p < end; ++p) {
@ -94,7 +94,7 @@ ALWAYSINLINE void InstanceKlass::oop_oop_iterate_oop_map(OopMapBlock* map, oop o
template <typename T, class OopClosureType>
ALWAYSINLINE void InstanceKlass::oop_oop_iterate_oop_map_reverse(OopMapBlock* map, oop obj, OopClosureType* closure) {
T* const start = (T*)obj->obj_field_addr<T>(map->offset());
T* const start = obj->field_addr<T>(map->offset());
T* p = start + map->count();
while (start < p) {
@ -105,7 +105,7 @@ ALWAYSINLINE void InstanceKlass::oop_oop_iterate_oop_map_reverse(OopMapBlock* ma
template <typename T, class OopClosureType>
ALWAYSINLINE void InstanceKlass::oop_oop_iterate_oop_map_bounded(OopMapBlock* map, oop obj, OopClosureType* closure, MemRegion mr) {
T* p = (T*)obj->obj_field_addr<T>(map->offset());
T* p = obj->field_addr<T>(map->offset());
T* end = p + map->count();
T* const l = (T*)mr.start();