mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
* vm_core.h (rb_vm_t), vm.c (rb_vm_mark): moved preallocated special
exceptions. * eval.c (Init_eval), gc.c (Init_GC), proc.c (Init_Proc): freeze preallocated special exceptions. * eval.c (rb_longjmp): duplicate the thrown exception to set backtrace if it was frozen. * gc.c (rb_memerror): raise nomem_error without backtrace if failed to make backtrace. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17165 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e7a660a3cf
commit
9b45b336ee
7 changed files with 43 additions and 10 deletions
2
proc.c
2
proc.c
|
@ -1756,7 +1756,7 @@ Init_Proc(void)
|
|||
rb_eSysStackError = rb_define_class("SystemStackError", rb_eException);
|
||||
sysstack_error = rb_exc_new2(rb_eSysStackError, "stack level too deep");
|
||||
OBJ_TAINT(sysstack_error);
|
||||
rb_register_mark_object(sysstack_error);
|
||||
OBJ_FREEZE(sysstack_error);
|
||||
|
||||
/* utility functions */
|
||||
rb_define_global_function("proc", rb_block_proc, 0);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue