Ruby  2.0.0p353(2013-11-22revision43784)
Data Structures | Macros | Enumerations | 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  rb_compile_option_struct
 
struct  iseq_line_info_entry
 
struct  iseq_catch_table_entry
 
struct  iseq_compile_data_storage
 
struct  iseq_compile_data
 

Macros

#define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE   (512)
 
#define DEFAULT_SPECIAL_VAR_COUNT   2
 

Enumerations

enum  defined_type {
  DEFINED_NIL = 1, DEFINED_IVAR, DEFINED_LVAR, DEFINED_GVAR,
  DEFINED_CVAR, DEFINED_CONST, DEFINED_METHOD, DEFINED_YIELD,
  DEFINED_ZSUPER, DEFINED_SELF, DEFINED_TRUE, DEFINED_FALSE,
  DEFINED_ASGN, DEFINED_EXPR, DEFINED_IVAR2, DEFINED_REF,
  DEFINED_FUNC
}
 

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)
 
void rb_iseq_add_mark_object (rb_iseq_t *iseq, VALUE obj)
 
VALUE rb_iseq_load (VALUE data, VALUE parent, VALUE opt)
 
VALUE rb_iseq_parameters (const rb_iseq_t *iseq, int is_proc)
 
struct st_tableruby_insn_make_insn_table (void)
 
unsigned int rb_iseq_line_no (const rb_iseq_t *iseq, size_t pos)
 
int rb_iseq_line_trace_each (VALUE iseqval, int(*func)(int line, rb_event_flag_t *events_ptr, void *d), void *data)
 
VALUE rb_iseq_line_trace_all (VALUE iseqval)
 
VALUE rb_iseq_line_trace_specify (VALUE iseqval, VALUE pos, VALUE set)
 
rb_iseq_trb_method_get_iseq (VALUE body)
 
rb_iseq_trb_proc_get_iseq (VALUE proc, int *is_proc)
 
VALUE rb_iseq_defined_string (enum defined_type type)
 

Macro Definition Documentation

#define DEFAULT_SPECIAL_VAR_COUNT   2

Definition at line 134 of file iseq.h.

Referenced by iseq_compile_each(), lep_svar_get(), and lep_svar_set().

#define INITIAL_ISEQ_COMPILE_DATA_STORAGE_BUFF_SIZE   (512)

Definition at line 73 of file iseq.h.

Referenced by prepare_iseq_build().

Enumeration Type Documentation

Enumerator
DEFINED_NIL 
DEFINED_IVAR 
DEFINED_LVAR 
DEFINED_GVAR 
DEFINED_CVAR 
DEFINED_CONST 
DEFINED_METHOD 
DEFINED_YIELD 
DEFINED_ZSUPER 
DEFINED_SELF 
DEFINED_TRUE 
DEFINED_FALSE 
DEFINED_ASGN 
DEFINED_EXPR 
DEFINED_IVAR2 
DEFINED_REF 
DEFINED_FUNC 

Definition at line 112 of file iseq.h.

Function Documentation

void rb_iseq_add_mark_object ( rb_iseq_t iseq,
VALUE  obj 
)

Definition at line 244 of file iseq.c.

References rb_iseq_struct::mark_ary, OBJ_UNTRUST, rb_ary_push(), rb_ary_tmp_new(), RBASIC, and RTEST.

Referenced by iseq_add_mark_object().

VALUE rb_iseq_build_from_ary ( rb_iseq_t iseq,
VALUE  locals,
VALUE  args,
VALUE  exception,
VALUE  body 
)
VALUE rb_iseq_compile_node ( VALUE  self,
NODE node 
)
VALUE rb_iseq_defined_string ( enum defined_type  type)

Definition at line 2000 of file iseq.c.

References GET_VM, numberof, OBJ_FREEZE, rb_str_new_cstr(), and ruby_xcalloc().

Referenced by defined_expr(), and iseq_compile_each().

unsigned int rb_iseq_line_no ( const rb_iseq_t iseq,
size_t  pos 
)

Definition at line 1110 of file iseq.c.

References find_line_no().

Referenced by calc_lineno().

VALUE rb_iseq_line_trace_all ( VALUE  iseqval)

Definition at line 2147 of file iseq.c.

References collect_trace(), rb_ary_new(), rb_iseq_line_trace_each(), and result.

Referenced by Init_ISeq().

int rb_iseq_line_trace_each ( VALUE  iseqval,
int(*)(int line, rb_event_flag_t *events_ptr, void *d)  func,
void *  data 
)
VALUE rb_iseq_line_trace_specify ( VALUE  iseqval,
VALUE  pos,
VALUE  set 
)
VALUE rb_iseq_load ( VALUE  data,
VALUE  parent,
VALUE  opt 
)

Definition at line 571 of file iseq.c.

References iseq_load(), and rb_cISeq.

Referenced by iseq_build_from_ary_exception(), and iseq_build_load_iseq().

VALUE rb_iseq_parameters ( const rb_iseq_t iseq,
int  is_proc 
)
int rb_iseq_translate_threaded_code ( rb_iseq_t iseq)
rb_iseq_t* rb_method_get_iseq ( VALUE  body)

Definition at line 1859 of file proc.c.

References method_get_def(), and method_get_iseq().

Referenced by iseq_s_of(), rb_method_parameters(), and rb_proc_get_iseq().

rb_iseq_t* rb_proc_get_iseq ( VALUE  proc,
int *  is_proc 
)
struct st_table* ruby_insn_make_insn_table ( void  )