summaryrefslogtreecommitdiffhomepage
path: root/src/kernel.c
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2013-05-20 17:54:07 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2013-05-20 17:54:07 +0900
commit5c0b9b703c9d1a08d7219b057b809bda4bc89f8a (patch)
treeab610a2988ef928c02bfc50e31aedc5a707f008e /src/kernel.c
parent35ee85164dd19143d4b47a34f13ad2bb71fed369 (diff)
downloadmruby-5c0b9b703c9d1a08d7219b057b809bda4bc89f8a.tar.gz
mruby-5c0b9b703c9d1a08d7219b057b809bda4bc89f8a.zip
primary mruby fiber implementation
Diffstat (limited to 'src/kernel.c')
-rw-r--r--src/kernel.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/kernel.c b/src/kernel.c
index 033ce283a..af4806378 100644
--- a/src/kernel.c
+++ b/src/kernel.c
@@ -214,19 +214,19 @@ mrb_f_send(mrb_state *mrb, mrb_value self)
static mrb_value
mrb_f_block_given_p_m(mrb_state *mrb, mrb_value self)
{
- mrb_callinfo *ci = mrb->ci;
+ mrb_callinfo *ci = mrb->c->ci;
mrb_value *bp;
mrb_bool given_p;
- bp = mrb->stbase + ci->stackidx + 1;
+ bp = mrb->c->stbase + ci->stackidx + 1;
ci--;
- if (ci <= mrb->cibase) {
+ if (ci <= mrb->c->cibase) {
given_p = 0;
}
else {
/* block_given? called within block; check upper scope */
if (ci->proc->env && ci->proc->env->stack) {
- given_p = !(ci->proc->env->stack == mrb->stbase ||
+ given_p = !(ci->proc->env->stack == mrb->c->stbase ||
mrb_nil_p(ci->proc->env->stack[1]));
}
else {
@@ -894,7 +894,7 @@ mrb_f_raise(mrb_state *mrb, mrb_value self)
/* fall through */
default:
exc = mrb_make_exception(mrb, argc, a);
- mrb_obj_iv_set(mrb, mrb_obj_ptr(exc), mrb_intern2(mrb, "lastpc", 6), mrb_voidp_value(mrb->ci->pc));
+ mrb_obj_iv_set(mrb, mrb_obj_ptr(exc), mrb_intern2(mrb, "lastpc", 6), mrb_voidp_value(mrb->c->ci->pc));
mrb_exc_raise(mrb, exc);
break;
}