summaryrefslogtreecommitdiff
path: root/java/cacao/files/patch-src-vm-jit-x86_64-md.c
diff options
context:
space:
mode:
Diffstat (limited to 'java/cacao/files/patch-src-vm-jit-x86_64-md.c')
-rw-r--r--java/cacao/files/patch-src-vm-jit-x86_64-md.c71
1 files changed, 71 insertions, 0 deletions
diff --git a/java/cacao/files/patch-src-vm-jit-x86_64-md.c b/java/cacao/files/patch-src-vm-jit-x86_64-md.c
new file mode 100644
index 000000000000..e2e01941c4c4
--- /dev/null
+++ b/java/cacao/files/patch-src-vm-jit-x86_64-md.c
@@ -0,0 +1,71 @@
+--- src/vm/jit/x86_64/md.c.orig Sun Feb 4 15:42:05 2007
++++ src/vm/jit/x86_64/md.c Sun Feb 4 15:45:32 2007
+@@ -91,8 +91,8 @@
+ /* ATTENTION: Don't use CACAO's internal REG_* defines as they are
+ different to the ones in <ucontext.h>. */
+
+- sp = (u1 *) _mc->gregs[REG_RSP];
+- xpc = (u1 *) _mc->gregs[REG_RIP];
++ sp = (u1 *) _mc->mc_rsp;
++ xpc = (u1 *) _mc->mc_rip;
+ ra = xpc; /* return address is equal to xpc */
+
+ #if 0
+@@ -101,11 +101,11 @@
+ threads_check_stackoverflow(sp);
+ #endif
+
+- _mc->gregs[REG_RAX] =
++ _mc->mc_rax =
+ (ptrint) stacktrace_hardware_nullpointerexception(NULL, sp, ra, xpc);
+
+- _mc->gregs[REG_R10] = (ptrint) xpc; /* REG_ITMP2_XPC */
+- _mc->gregs[REG_RIP] = (ptrint) asm_handle_exception;
++ _mc->mc_r10 = (ptrint) xpc; /* REG_ITMP2_XPC */
++ _mc->mc_rip = (ptrint) asm_handle_exception;
+ }
+
+
+@@ -130,15 +130,15 @@
+ /* ATTENTION: Don't use CACAO's internal REG_* defines as they are
+ different to the ones in <ucontext.h>. */
+
+- sp = (u1 *) _mc->gregs[REG_RSP];
+- xpc = (u1 *) _mc->gregs[REG_RIP];
++ sp = (u1 *) _mc->mc_rsp;
++ xpc = (u1 *) _mc->mc_rip;
+ ra = xpc; /* return address is equal to xpc */
+
+- _mc->gregs[REG_RAX] =
++ _mc->mc_rax =
+ (ptrint) stacktrace_hardware_arithmeticexception(NULL, sp, ra, xpc);
+
+- _mc->gregs[REG_R10] = (ptrint) xpc; /* REG_ITMP2_XPC */
+- _mc->gregs[REG_RIP] = (ptrint) asm_handle_exception;
++ _mc->mc_r10 = (ptrint) xpc; /* REG_ITMP2_XPC */
++ _mc->mc_rip = (ptrint) asm_handle_exception;
+ }
+
+
+@@ -164,7 +164,7 @@
+ /* ATTENTION: Don't use CACAO's internal REG_* defines as they are
+ different to the ones in <ucontext.h>. */
+
+- pc = (u1 *) _mc->gregs[REG_RIP];
++ pc = (u1 *) _mc->mc_rip;
+
+ t->pc = pc;
+ }
+@@ -179,10 +179,10 @@
+
+ _mc = &_uc->uc_mcontext;
+
+- pc = critical_find_restart_point((void *) _mc->gregs[REG_RIP]);
++ pc = critical_find_restart_point((void *) _mc->mc_rip);
+
+ if (pc != NULL)
+- _mc->gregs[REG_RIP] = (ptrint) pc;
++ _mc->mc_rip = (ptrint) pc;
+ }
+ #endif
+