ruby-changes:20733
From: ktsj <ko1@a...>
Date: Sun, 31 Jul 2011 23:02:15 +0900 (JST)
Subject: [ruby-changes:20733] ktsj:r32781 (trunk): * vm.c (vm_make_env_each): don't save prev env value.
ktsj 2011-07-31 23:00:57 +0900 (Sun, 31 Jul 2011) New Revision: 32781 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=32781 Log: * vm.c (vm_make_env_each): don't save prev env value. It is no longer used. [Feature #4871] [ruby-dev:43743] * vm.c (check_env): changed accordingly. Modified files: trunk/ChangeLog trunk/vm.c Index: ChangeLog =================================================================== --- ChangeLog (revision 32780) +++ ChangeLog (revision 32781) @@ -1,3 +1,10 @@ +Sun Jul 31 22:50:23 2011 Kazuki Tsujimoto <kazuki@c...> + + * vm.c (vm_make_env_each): don't save prev env value. + It is no longer used. [Feature #4871] [ruby-dev:43743] + + * vm.c (check_env): changed accordingly. + Sun Jul 31 20:21:36 2011 "Yuki Sonoda (Yugui)" <yugui@y...> * common.mk (ECHO1): ":" in a make variable replacement cause a syntax Index: vm.c =================================================================== --- vm.c (revision 32780) +++ vm.c (revision 32781) @@ -217,7 +217,6 @@ env{ env[0] // special (block or prev env) env[1] // env object - env[2] // prev env val }; */ @@ -305,17 +304,13 @@ { printf("---\n"); printf("envptr: %p\n", (void *)&env->block.dfp[0]); - printf("orphan: %p\n", (void *)env->block.dfp[1]); - printf("inheap: %p\n", (void *)env->block.dfp[2]); - printf("envval: %10p ", (void *)env->block.dfp[3]); - dp(env->block.dfp[3]); - printf("penvv : %10p ", (void *)env->block.dfp[4]); - dp(env->block.dfp[4]); + printf("envval: %10p ", (void *)env->block.dfp[1]); + dp(env->block.dfp[1]); printf("lfp: %10p\n", (void *)env->block.lfp); printf("dfp: %10p\n", (void *)env->block.dfp); - if (env->block.dfp[4]) { + if (env->prev_envval) { printf(">>\n"); - check_env_value(env->block.dfp[4]); + check_env_value(env->prev_envval); printf("<<\n"); } return 1; @@ -379,7 +374,7 @@ local_size = cfp->iseq->local_size; } - env->env_size = local_size + 1 + 2; + env->env_size = local_size + 1 + 1; env->local_size = local_size; env->env = ALLOC_N(VALUE, env->env_size); env->prev_envval = penvval; @@ -398,7 +393,6 @@ *envptr = envval; /* GC mark */ nenvptr = &env->env[i - 1]; nenvptr[1] = envval; /* frame self */ - nenvptr[2] = penvval; /* frame prev env object */ /* reset lfp/dfp in cfp */ cfp->dfp = nenvptr; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/