mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
[PRISM] Mirror iseq APIs
Before this commit, we were mixing a lot of concerns with the prism compile between RubyVM::InstructionSequence and the general entry points to the prism parser/compiler. This commit makes all of the various prism-related APIs mirror their corresponding APIs in the existing parser/compiler. This means we now have the correct frame naming, and it's much easier to follow where the logic actually flows. Furthermore this consolidates a lot of the prism initialization, making it easier to see where we could potentially be raising errors.
This commit is contained in:
parent
21031f0a84
commit
610636fd6b
8 changed files with 491 additions and 356 deletions
1
iseq.h
1
iseq.h
|
@ -172,7 +172,6 @@ void rb_iseq_init_trace(rb_iseq_t *iseq);
|
|||
int rb_iseq_add_local_tracepoint_recursively(const rb_iseq_t *iseq, rb_event_flag_t turnon_events, VALUE tpval, unsigned int target_line, bool target_bmethod);
|
||||
int rb_iseq_remove_local_tracepoint_recursively(const rb_iseq_t *iseq, VALUE tpval);
|
||||
const rb_iseq_t *rb_iseq_load_iseq(VALUE fname);
|
||||
rb_iseq_t * rb_iseq_new_main_prism(pm_string_t *input, pm_options_t *options, VALUE script_name, VALUE path, VALUE optimize);
|
||||
|
||||
#if VM_INSN_INFO_TABLE_IMPL == 2
|
||||
unsigned int *rb_iseq_insns_info_decode_positions(const struct rb_iseq_constant_body *body);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue