From 6ed411a08d7e3bf9a4bf415e044e559196e9eda5 Mon Sep 17 00:00:00 2001 From: Ben Vanik Date: Fri, 31 Jan 2014 22:51:18 -0800 Subject: [PATCH] Fixing printing of floats. --- src/alloy/backend/x64/lowering/op_utils.inl | 2 +- src/alloy/backend/x64/x64_thunk_emitter.h | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/alloy/backend/x64/lowering/op_utils.inl b/src/alloy/backend/x64/lowering/op_utils.inl index 7fe1bda6d..bfb0e63d9 100644 --- a/src/alloy/backend/x64/lowering/op_utils.inl +++ b/src/alloy/backend/x64/lowering/op_utils.inl @@ -17,7 +17,7 @@ namespace { #define LIKE_REG(dest, like) Reg(dest.getIdx(), dest.getKind(), like.getBit(), false) #define NAX_LIKE(like) Reg(e.rax.getIdx(), e.rax.getKind(), like.getBit(), false) -#define STASH_OFFSET 0 +#define STASH_OFFSET 32 // If we are running with tracing on we have to store the EFLAGS in the stack, // otherwise our calls out to C to print will clear it before DID_CARRY/etc diff --git a/src/alloy/backend/x64/x64_thunk_emitter.h b/src/alloy/backend/x64/x64_thunk_emitter.h index 4ce0669a7..6559ab9a5 100644 --- a/src/alloy/backend/x64/x64_thunk_emitter.h +++ b/src/alloy/backend/x64/x64_thunk_emitter.h @@ -26,10 +26,11 @@ namespace x64 { * NOTE: stack must always be 16b aligned. * * +------------------+ - * | scratch, 56b | rsp + 0 + * | arg temp, 3 * 8 | rsp + 0 * | | - * | .... | * | | + * +------------------+ + * | scratch, 24b | rsp + 32 * | | * +------------------+ * | rbx | rsp + 56