[aarch64-port-dev ] Correct SafeFetch stubs

Andrew Haley aph at redhat.com
Thu Nov 28 04:34:52 PST 2013


The SafeFetch stubs aren't correct for the non-builtin sim case.

Andrew.


# HG changeset patch
# User aph
# Date 1385640816 18000
#      Thu Nov 28 07:13:36 2013 -0500
# Node ID 791011ac54983caec771944e5ee7750f029b60d8
# Parent  513a27ec96c9fe6ca9c61c1ccdf16606bde7aa4d
Correct SafeFetch stubs.

diff -r 513a27ec96c9 -r 791011ac5498 src/cpu/aarch64/vm/stubGenerator_aarch64.cpp
--- a/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp      Tue Nov 26 14:11:58 2013 -0500
+++ b/src/cpu/aarch64/vm/stubGenerator_aarch64.cpp      Thu Nov 28 07:13:36 2013 -0500
@@ -1884,11 +1884,11 @@
     switch (size) {
       case 4:
         // int32_t
-       __ ldrw(c_rarg0, Address(c_rarg0, 0));
+       __ ldrw(c_rarg1, Address(c_rarg0, 0));
         break;
       case 8:
         // int64_t
-       __ ldr(c_rarg0, Address(c_rarg0, 0));
+       __ ldr(c_rarg1, Address(c_rarg0, 0));
         break;
       default:
         ShouldNotReachHere();
@@ -1896,6 +1896,7 @@

     // return errValue or *adr
     *continuation_pc = __ pc();
+    __ mov(r0, c_rarg1);
     __ ret(lr);
   }
 #endif



More information about the aarch64-port-dev mailing list