mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-17 09:34:38 +02:00
8272723: Don't use Access API to access primitive fields
Reviewed-by: stefank, eosterlund
This commit is contained in:
parent
49f8ce6e9c
commit
3edee1e1fe
9 changed files with 106 additions and 194 deletions
|
@ -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();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue