Project

General

Profile

Feature #15085 ยป export-vm_call_super_method.patch

wanabe (_ wanabe), 09/12/2018 11:45 PM

View differences:

tool/transform_mjit_header.rb
38 38
  IGNORED_FUNCTIONS = [
39 39
    'rb_vm_search_method_slowpath', # This increases the time to compile when inlined. So we use it as external function.
40 40
    'rb_equal_opt', # Not used from VM and not compilable
41
    'vm_call_super_method',
41 42
  ]
42 43

  
43 44
  ALWAYS_INLINED_FUNCTIONS = [
vm_insnhelper.c
1570 1570
static inline VALUE vm_call_iseq_setup_2(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc, int opt_pc, int param_size, int local_size);
1571 1571
static inline VALUE vm_call_iseq_setup_normal(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc, int opt_pc, int param_size, int local_size);
1572 1572
static inline VALUE vm_call_iseq_setup_tailcall(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc, int opt_pc);
1573
static VALUE vm_call_super_method(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc);
1573
MJIT_FUNC_EXPORTED VALUE vm_call_super_method(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc);
1574 1574
static VALUE vm_call_method_nome(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc);
1575 1575
static VALUE vm_call_method_each_type(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc);
1576 1576
static inline VALUE vm_call_method(rb_execution_context_t *ec, rb_control_frame_t *cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc);
......
2439 2439
    return vm_call_method(ec, reg_cfp, calling, ci, cc);
2440 2440
}
2441 2441

  
2442
static VALUE
2442
MJIT_FUNC_EXPORTED VALUE
2443 2443
vm_call_super_method(rb_execution_context_t *ec, rb_control_frame_t *reg_cfp, struct rb_calling_info *calling, const struct rb_call_info *ci, struct rb_call_cache *cc)
2444 2444
{
2445 2445
    /* this check is required to distinguish with other functions. */