[#49993] メソッド呼び出し時の引数の値を VM 側で取得する方法について — Tetsuo Handa <penguin-kernel@...>

初めまして。 Linux カーネルプログラマの熊猫と申します。

12 messages 2017/02/28
[#49995] Re: メソッド呼び出し時の引数の値を VM 側で取得する方法について — SASADA Koichi <ko1@...> 2017/02/28

On 2017/02/28 14:06, Tetsuo Handa wrote:

[ruby-dev:49995] Re: メソッド呼び出し時の引数の値を VM 側で取得する方法について

From: SASADA Koichi <ko1@...>
Date: 2017-02-28 05:16:07 UTC
List: ruby-dev #49995
On 2017/02/28 14:06, Tetsuo Handa wrote:
> @@ -1352,6 +1405,7 @@ vm_call_iseq_setup_tailcall(rb_thread_t
>      vm_push_frame(th, iseq, VM_FRAME_MAGIC_METHOD | finish_flag,
>  		  ci->recv, ci->defined_class, VM_ENVVAL_BLOCK_PTR(ci->blockptr),
>  		  iseq->iseq_encoded + ci->aux.opt_pc, sp, 0, ci->me);
> +    dump_function_entry(th, ci->argc, argv);
>  
>      cfp->sp = sp_orig;
>      return Qundef;

肝心のパッチですが、cfp->sp = sp_orig; の後に dump_function_entry() を呼
んだ方がいいかも。ちゃんと動かしてないので勘ですが。

-- 
// SASADA Koichi at atdot dot net

In This Thread