mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* common.mk (run.gdb): fix to load $(srcdir)/.gdbinit
* vm.c (rb_vm_set_finish_env): add a cast. * vm.h: support __fastcall for MSVC. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12644 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
c1849cf094
commit
fd58a0836f
4 changed files with 28 additions and 10 deletions
|
@ -1,3 +1,11 @@
|
|||
Thu Jun 28 05:01:56 2007 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* common.mk (run.gdb): fix to load $(srcdir)/.gdbinit
|
||||
|
||||
* vm.c (rb_vm_set_finish_env): add a cast.
|
||||
|
||||
* vm.h: support __fastcall for MSVC.
|
||||
|
||||
Thu Jun 28 02:12:08 2007 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* bootstraptest/runner.rb: fix to untouch $:.
|
||||
|
|
|
@ -663,6 +663,7 @@ run.gdb:
|
|||
echo '# handle SIGPIPE nostop' >> run.gdb
|
||||
echo '# b rb_longjmp' >> run.gdb
|
||||
echo source $(srcdir)/breakpoints.gdb >> run.gdb
|
||||
echo source $(srcdir)/.gdbinit >> run.gdb
|
||||
echo run >> run.gdb
|
||||
|
||||
gdb: miniruby$(EXEEXT) run.gdb PHONY
|
||||
|
|
2
vm.c
2
vm.c
|
@ -52,7 +52,7 @@ rb_vm_set_finish_env(rb_thread_t *th)
|
|||
vm_push_frame(th, 0, FRAME_MAGIC_FINISH,
|
||||
Qnil, th->cfp->lfp[0], 0,
|
||||
th->cfp->sp, 0, 1);
|
||||
th->cfp->pc = &yarv_finish_insn_seq[0];
|
||||
th->cfp->pc = (VALUE *)&yarv_finish_insn_seq[0];
|
||||
return Qtrue;
|
||||
}
|
||||
|
||||
|
|
27
vm.h
27
vm.h
|
@ -97,23 +97,32 @@ error !
|
|||
/************************************************/
|
||||
#elif OPT_CALL_THREADED_CODE
|
||||
|
||||
#if __GCC__
|
||||
#define FASTCALL __attribute__ ((fastcall))
|
||||
#else
|
||||
#define FASTCALL
|
||||
#endif
|
||||
|
||||
|
||||
#define LABEL(x) insn_func_##x
|
||||
#define ELABEL(x)
|
||||
#define LABEL_PTR(x) &LABEL(x)
|
||||
|
||||
#if __GCC__
|
||||
#define FASTCALL(x) x __attribute__ ((fastcall))
|
||||
#define FASTCALL_KWD_GCC __attribute__ ((fastcall))
|
||||
#define FASTCALL_KWD_VC
|
||||
|
||||
#elif defined(_MSC_VER)
|
||||
#define FASTCALL(x) __fastcall x
|
||||
#define FASTCALL_KWD_GCC
|
||||
#define FASTCALL_KWD_VC __fastcall
|
||||
#else
|
||||
|
||||
#define FASTCALL
|
||||
#define FASTCALL_KWD_GCC
|
||||
#define FASTCALL_KWD_VC
|
||||
#endif
|
||||
|
||||
typedef rb_control_frame_t *
|
||||
(*insn_func_type) (rb_thread_t *, rb_control_frame_t *)FASTCALL;
|
||||
(FASTCALL_KWD_VC *insn_func_type)(rb_thread_t *, rb_control_frame_t *) FASTCALL_KWD_GCC;
|
||||
|
||||
#define INSN_ENTRY(insn) \
|
||||
static rb_control_frame_t * \
|
||||
LABEL(insn)(rb_thread_t *th, rb_control_frame_t *reg_cfp) FASTCALL {
|
||||
FASTCALL(LABEL(insn)(rb_thread_t *th, rb_control_frame_t *reg_cfp)) {
|
||||
|
||||
#define END_INSN(insn) return reg_cfp;}
|
||||
|
||||
|
|
Loading…
Reference in a new issue