summaryrefslogtreecommitdiff
path: root/gc.c
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-29 13:20:44 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2017-10-29 13:20:44 +0000
commitcb81d0ecb1f3948bde2e8ac079c7cf78e92db7a7 (patch)
tree1001a5bf6c14222a640aea215f63436f30109927 /gc.c
parente80ef4e6ce746d4fed988581a9dd4b5ef6181c22 (diff)
downloadruby-cb81d0ecb1f3948bde2e8ac079c7cf78e92db7a7.tar.gz
use `GET_EC()` directly.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60541 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r--gc.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gc.c b/gc.c
index 17d2a09769..c2b34ef4d1 100644
--- a/gc.c
+++ b/gc.c
@@ -2795,19 +2795,19 @@ run_finalizer(rb_objspace_t *objspace, VALUE obj, VALUE table)
long finished;
int safe;
} saved;
- rb_thread_t *const volatile th = GET_THREAD();
+ rb_execution_context_t * volatile ec = GET_EC();
#define RESTORE_FINALIZER() (\
- th->ec->cfp = saved.cfp, \
+ ec->cfp = saved.cfp, \
rb_set_safe_level_force(saved.safe), \
rb_set_errinfo(saved.errinfo))
saved.safe = rb_safe_level();
saved.errinfo = rb_errinfo();
saved.objid = nonspecial_obj_id(obj);
- saved.cfp = th->ec->cfp;
+ saved.cfp = ec->cfp;
saved.finished = 0;
- EC_PUSH_TAG(th->ec);
+ EC_PUSH_TAG(ec);
state = EC_EXEC_TAG();
if (state != TAG_NONE) {
++saved.finished; /* skip failed finalizer */