changeset 18877:1ca36602c05b

[SPARC] Fix C2 code emission issue
author Stefan Anzinger <stefan.anzinger@oracle.com>
date Mon, 19 Jan 2015 14:29:54 +0100
parents c446d00f2cdf
children 5e85485a1b44 759d9ffc97fd
files src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp	Sat Jan 17 11:26:18 2015 +0100
+++ b/src/cpu/sparc/vm/macroAssembler_sparc.inline.hpp	Mon Jan 19 14:29:54 2015 +0100
@@ -630,7 +630,8 @@
 
 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