summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--cont.c2
-rw-r--r--vm.h8
3 files changed, 9 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index d69bbff03e..99b791ac66 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Dec 24 03:57:28 2007 Koichi Sasada <ko1@atdot.net>
+
+ * cont.c, vm.h: fix to support sparc machine.
+ a patch from Yusuke ENDOH <mame AT tsg.ne.jp>
+
Mon Dec 24 03:35:19 2007 Koichi Sasada <ko1@atdot.net>
* common.mk: remove additional "-".
diff --git a/cont.c b/cont.c
index 39c8cfd33d..c153e5fc59 100644
--- a/cont.c
+++ b/cont.c
@@ -129,6 +129,7 @@ cont_save_machine_stack(rb_thread_t *th, rb_context_t *cont)
cont->machine_stack = ALLOC_N(VALUE, size);
}
+ FLUSH_REGISTER_WINDOWS;
MEMCPY(cont->machine_stack, cont->machine_stack_src, VALUE, size);
#ifdef __ia64
@@ -256,6 +257,7 @@ cont_restore_1(rb_context_t *cont)
}
#endif
if (cont->machine_stack_src) {
+ FLUSH_REGISTER_WINDOWS;
MEMCPY(cont->machine_stack_src, cont->machine_stack,
VALUE, cont->machine_stack_size);
}
diff --git a/vm.h b/vm.h
index f7cffc1caa..a40cc57f96 100644
--- a/vm.h
+++ b/vm.h
@@ -118,14 +118,10 @@ error !
#define ELABEL(x) INSN_ELABEL_##x
#define LABEL_PTR(x) &&LABEL(x)
-#define INSN_ENTRY_SIG(insn) \
- asm volatile ( "; #**************************************************\n" \
- "\t; #[start] " # insn "\n") \
+#define INSN_ENTRY_SIG(insn)
-#define INSN_DISPATCH_SIG(insn) \
- asm volatile ( "; #[end ] " # insn "\n"\
- "\t; #==================================================\n") \
+#define INSN_DISPATCH_SIG(insn)
#define INSN_ENTRY(insn) \
LABEL(insn): \