8068054: AARCH64: Assembler interpreter, shared runtime
Andrew Haley
aph at redhat.com
Wed Jan 21 09:15:00 UTC 2015
On 20/01/15 19:51, Dean Long wrote:
> I believe offset_unit refers to the location of the relocation
> (typically a 4-byte
> machine instruction) and not the size of the reloc data, so you may want to
> try changing to "4" in the future.
Umm, really? I looked at the code and saw
#ifdef ASSERT
relocInfo::relocInfo(relocType t, int off, int f) {
assert(t != data_prefix_tag, "cannot build a prefix this way");
assert((t & type_mask) == t, "wrong type");
assert((f & format_mask) == f, "wrong format");
assert(off >= 0 && off < offset_limit(), "offset out off bounds");
assert((off & (offset_unit-1)) == 0, "misaligned offset");
(*this) = relocInfo(t, RAW_BITS, off, f);
}
#endif
which suggested to me that the offset must be aligned by offset_unit.
Am I reading this wrongly?
Andrew.
More information about the hotspot-dev
mailing list