aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
diff options
context:
space:
mode:
authoradinn <none@none>2013-08-20 17:54:50 +0100
committeradinn <none@none>2013-08-20 17:54:50 +0100
commit21b7e5ef3410aabf9e8fd71d31bd7f969048557f (patch)
tree9e087168f70c47c161e2312e84888f12711aad5d /src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
parentb2fa7f36e489f6eb2889d49d95601ea8d29f0ce2 (diff)
made C2 work with -XX:+CompressedOoops
this version still dumb about loading 32 bit narrow oop or narrow klass constants into registers. it currently loads the 64-bit uncompressed constant and then encodes it into 32 bits. that's because the relocate code doesn't yet know how to spot a 32-bit load vs a 64 bit load and so cannot guarantee to relocate the load correctly (it assumes such reloc operations are 64 bit). This needs fixing.
Diffstat (limited to 'src/cpu/aarch64/vm/macroAssembler_aarch64.hpp')
-rw-r--r--src/cpu/aarch64/vm/macroAssembler_aarch64.hpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
index d5a22c026..cd344e224 100644
--- a/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
+++ b/src/cpu/aarch64/vm/macroAssembler_aarch64.hpp
@@ -711,9 +711,9 @@ public:
void encode_heap_oop_not_null(Register dst, Register src);
void decode_heap_oop_not_null(Register dst, Register src);
+ void set_narrow_oop(Register dst, jobject obj);
// currently unimplemented
#if 0
- void set_narrow_oop(Register dst, jobject obj);
void set_narrow_oop(Address dst, jobject obj);
void cmp_narrow_oop(Register dst, jobject obj);
void cmp_narrow_oop(Address dst, jobject obj);
@@ -724,9 +724,9 @@ public:
void encode_klass_not_null(Register dst, Register src);
void decode_klass_not_null(Register dst, Register src);
+ void set_narrow_klass(Register dst, Klass* k);
// currently unimplemented
#if 0
- void set_narrow_klass(Register dst, Klass* k);
void set_narrow_klass(Address dst, Klass* k);
void cmp_narrow_klass(Register dst, Klass* k);
void cmp_narrow_klass(Address dst, Klass* k);