mirror of
https://github.com/ruby/ruby.git
synced 2025-09-15 08:33:58 +02:00
![]() Now, rb_call_info contains how to call the method with tuple of (mid, orig_argc, flags, kwarg). Most of cases, kwarg == NULL and mid+argc+flags only requires 64bits. So this patch packed rb_call_info to VALUE (1 word) on such cases. If we can not represent it in VALUE, then use imemo_callinfo which contains conventional callinfo (rb_callinfo, renamed from rb_call_info). iseq->body->ci_kw_size is removed because all of callinfo is VALUE size (packed ci or a pointer to imemo_callinfo). To access ci information, we need to use these functions: vm_ci_mid(ci), _flag(ci), _argc(ci), _kwarg(ci). struct rb_call_info_kw_arg is renamed to rb_callinfo_kwarg. rb_funcallv_with_cc() and rb_method_basic_definition_p_with_cc() is temporary removed because cd->ci should be marked. |
||
---|---|---|
.. | ||
_attributes.erb | ||
_c_expr.erb | ||
_comptime_insn_stack_increase.erb | ||
_copyright.erb | ||
_insn_entry.erb | ||
_insn_len_info.erb | ||
_insn_name_info.erb | ||
_insn_operand_info.erb | ||
_insn_sp_pc_dependency.erb | ||
_insn_type_chars.erb | ||
_leaf_helpers.erb | ||
_mjit_compile_insn.erb | ||
_mjit_compile_insn_body.erb | ||
_mjit_compile_ivar.erb | ||
_mjit_compile_pc_and_sp.erb | ||
_mjit_compile_send.erb | ||
_notice.erb | ||
_sp_inc_helpers.erb | ||
_trace_instruction.erb | ||
insns.inc.erb | ||
insns_info.inc.erb | ||
mjit_compile.inc.erb | ||
opt_sc.inc.erb | ||
optinsn.inc.erb | ||
optunifs.inc.erb | ||
vm.inc.erb | ||
vmtc.inc.erb |