8203339: Add oopDesc::field_offset()

Reviewed-by: rkennke, eosterlund
This commit is contained in:
Stefan Karlsson 2018-05-20 22:08:25 +02:00
parent 535c2507a0
commit 7b0d398bc7
3 changed files with 77 additions and 0 deletions

View file

@ -266,6 +266,9 @@ void* oopDesc::field_addr(int offset) const { return Access<>::resolv
template <class T>
T* oopDesc::obj_field_addr_raw(int offset) const { return (T*) field_addr_raw(offset); }
template <typename T>
size_t oopDesc::field_offset(T* p) const { return pointer_delta((void*)p, (void*)this, 1); }
template <DecoratorSet decorators>
inline oop oopDesc::obj_field_access(int offset) const { return HeapAccess<decorators>::oop_load_at(as_oop(), offset); }
inline oop oopDesc::obj_field(int offset) const { return HeapAccess<>::oop_load_at(as_oop(), offset); }