Ruby 3.5.0dev (2025-02-20 revision 34098b669c0cbc024cd08e686891f1dfe0a10aaf)
Data Structures | Data Fields
rb_iseq_constant_body Struct Reference

Data Structures

struct  iseq_insn_info
 

Data Fields

enum rb_iseq_type type
 
unsigned int iseq_size
 
VALUEiseq_encoded
 
struct { 
 
   struct { 
 
      unsigned int   has_lead: 1 
 
      unsigned int   has_opt: 1 
 
      unsigned int   has_rest: 1 
 
      unsigned int   has_post: 1 
 
      unsigned int   has_kw: 1 
 
      unsigned int   has_kwrest: 1 
 
      unsigned int   has_block: 1 
 
      unsigned int   ambiguous_param0: 1 
 
      unsigned int   accepts_no_kwarg: 1 
 
      unsigned int   ruby2_keywords: 1 
 
      unsigned int   anon_rest: 1 
 
      unsigned int   anon_kwrest: 1 
 
      unsigned int   use_block: 1 
 
      unsigned int   forwardable: 1 
 
   }   flags 
 
   unsigned int   size 
 
   int   lead_num 
 
   int   opt_num 
 
   int   rest_start 
 
   int   post_start 
 
   int   post_num 
 
   int   block_start 
 
   const VALUE *   opt_table 
 
   struct rb_iseq_param_keyword
 
      int   num 
 
      int   required_num 
 
      int   bits_start 
 
      int   rest_start 
 
      const ID *   table 
 
      VALUE *   default_values 
 
   }   keyword 
 
param 
 parameter information
 
rb_iseq_location_t location
 
struct rb_iseq_constant_body::iseq_insn_info insns_info
 
const IDlocal_table
 
struct iseq_catch_tablecatch_table
 
const struct rb_iseq_structparent_iseq
 
struct rb_iseq_structlocal_iseq
 
union iseq_inline_storage_entryis_entries
 
struct rb_call_datacall_data
 
struct { 
 
   rb_snum_t   flip_count 
 
   VALUE   script_lines 
 
   VALUE   coverage 
 
   VALUE   pc2branchindex 
 
   VALUE *   original_iseq 
 
variable 
 
unsigned int local_table_size
 
unsigned int ic_size
 
unsigned int ise_size
 
unsigned int ivc_size
 
unsigned int icvarc_size
 
unsigned int ci_size
 
unsigned int stack_max
 
unsigned int builtin_attrs
 
bool prism
 
union { 
 
   iseq_bits_t *   list 
 
   iseq_bits_t   single 
 
mark_bits 
 
struct rb_id_tableouter_variables
 
const rb_iseq_tmandatory_only_iseq
 

Detailed Description

Definition at line 402 of file vm_core.h.

Field Documentation

◆ accepts_no_kwarg

unsigned int rb_iseq_constant_body::accepts_no_kwarg

Definition at line 442 of file vm_core.h.

◆ ambiguous_param0

unsigned int rb_iseq_constant_body::ambiguous_param0

Definition at line 441 of file vm_core.h.

◆ anon_kwrest

unsigned int rb_iseq_constant_body::anon_kwrest

Definition at line 445 of file vm_core.h.

◆ anon_rest

unsigned int rb_iseq_constant_body::anon_rest

Definition at line 444 of file vm_core.h.

◆ bits_start

int rb_iseq_constant_body::bits_start

Definition at line 477 of file vm_core.h.

◆ block_start

int rb_iseq_constant_body::block_start

Definition at line 457 of file vm_core.h.

◆ builtin_attrs

unsigned int rb_iseq_constant_body::builtin_attrs

Definition at line 524 of file vm_core.h.

◆ call_data

struct rb_call_data* rb_iseq_constant_body::call_data

Definition at line 506 of file vm_core.h.

◆ catch_table

struct iseq_catch_table* rb_iseq_constant_body::catch_table

Definition at line 499 of file vm_core.h.

◆ ci_size

unsigned int rb_iseq_constant_body::ci_size

Definition at line 521 of file vm_core.h.

◆ coverage

VALUE rb_iseq_constant_body::coverage

Definition at line 511 of file vm_core.h.

◆ default_values

VALUE* rb_iseq_constant_body::default_values

Definition at line 480 of file vm_core.h.

◆ flip_count

rb_snum_t rb_iseq_constant_body::flip_count

Definition at line 509 of file vm_core.h.

◆ forwardable

unsigned int rb_iseq_constant_body::forwardable

Definition at line 447 of file vm_core.h.

◆ has_block

unsigned int rb_iseq_constant_body::has_block

Definition at line 439 of file vm_core.h.

◆ has_kw

unsigned int rb_iseq_constant_body::has_kw

Definition at line 437 of file vm_core.h.

◆ has_kwrest

unsigned int rb_iseq_constant_body::has_kwrest

Definition at line 438 of file vm_core.h.

◆ has_lead

unsigned int rb_iseq_constant_body::has_lead

Definition at line 433 of file vm_core.h.

◆ has_opt

unsigned int rb_iseq_constant_body::has_opt

Definition at line 434 of file vm_core.h.

◆ has_post

unsigned int rb_iseq_constant_body::has_post

Definition at line 436 of file vm_core.h.

◆ has_rest

unsigned int rb_iseq_constant_body::has_rest

Definition at line 435 of file vm_core.h.

◆ ic_size

unsigned int rb_iseq_constant_body::ic_size

Definition at line 517 of file vm_core.h.

◆ icvarc_size

unsigned int rb_iseq_constant_body::icvarc_size

Definition at line 520 of file vm_core.h.

◆ is_entries

union iseq_inline_storage_entry* rb_iseq_constant_body::is_entries

Definition at line 505 of file vm_core.h.

◆ ise_size

unsigned int rb_iseq_constant_body::ise_size

Definition at line 518 of file vm_core.h.

◆ iseq_encoded

VALUE* rb_iseq_constant_body::iseq_encoded

Definition at line 406 of file vm_core.h.

◆ iseq_size

unsigned int rb_iseq_constant_body::iseq_size

Definition at line 405 of file vm_core.h.

◆ ivc_size

unsigned int rb_iseq_constant_body::ivc_size

Definition at line 519 of file vm_core.h.

◆ lead_num

int rb_iseq_constant_body::lead_num

Definition at line 452 of file vm_core.h.

◆ list

iseq_bits_t* rb_iseq_constant_body::list

Definition at line 529 of file vm_core.h.

◆ local_iseq

struct rb_iseq_struct* rb_iseq_constant_body::local_iseq

Definition at line 503 of file vm_core.h.

◆ local_table

const ID* rb_iseq_constant_body::local_table

Definition at line 496 of file vm_core.h.

◆ local_table_size

unsigned int rb_iseq_constant_body::local_table_size

Definition at line 516 of file vm_core.h.

◆ location

rb_iseq_location_t rb_iseq_constant_body::location

Definition at line 484 of file vm_core.h.

◆ mandatory_only_iseq

const rb_iseq_t* rb_iseq_constant_body::mandatory_only_iseq

Definition at line 535 of file vm_core.h.

◆ num

int rb_iseq_constant_body::num

Definition at line 475 of file vm_core.h.

◆ opt_num

int rb_iseq_constant_body::opt_num

Definition at line 453 of file vm_core.h.

◆ opt_table

const VALUE* rb_iseq_constant_body::opt_table

Definition at line 459 of file vm_core.h.

◆ original_iseq

VALUE* rb_iseq_constant_body::original_iseq

Definition at line 513 of file vm_core.h.

◆ outer_variables

struct rb_id_table* rb_iseq_constant_body::outer_variables

Definition at line 533 of file vm_core.h.

◆ [struct]

struct { ... } rb_iseq_constant_body::param

parameter information

def m(a1, a2, ..., aM, # mandatory b1=(...), b2=(...), ..., bN=(...), # optional *c, # rest d1, d2, ..., dO, # post e1:(...), e2:(...), ..., eK:(...), # keyword **f, # keyword_rest &g) # block =>

lead_num = M opt_num = N rest_start = M+N post_start = M+N+(*1) post_num = O keyword_num = K block_start = M+N+(*1)+O+K keyword_bits = M+N+(*1)+O+K+(&1) size = M+N+O+(*1)+K+(&1)+(**1) // parameter size.

◆ parent_iseq

const struct rb_iseq_struct* rb_iseq_constant_body::parent_iseq

Definition at line 502 of file vm_core.h.

◆ pc2branchindex

VALUE rb_iseq_constant_body::pc2branchindex

Definition at line 512 of file vm_core.h.

◆ post_num

int rb_iseq_constant_body::post_num

Definition at line 456 of file vm_core.h.

◆ post_start

int rb_iseq_constant_body::post_start

Definition at line 455 of file vm_core.h.

◆ prism

bool rb_iseq_constant_body::prism

Definition at line 526 of file vm_core.h.

◆ required_num

int rb_iseq_constant_body::required_num

Definition at line 476 of file vm_core.h.

◆ rest_start

int rb_iseq_constant_body::rest_start

Definition at line 454 of file vm_core.h.

◆ ruby2_keywords

unsigned int rb_iseq_constant_body::ruby2_keywords

Definition at line 443 of file vm_core.h.

◆ script_lines

VALUE rb_iseq_constant_body::script_lines

Definition at line 510 of file vm_core.h.

◆ single

iseq_bits_t rb_iseq_constant_body::single

Definition at line 530 of file vm_core.h.

◆ size

unsigned int rb_iseq_constant_body::size

Definition at line 450 of file vm_core.h.

◆ stack_max

unsigned int rb_iseq_constant_body::stack_max

Definition at line 522 of file vm_core.h.

◆ table

const ID* rb_iseq_constant_body::table

Definition at line 479 of file vm_core.h.

◆ type

enum rb_iseq_type rb_iseq_constant_body::type

Definition at line 403 of file vm_core.h.

◆ use_block

unsigned int rb_iseq_constant_body::use_block

Definition at line 446 of file vm_core.h.


The documentation for this struct was generated from the following file: