merge revision(s) 34278:

* cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for
	  reserving a memory space with ALLOCA_N for restoring machine stack
	  stored in cont->machine_stack, but clang optimized out it (and
	  maybe #5851 is also caused by this).
	  This affected TestContinuation#test_check_localvars.

	* cont.c (cont_restore_1): revert workaround introduced in r32201.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_2@40303 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2013-04-15 02:00:45 +00:00
parent ac3be749d5
commit a840645f91
3 changed files with 17 additions and 7 deletions

View file

@ -1,3 +1,13 @@
Mon Apr 15 10:56:55 2013 NARUSE, Yui <naruse@ruby-lang.org>
* cont.c (cont_restore_0): prevent optimizing out `sp'. sp is used for
reserving a memory space with ALLOCA_N for restoring machine stack
stored in cont->machine_stack, but clang optimized out it (and
maybe #5851 is also caused by this).
This affected TestContinuation#test_check_localvars.
* cont.c (cont_restore_1): revert workaround introduced in r32201.
Tue May 22 11:09:52 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ruby.c (ruby_init_loadpath_safe): use real path for non-shared

4
cont.c
View file

@ -476,7 +476,7 @@ cont_restore_0(rb_context_t *cont, VALUE *addr_in_prev_frame)
if (&space[0] > end) {
# ifdef HAVE_ALLOCA
volatile VALUE *sp = ALLOCA_N(VALUE, &space[0] - end);
(void)sp;
space[0] = *sp;
# else
cont_restore_0(cont, &space[0]);
# endif
@ -492,7 +492,7 @@ cont_restore_0(rb_context_t *cont, VALUE *addr_in_prev_frame)
if (&space[STACK_PAD_SIZE] < end) {
# ifdef HAVE_ALLOCA
volatile VALUE *sp = ALLOCA_N(VALUE, end - &space[STACK_PAD_SIZE]);
(void)sp;
space[0] = *sp;
# else
cont_restore_0(cont, &space[STACK_PAD_SIZE-1]);
# endif

View file

@ -1,13 +1,13 @@
#define RUBY_VERSION "1.9.2"
#define RUBY_PATCHLEVEL 323
#define RUBY_PATCHLEVEL 324
#define RUBY_VERSION_MAJOR 1
#define RUBY_VERSION_MINOR 9
#define RUBY_VERSION_TEENY 1
#define RUBY_RELEASE_YEAR 2012
#define RUBY_RELEASE_MONTH 5
#define RUBY_RELEASE_DAY 22
#define RUBY_RELEASE_DATE "2012-05-22"
#define RUBY_RELEASE_YEAR 2013
#define RUBY_RELEASE_MONTH 4
#define RUBY_RELEASE_DAY 15
#define RUBY_RELEASE_DATE "2013-04-15"
#include "ruby/version.h"