diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | cont.c | 2 | ||||
-rw-r--r-- | vm.h | 8 |
3 files changed, 9 insertions, 6 deletions
@@ -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 "-". @@ -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); } @@ -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): \ |