Sha256: 0d260abe59f97aac9aa6c6d104f21773a7c0b614e22278e654d0dc245e503847

Contents?: true

Size: 1.25 KB

Versions: 8

Compression:

Stored size: 1.25 KB

Contents

#define ISEQ_TYPE_TOP    INT2FIX(1)
#define ISEQ_TYPE_METHOD INT2FIX(2)
#define ISEQ_TYPE_BLOCK  INT2FIX(3)
#define ISEQ_TYPE_CLASS  INT2FIX(4)
#define ISEQ_TYPE_RESCUE INT2FIX(5)
#define ISEQ_TYPE_ENSURE INT2FIX(6)
#define ISEQ_TYPE_EVAL   INT2FIX(7)
#define ISEQ_TYPE_MAIN   INT2FIX(8)
#define ISEQ_TYPE_DEFINED_GUARD INT2FIX(9)

struct iseq_compile_data {
    /* GC is needed */
    VALUE err_info;
    VALUE mark_ary;
    VALUE catch_table_ary;	/* Array */

    /* GC is not needed */
    struct iseq_label_data *start_label;
    struct iseq_label_data *end_label;
    struct iseq_label_data *redo_label;
    VALUE current_block;
    VALUE ensure_node;
    VALUE for_iseq;
    struct iseq_compile_data_ensure_node_stack *ensure_node_stack;
    int loopval_popped;	/* used by NODE_BREAK */
    int cached_const;
    struct iseq_compile_data_storage *storage_head;
    struct iseq_compile_data_storage *storage_current;
    int last_line;
    int last_coverable_line;
    int flip_cnt;
    int label_no;
    int node_level;
    /*const*/ rb_compile_option_t *option;  // "const" removed 
};

/* some utilities */
extern int insn_len(VALUE insn);
extern const char *insn_name(VALUE insn);
extern const char *insn_op_types(VALUE insn);
extern int insn_op_type(VALUE insn, long pos);

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
rb-threadframe-0.39 ext/iseq_mini.h
rb-threadframe-0.38 ext/iseq_mini.h
rb-threadframe-0.37 ext/iseq_mini.h
rb-threadframe-0.36 ext/iseq_mini.h
rb-threadframe-0.35 ext/iseq_mini.h
rb-threadframe-0.34 ext/iseq_mini.h
rb-threadframe-0.33 ext/iseq_mini.h
rb-threadframe-0.32 ext/iseq_mini.h