зеркало из https://github.com/github/ruby.git
_mjit_compile_send.erb: fix wrong cc usages
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@65318 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
57e906a778
Коммит
fd35cb44b8
|
@ -16,14 +16,14 @@
|
|||
% # compiler: Use copied cc to avoid race condition
|
||||
CALL_CACHE cc_copy = status->cc_entries + (cc - body->cc_entries);
|
||||
%
|
||||
if (has_valid_method_type(cc)) {
|
||||
if (has_valid_method_type(cc_copy)) {
|
||||
const rb_iseq_t *iseq;
|
||||
unsigned int argc = ci->orig_argc; /* unlike `ci->orig_argc`, `argc` may include blockarg */
|
||||
% if insn.name == 'send'
|
||||
argc += ((ci->flag & VM_CALL_ARGS_BLOCKARG) ? 1 : 0);
|
||||
% end
|
||||
|
||||
if (cc_copy->me->def->type == VM_METHOD_TYPE_ISEQ && inlinable_iseq_p(ci, cc, iseq = rb_iseq_check(cc_copy->me->def->body.iseq.iseqptr))) { /* CC_SET_FASTPATH in vm_callee_setup_arg */
|
||||
if (cc_copy->me->def->type == VM_METHOD_TYPE_ISEQ && inlinable_iseq_p(ci, cc_copy, iseq = rb_iseq_check(cc_copy->me->def->body.iseq.iseqptr))) { /* CC_SET_FASTPATH in vm_callee_setup_arg */
|
||||
int param_size = iseq->body->param.size; /* TODO: check calling->argc for argument_arity_error */
|
||||
|
||||
fprintf(f, "{\n");
|
||||
|
|
Загрузка…
Ссылка в новой задаче