Mercurial > hg > aarch64-jdk8u51-b16-hotspot
changeset 8085:337544dce369
8071818: Incorrect addressing mode used for ldf in SPARC assembler
Summary: Update MacroAssembler::ldf to select addressing mode depending on Address parameter.
Reviewed-by: kvn, dlong
author | zmajo |
---|---|
date | Fri, 30 Jan 2015 10:40:08 +0100 |
parents | 500cd126036b |
children | 3b0a72b28fb0 |
files | src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp |
diffstat | 1 files changed, 6 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp Thu Dec 18 17:59:15 2014 -0800 +++ b/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp Fri Jan 30 10:40:08 2015 +0100 @@ -630,7 +630,12 @@ inline void MacroAssembler::ldf(FloatRegisterImpl::Width w, const Address& a, FloatRegister d, int offset) { relocate(a.rspec(offset)); - ldf(w, a.base(), a.disp() + offset, d); + if (a.has_index()) { + assert(offset == 0, ""); + ldf(w, a.base(), a.index(), d); + } else { + ldf(w, a.base(), a.disp() + offset, d); + } } // returns if membar generates anything, obviously this code should mirror