8223136: Move compressed oops functions to CompressedOops class

Reviewed-by: coleenp, lkorinth
This commit is contained in:
Stefan Karlsson 2019-05-09 14:26:03 +02:00
parent 73227d0b83
commit 5a8ba256df
68 changed files with 1071 additions and 797 deletions

View file

@ -28,6 +28,7 @@
#include "memory/heapShared.inline.hpp"
#include "memory/resourceArea.hpp"
#include "oops/access.inline.hpp"
#include "oops/compressedOops.inline.hpp"
#include "oops/oop.inline.hpp"
#include "oops/verifyOopClosure.hpp"
#include "runtime/handles.inline.hpp"
@ -150,16 +151,11 @@ bool oopDesc::has_klass_gap() {
return UseCompressedClassPointers;
}
oop oopDesc::decode_oop_raw(narrowOop narrow_oop) {
return (oop)(void*)( (uintptr_t)Universe::narrow_oop_base() +
((uintptr_t)narrow_oop << Universe::narrow_oop_shift()));
}
void* oopDesc::load_klass_raw(oop obj) {
if (UseCompressedClassPointers) {
narrowKlass narrow_klass = *(obj->compressed_klass_addr());
if (narrow_klass == 0) return NULL;
return (void*)Klass::decode_klass_raw(narrow_klass);
return (void*)CompressedKlassPointers::decode_raw(narrow_klass);
} else {
return *(void**)(obj->klass_addr());
}
@ -170,7 +166,7 @@ void* oopDesc::load_oop_raw(oop obj, int offset) {
if (UseCompressedOops) {
narrowOop narrow_oop = *(narrowOop*)addr;
if (narrow_oop == 0) return NULL;
return (void*)decode_oop_raw(narrow_oop);
return (void*)CompressedOops::decode_raw(narrow_oop);
} else {
return *(void**)addr;
}