From 26e553d0ed235ce4f1100405c966c65ef8e01c2d Mon Sep 17 00:00:00 2001 From: ko1 Date: Wed, 18 Dec 2013 05:33:50 +0000 Subject: [PATCH] * vm_exec.h (VM_DEBUG_STACKOVERFLOW): added. disable stack overflow check for every stack pushing as default. * vm_exec.c (vm_stack_overflow_for_insn): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44275 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ vm_exec.c | 2 ++ vm_exec.h | 7 +++++++ 3 files changed, 16 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7816e9221a..83a084c278 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Wed Dec 18 14:32:06 2013 Koichi Sasada + + * vm_exec.h (VM_DEBUG_STACKOVERFLOW): added. + disable stack overflow check for every stack pushing as default. + + * vm_exec.c (vm_stack_overflow_for_insn): ditto. + Wed Dec 18 10:00:22 2013 Eric Hodel * lib/rubygems: Update to RubyGems master d8f12e2. This increases the diff --git a/vm_exec.c b/vm_exec.c index c7057cd445..a8b14e30de 100644 --- a/vm_exec.c +++ b/vm_exec.c @@ -29,6 +29,7 @@ static void vm_analysis_insn(int insn); #endif /* #define DECL_SC_REG(r, reg) VALUE reg_##r */ +#if VM_DEBUG_STACKOVERFLOW NORETURN(static void vm_stack_overflow_for_insn(void)); static void vm_stack_overflow_for_insn(void) @@ -37,6 +38,7 @@ vm_stack_overflow_for_insn(void) "Please contact ruby-core/dev with your (a part of) script. " "This check will be removed soon."); } +#endif #if !OPT_CALL_THREADED_CODE static VALUE diff --git a/vm_exec.h b/vm_exec.h index e087a7f603..391eb6d151 100644 --- a/vm_exec.h +++ b/vm_exec.h @@ -169,7 +169,14 @@ default: \ #endif #define SCREG(r) (reg_##r) + +#define VM_DEBUG_STACKOVERFLOW 0 + +#if VM_DEBUG_STACKOVERFLOW #define CHECK_VM_STACK_OVERFLOW_FOR_INSN(cfp, margin) \ WHEN_VM_STACK_OVERFLOWED(cfp, (cfp)->sp, margin) vm_stack_overflow_for_insn() +#else +#define CHECK_VM_STACK_OVERFLOW_FOR_INSN(cfp, margin) +#endif #endif /* RUBY_VM_EXEC_H */