Ruby 1.9.2p136(2010-12-25revision30365)

- Main Page
- Modules
- Data Structures
- Files

- File List
- Globals

Data Structures | Defines | Functions

# iseq.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Data Structures
struct | iseq_insn_info_entry
struct | iseq_catch_table_entry
struct | iseq_compile_data_storage
struct | iseq_compile_data
## Defines
#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)
#define | CATCH_TYPE_RESCUE ((int)INT2FIX(1))
#define | CATCH_TYPE_ENSURE ((int)INT2FIX(2))
#define | CATCH_TYPE_RETRY ((int)INT2FIX(3))
#define | CATCH_TYPE_BREAK ((int)INT2FIX(4))
#define | CATCH_TYPE_REDO ((int)INT2FIX(5))
#define | CATCH_TYPE_NEXT ((int)INT2FIX(6))
#define | INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512)
#define | DEFINED_IVAR INT2FIX(1)
#define | DEFINED_IVAR2 INT2FIX(2)
#define | DEFINED_GVAR INT2FIX(3)
#define | DEFINED_CVAR INT2FIX(4)
#define | DEFINED_CONST INT2FIX(5)
#define | DEFINED_METHOD INT2FIX(6)
#define | DEFINED_YIELD INT2FIX(7)
#define | DEFINED_REF INT2FIX(8)
#define | DEFINED_ZSUPER INT2FIX(9)
#define | DEFINED_FUNC INT2FIX(10)
## Functions
VALUE | rb_iseq_compile_node (VALUE self, NODE *node)
int | rb_iseq_translate_threaded_code (rb_iseq_t *iseq)
VALUE | rb_iseq_build_from_ary (rb_iseq_t *iseq, VALUE locals, VALUE args, VALUE exception, VALUE body)
VALUE | rb_iseq_load (VALUE data, VALUE parent, VALUE opt)
struct st_table * | ruby_insn_make_insn_table (void)

## Define Documentation

#define CATCH_TYPE_BREAK ((int)INT2FIX(4))

Definition at line 38 of file iseq.h.

Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), iseq_set_exception_table(), vm_exec(), and vm_throw().

#define CATCH_TYPE_ENSURE ((int)INT2FIX(2))

Definition at line 36 of file iseq.h.

Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), and vm_exec().

#define CATCH_TYPE_NEXT ((int)INT2FIX(6))

Definition at line 40 of file iseq.h.

Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), iseq_set_exception_table(), rb_iseq_compile_node(), and vm_exec().

#define CATCH_TYPE_REDO ((int)INT2FIX(5))

Definition at line 39 of file iseq.h.

Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), rb_iseq_compile_node(), and vm_exec().

#define CATCH_TYPE_RESCUE ((int)INT2FIX(1))

Definition at line 35 of file iseq.h.

Referenced by catch_type(), defined_expr(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), iseq_set_exception_table(), and vm_exec().

#define CATCH_TYPE_RETRY ((int)INT2FIX(3))

Definition at line 37 of file iseq.h.

Referenced by catch_type(), exception_type2symbol(), get_exception_sym2type(), iseq_compile_each(), and vm_exec().

#define DEFINED_CONST INT2FIX(5)

Definition at line 97 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_CVAR INT2FIX(4)

Definition at line 96 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_FUNC INT2FIX(10)

Definition at line 102 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_GVAR INT2FIX(3)

Definition at line 95 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_IVAR INT2FIX(1)

Definition at line 93 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_IVAR2 INT2FIX(2)

Definition at line 94 of file iseq.h.

#define DEFINED_METHOD INT2FIX(6)

Definition at line 98 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_REF INT2FIX(8)

Definition at line 100 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_YIELD INT2FIX(7)

Definition at line 99 of file iseq.h.

Referenced by defined_expr().

#define DEFINED_ZSUPER INT2FIX(9)

Definition at line 101 of file iseq.h.

Referenced by defined_expr().

#define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE (512)

Definition at line 57 of file iseq.h.

Referenced by prepare_iseq_build().

#define ISEQ_TYPE_BLOCK INT2FIX(3)

Definition at line 27 of file iseq.h.

Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_set_arguments(), make_name_for_block(), rb_dvar_defined(), rb_iseq_compile_node(), and vm_throw().

#define ISEQ_TYPE_CLASS INT2FIX(4)

Definition at line 28 of file iseq.h.

Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_iseq_compile_node(), set_relation(), vm_invoke_block(), and vm_throw().

#define ISEQ_TYPE_DEFINED_GUARD INT2FIX(9)

Definition at line 33 of file iseq.h.

Referenced by defined_expr(), iseq_data_to_ary(), iseq_load(), and rb_iseq_compile_node().

#define ISEQ_TYPE_ENSURE INT2FIX(6)

Definition at line 30 of file iseq.h.

Referenced by errinfo_place(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), and rb_iseq_compile_node().

#define ISEQ_TYPE_EVAL INT2FIX(7)

Definition at line 31 of file iseq.h.

Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), rb_iseq_compile_node(), and rb_iseq_compile_with_option().

#define ISEQ_TYPE_MAIN INT2FIX(8)

Definition at line 32 of file iseq.h.

Referenced by iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), rb_iseq_compile_node(), and rb_iseq_new_main().

#define ISEQ_TYPE_METHOD INT2FIX(2)

Definition at line 26 of file iseq.h.

Referenced by iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_iseq_compile_node(), set_relation(), vm_invoke_block(), and vm_throw().

#define ISEQ_TYPE_RESCUE INT2FIX(5)

Definition at line 29 of file iseq.h.

Referenced by errinfo_place(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), rb_dvar_defined(), and rb_iseq_compile_node().

#define ISEQ_TYPE_TOP INT2FIX(1)

Definition at line 25 of file iseq.h.

Referenced by Init_VM(), iseq_compile_each(), iseq_data_to_ary(), iseq_load(), iseq_s_compile_file(), rb_iseq_compile_node(), rb_iseq_compile_with_option(), rb_iseq_new_top(), rb_vm_call_cfunc(), set_relation(), and vm_set_top_stack().

## Function Documentation

VALUE rb_iseq_build_from_ary | ( | rb_iseq_t * | iseq,
|  | VALUE | locals,
|  | VALUE | args,
|  | VALUE | exception,
|  | VALUE | body
| ) |  |

Definition at line 5365 of file compile.c.

References ALLOC_N, rb_iseq_struct::arg_block, rb_iseq_struct::arg_opt_table, rb_iseq_struct::arg_opts, rb_iseq_struct::arg_post_len, rb_iseq_struct::arg_post_start, rb_iseq_struct::arg_rest, rb_iseq_struct::arg_simple, rb_iseq_struct::arg_size, rb_iseq_struct::argc, CHECK_ARRAY, CHECK_INTEGER(), CHECK_SYMBOL, DECL_ANCHOR, FIX2INT, FIX2LONG, FIXNUM_P, INIT_ANCHOR, iseq_build_body(), iseq_build_exception(), rb_iseq_struct::local_size, rb_iseq_struct::local_table, rb_iseq_struct::local_table_size, NUM2INT, RARRAY_LEN, RARRAY_LENINT, RARRAY_PTR, rb_ary_entry(), register_label(), rb_iseq_struct::self, st_init_numtable, and SYM2ID.

Referenced by iseq_load().

VALUE rb_iseq_compile_node | ( | VALUE | self,
|  | NODE * | node
| ) |  |

Definition at line 423 of file compile.c.

References ADD_CATCH_ENTRY, ADD_INSN, ADD_INSN1, ADD_INSN2, ADD_LABEL, ADD_TRACE, CATCH_TYPE_NEXT, CATCH_TYPE_REDO, COMPILE, rb_iseq_struct::compile_data, COMPILE_POPED, DECL_ANCHOR, ensure_range::end, iseq_compile_data::end_label, ERROR_ARGS, FIX2INT, GetISeqPtr, INIT_ANCHOR, INT2FIX, iseq_set_arguments(), iseq_set_exception_local_table(), iseq_set_local_table(), iseq_setup(), ISEQ_TYPE_BLOCK, ISEQ_TYPE_CLASS, ISEQ_TYPE_DEFINED_GUARD, ISEQ_TYPE_ENSURE, ISEQ_TYPE_EVAL, ISEQ_TYPE_MAIN, ISEQ_TYPE_METHOD, ISEQ_TYPE_RESCUE, ISEQ_TYPE_TOP, iseq_compile_data::last_line, rb_iseq_struct::line_no, nd_line, nd_type, NEW_LABEL, NODE_SCOPE, rb_bug(), rb_compile_error(), RUBY_EVENT_CALL, RUBY_EVENT_CLASS, RUBY_EVENT_END, RUBY_EVENT_RETURN, iseq_compile_data::start_label, and rb_iseq_struct::type.

Referenced by rb_iseq_new_with_bopt_and_opt().

VALUE rb_iseq_load | ( | VALUE | data,
|  | VALUE | parent,
|  | VALUE | opt
| ) |  |

Definition at line 531 of file iseq.c.

References iseq_load(), and rb_cISeq.

Referenced by iseq_build_body(), and iseq_build_exception().

int rb_iseq_translate_threaded_code | ( | rb_iseq_t * | iseq | ) |

Definition at line 511 of file compile.c.

References ALLOC_N, COMPILE_OK, rb_iseq_struct::iseq, rb_iseq_struct::iseq_encoded, rb_iseq_struct::iseq_size, len, MEMCPY, and rb_vm_get_insns_address_table().

Referenced by iseq_setup(), and rb_iseq_build_for_ruby2cext().

struct st_table* ruby_insn_make_insn_table | ( | void |  | ) | `[read]`