[前][次][番号順一覧][スレッド一覧]

ruby-changes:48450

From: ko1 <ko1@a...>
Date: Mon, 30 Oct 2017 00:41:59 +0900 (JST)
Subject: [ruby-changes:48450] ko1:r60564 (trunk): * eval_jump.c (rb_exec_end_proc): use `GET_EC()`.

ko1	2017-10-30 00:41:53 +0900 (Mon, 30 Oct 2017)

  New Revision: 60564

  https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=60564

  Log:
    * eval_jump.c (rb_exec_end_proc): use `GET_EC()`.

  Modified files:
    trunk/eval_jump.c
Index: eval_jump.c
===================================================================
--- eval_jump.c	(revision 60563)
+++ eval_jump.c	(revision 60564)
@@ -115,27 +115,26 @@ rb_exec_end_proc(void) https://github.com/ruby/ruby/blob/trunk/eval_jump.c#L115
 {
     enum ruby_tag_type state;
     volatile int safe = rb_safe_level();
-    rb_thread_t *th = GET_THREAD();
-    volatile VALUE errinfo = th->ec->errinfo;
+    rb_execution_context_t * volatile ec = GET_EC();
+    volatile VALUE errinfo = ec->errinfo;
 
-    EC_PUSH_TAG(th->ec);
+    EC_PUSH_TAG(ec);
     if ((state = EXEC_TAG()) == TAG_NONE) {
       again:
-	exec_end_procs_chain(&ephemeral_end_procs, &th->ec->errinfo);
-	exec_end_procs_chain(&end_procs, &th->ec->errinfo);
+	exec_end_procs_chain(&ephemeral_end_procs, &ec->errinfo);
+	exec_end_procs_chain(&end_procs, &ec->errinfo);
     }
     else {
-	VAR_INITIALIZED(th);
 	EC_TMPPOP_TAG();
 	error_handle(state);
-	if (!NIL_P(th->ec->errinfo)) errinfo = th->ec->errinfo;
+	if (!NIL_P(ec->errinfo)) errinfo = ec->errinfo;
 	EC_REPUSH_TAG();
 	goto again;
     }
     EC_POP_TAG();
 
     rb_set_safe_level_force(safe);
-    th->ec->errinfo = errinfo;
+    ec->errinfo = errinfo;
 }
 
 void

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]