diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-20 16:52:33 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2014-08-20 16:52:33 +0000 |
commit | ff089f50a11a1196f18135b5ef012fc812fa17f8 (patch) | |
tree | 955b7a5c631a04485b704cc6421b1bdbe7a01f76 | |
parent | 447e1c4d199181bc02935e00589c3cc2668a5e1e (diff) |
merge revision(s) r45542,r45543: [Backport #9717]
* gc.c (mark_current_machine_context): Call SET_STACK_END.
This reverts a hunk of r40703 by ko1.
This fixes [ruby-dev:48098] [Bug #9717].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@47229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | gc.c | 4 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 11 insertions, 1 deletions
@@ -1,3 +1,9 @@ +Thu Aug 21 01:44:46 2014 Tanaka Akira <akr@fsij.org> + + * gc.c (mark_current_machine_context): Call SET_STACK_END. + This reverts a hunk of r40703 by ko1. + This fixes [ruby-dev:48098] [Bug #9717]. + Thu Aug 21 01:41:09 2014 Tanaka Akira <akr@fsij.org> * lib/time.rb (Time.parse): [DOC] Fix an example in the documentation @@ -3478,6 +3478,10 @@ mark_current_machine_context(rb_objspace_t *objspace, rb_thread_t *th) /* This assumes that all registers are saved into the jmp_buf (and stack) */ rb_setjmp(save_regs_gc_mark.j); + /* SET_STACK_END must be called in this function because + * the stack frame of this function may contain + * callee save registers and they should be marked. */ + SET_STACK_END; GET_STACK_BOUNDS(stack_start, stack_end, 1); mark_locations_array(objspace, save_regs_gc_mark.v, numberof(save_regs_gc_mark.v)); @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.1.2" #define RUBY_RELEASE_DATE "2014-08-21" -#define RUBY_PATCHLEVEL 204 +#define RUBY_PATCHLEVEL 205 #define RUBY_RELEASE_YEAR 2014 #define RUBY_RELEASE_MONTH 8 |