Project

General

Profile

« Previous | Next » 

Revision 22468a4f

Added by ko1 (Koichi Sasada) almost 12 years ago

  • vm_insnhelper.c (vm_push_frame): fix stack overflow check codes.
    Stack overflow check should be done after pushing a stack frame.
    However, some stack overflow checking codes checked before
    pushing a stack frame with iseq->stack_max.
    To solve this problem, add a new parameter `stack_max' to specify
    a possible consuming stack size.
  • vm_core.h (CHECK_VM_STACK_OVERFLOW0): add to share the stack overflow
    checking code.
  • insns.def: catch up this change.
  • vm.c, vm_eval.c: ditto.
  • test/ruby/test_exception.rb: add a stack overflow test.
    This code is reported by nobu.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42398 b2dd03c8-39d4-4d8f-98ff-823fe69b080e