Cleanup diff against upstream. Add comments
I did a `git diff --stat` against upstream and looked at all the files that are outside of YJIT to come up with these minor changes.
This commit is contained in:
parent
884b6f3dbb
commit
7c08538aa3
2
iseq.h
2
iseq.h
@ -315,8 +315,6 @@ VALUE rb_iseq_defined_string(enum defined_type type);
|
|||||||
/* vm.c */
|
/* vm.c */
|
||||||
VALUE rb_iseq_local_variables(const rb_iseq_t *iseq);
|
VALUE rb_iseq_local_variables(const rb_iseq_t *iseq);
|
||||||
|
|
||||||
NOINLINE(void rb_yjit_empty_func_with_ec(rb_control_frame_t *cfp, rb_execution_context_t *ec));
|
|
||||||
|
|
||||||
RUBY_SYMBOL_EXPORT_END
|
RUBY_SYMBOL_EXPORT_END
|
||||||
|
|
||||||
#endif /* RUBY_ISEQ_H */
|
#endif /* RUBY_ISEQ_H */
|
||||||
|
1
mjit.h
1
mjit.h
@ -193,6 +193,7 @@ mjit_exec(rb_execution_context_t *ec)
|
|||||||
RB_DEBUG_COUNTER_INC(mjit_frame_VM2JT);
|
RB_DEBUG_COUNTER_INC(mjit_frame_VM2JT);
|
||||||
# endif
|
# endif
|
||||||
RB_DEBUG_COUNTER_INC(mjit_exec_call_func);
|
RB_DEBUG_COUNTER_INC(mjit_exec_call_func);
|
||||||
|
// Under SystemV x64 calling convention
|
||||||
// ec -> RDI
|
// ec -> RDI
|
||||||
// cfp -> RSI
|
// cfp -> RSI
|
||||||
return func(ec, ec->cfp);
|
return func(ec, ec->cfp);
|
||||||
|
4
proc.c
4
proc.c
@ -347,7 +347,7 @@ rb_binding_alloc(VALUE klass)
|
|||||||
VALUE obj;
|
VALUE obj;
|
||||||
rb_binding_t *bind;
|
rb_binding_t *bind;
|
||||||
obj = TypedData_Make_Struct(klass, rb_binding_t, &ruby_binding_data_type, bind);
|
obj = TypedData_Make_Struct(klass, rb_binding_t, &ruby_binding_data_type, bind);
|
||||||
#if RUBY_DEBUG
|
#if YJIT_STATS
|
||||||
rb_yjit_collect_binding_alloc();
|
rb_yjit_collect_binding_alloc();
|
||||||
#endif
|
#endif
|
||||||
return obj;
|
return obj;
|
||||||
@ -614,7 +614,7 @@ bind_local_variable_set(VALUE bindval, VALUE sym, VALUE val)
|
|||||||
env = VM_ENV_ENVVAL_PTR(vm_block_ep(&bind->block));
|
env = VM_ENV_ENVVAL_PTR(vm_block_ep(&bind->block));
|
||||||
}
|
}
|
||||||
|
|
||||||
#if RUBY_DEBUG
|
#if YJIT_STATS
|
||||||
rb_yjit_collect_binding_set();
|
rb_yjit_collect_binding_set();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -18,6 +18,5 @@ RubyVM::Instructions = RubyVM::BareInstructions.to_a + \
|
|||||||
RubyVM::OperandsUnifications.to_a + \
|
RubyVM::OperandsUnifications.to_a + \
|
||||||
RubyVM::InstructionsUnifications.to_a
|
RubyVM::InstructionsUnifications.to_a
|
||||||
|
|
||||||
|
|
||||||
require_relative 'trace_instructions'
|
require_relative 'trace_instructions'
|
||||||
RubyVM::Instructions.freeze
|
RubyVM::Instructions.freeze
|
||||||
|
2
vm.c
2
vm.c
@ -1853,7 +1853,7 @@ rb_vm_check_redefinition_opt_method(const rb_method_entry_t *me, VALUE klass)
|
|||||||
if (st_lookup(vm_opt_method_def_table, (st_data_t)me->def, &bop)) {
|
if (st_lookup(vm_opt_method_def_table, (st_data_t)me->def, &bop)) {
|
||||||
int flag = vm_redefinition_check_flag(klass);
|
int flag = vm_redefinition_check_flag(klass);
|
||||||
rb_yjit_bop_redefined(klass, me, (enum ruby_basic_operators)bop);
|
rb_yjit_bop_redefined(klass, me, (enum ruby_basic_operators)bop);
|
||||||
ruby_vm_redefined_flag[bop] |= flag;
|
ruby_vm_redefined_flag[bop] |= flag;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -236,8 +236,8 @@ STATIC_ASSERT(sizeof_iseq_inline_constant_cache_entry,
|
|||||||
|
|
||||||
struct iseq_inline_constant_cache {
|
struct iseq_inline_constant_cache {
|
||||||
struct iseq_inline_constant_cache_entry *entry;
|
struct iseq_inline_constant_cache_entry *entry;
|
||||||
// For YJIT: the index to the opt_getinlinecache instruction in the same iseq.
|
// For YJIT: the index to the opt_getinlinecache instruction in the same iseq.
|
||||||
// It's set during compile time and constant once set.
|
// It's set during compile time and constant once set.
|
||||||
unsigned get_insn_idx;
|
unsigned get_insn_idx;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -93,13 +93,8 @@ vm_exec_core(rb_execution_context_t *ec, VALUE initial)
|
|||||||
#define USE_MACHINE_REGS 1
|
#define USE_MACHINE_REGS 1
|
||||||
|
|
||||||
#elif defined(__GNUC__) && defined(__powerpc64__)
|
#elif defined(__GNUC__) && defined(__powerpc64__)
|
||||||
#if 0
|
|
||||||
DECL_SC_REG(const VALUE *, pc, "14");
|
DECL_SC_REG(const VALUE *, pc, "14");
|
||||||
DECL_SC_REG(rb_control_frame_t *, cfp, "15");
|
DECL_SC_REG(rb_control_frame_t *, cfp, "15");
|
||||||
#else
|
|
||||||
register rb_control_frame_t *reg_cfp;
|
|
||||||
const VALUE *reg_pc;
|
|
||||||
#endif
|
|
||||||
#define USE_MACHINE_REGS 1
|
#define USE_MACHINE_REGS 1
|
||||||
|
|
||||||
#elif defined(__GNUC__) && defined(__aarch64__)
|
#elif defined(__GNUC__) && defined(__aarch64__)
|
||||||
|
@ -4808,6 +4808,8 @@ vm_ic_update(const rb_iseq_t *iseq, IC ic, VALUE val, const VALUE *reg_ep)
|
|||||||
ruby_vm_const_missing_count = 0;
|
ruby_vm_const_missing_count = 0;
|
||||||
RB_OBJ_WRITE(iseq, &ic->entry, ice);
|
RB_OBJ_WRITE(iseq, &ic->entry, ice);
|
||||||
#ifndef MJIT_HEADER
|
#ifndef MJIT_HEADER
|
||||||
|
// MJIT and YJIT can't be on at the same time, so there is no need to
|
||||||
|
// notify YJIT about changes to the IC when running inside MJIT code.
|
||||||
rb_yjit_constant_ic_update(iseq, ic);
|
rb_yjit_constant_ic_update(iseq, ic);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user