Ruby: rb_iseq_constant_body Struct Reference

Ruby 3.4.6p54 (2025-09-16 revision dbd83256b1cec76c69756ecb8758b9e1079833de)

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
VALUE * | iseq_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 ID * | local_table
struct iseq_catch_table * | catch_table
const struct rb_iseq_struct * | parent_iseq
struct rb_iseq_struct * | local_iseq
union iseq_inline_storage_entry * | is_entries
struct rb_call_data * | call_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_table * | outer_variables
const rb_iseq_t * | mandatory_only_iseq

## Detailed Description

Definition at line 404 of file vm_core.h.

## Field Documentation

## ◆ accepts_no_kwarg

unsigned int rb_iseq_constant_body::accepts_no_kwarg

Definition at line 444 of file vm_core.h.

## ◆ ambiguous_param0

unsigned int rb_iseq_constant_body::ambiguous_param0

Definition at line 443 of file vm_core.h.

## ◆ anon_kwrest

unsigned int rb_iseq_constant_body::anon_kwrest

Definition at line 447 of file vm_core.h.

## ◆ anon_rest

unsigned int rb_iseq_constant_body::anon_rest

Definition at line 446 of file vm_core.h.

## ◆ bits_start

int rb_iseq_constant_body::bits_start

Definition at line 479 of file vm_core.h.

## ◆ block_start

int rb_iseq_constant_body::block_start

Definition at line 459 of file vm_core.h.

## ◆ builtin_attrs

unsigned int rb_iseq_constant_body::builtin_attrs

Definition at line 526 of file vm_core.h.

## ◆ call_data

struct rb_call_data* rb_iseq_constant_body::call_data

Definition at line 508 of file vm_core.h.

## ◆ catch_table

struct iseq_catch_table* rb_iseq_constant_body::catch_table

Definition at line 501 of file vm_core.h.

## ◆ ci_size

unsigned int rb_iseq_constant_body::ci_size

Definition at line 523 of file vm_core.h.

## ◆ coverage

VALUE rb_iseq_constant_body::coverage

Definition at line 513 of file vm_core.h.

## ◆ default_values

VALUE* rb_iseq_constant_body::default_values

Definition at line 482 of file vm_core.h.

## ◆ flip_count

rb_snum_t rb_iseq_constant_body::flip_count

Definition at line 511 of file vm_core.h.

## ◆ forwardable

unsigned int rb_iseq_constant_body::forwardable

Definition at line 449 of file vm_core.h.

## ◆ has_block

unsigned int rb_iseq_constant_body::has_block

Definition at line 441 of file vm_core.h.

## ◆ has_kw

unsigned int rb_iseq_constant_body::has_kw

Definition at line 439 of file vm_core.h.

## ◆ has_kwrest

unsigned int rb_iseq_constant_body::has_kwrest

Definition at line 440 of file vm_core.h.

## ◆ has_lead

unsigned int rb_iseq_constant_body::has_lead

Definition at line 435 of file vm_core.h.

## ◆ has_opt

unsigned int rb_iseq_constant_body::has_opt

Definition at line 436 of file vm_core.h.

## ◆ has_post

unsigned int rb_iseq_constant_body::has_post

Definition at line 438 of file vm_core.h.

## ◆ has_rest

unsigned int rb_iseq_constant_body::has_rest

Definition at line 437 of file vm_core.h.

## ◆ ic_size

unsigned int rb_iseq_constant_body::ic_size

Definition at line 519 of file vm_core.h.

## ◆ icvarc_size

unsigned int rb_iseq_constant_body::icvarc_size

Definition at line 522 of file vm_core.h.

## ◆ is_entries

union iseq_inline_storage_entry* rb_iseq_constant_body::is_entries

Definition at line 507 of file vm_core.h.

## ◆ ise_size

unsigned int rb_iseq_constant_body::ise_size

Definition at line 520 of file vm_core.h.

## ◆ iseq_encoded

VALUE* rb_iseq_constant_body::iseq_encoded

Definition at line 408 of file vm_core.h.

## ◆ iseq_size

unsigned int rb_iseq_constant_body::iseq_size

Definition at line 407 of file vm_core.h.

## ◆ ivc_size

unsigned int rb_iseq_constant_body::ivc_size

Definition at line 521 of file vm_core.h.

## ◆ lead_num

int rb_iseq_constant_body::lead_num

Definition at line 454 of file vm_core.h.

## ◆ list

iseq_bits_t* rb_iseq_constant_body::list

Definition at line 531 of file vm_core.h.

## ◆ local_iseq

struct rb_iseq_struct* rb_iseq_constant_body::local_iseq

Definition at line 505 of file vm_core.h.

## ◆ local_table

const ID* rb_iseq_constant_body::local_table

Definition at line 498 of file vm_core.h.

## ◆ local_table_size

unsigned int rb_iseq_constant_body::local_table_size

Definition at line 518 of file vm_core.h.

## ◆ location

rb_iseq_location_t rb_iseq_constant_body::location

Definition at line 486 of file vm_core.h.

## ◆ mandatory_only_iseq

const rb_iseq_t* rb_iseq_constant_body::mandatory_only_iseq

Definition at line 537 of file vm_core.h.

## ◆ num

int rb_iseq_constant_body::num

Definition at line 477 of file vm_core.h.

## ◆ opt_num

int rb_iseq_constant_body::opt_num

Definition at line 455 of file vm_core.h.

## ◆ opt_table

const VALUE* rb_iseq_constant_body::opt_table

Definition at line 461 of file vm_core.h.

## ◆ original_iseq

VALUE* rb_iseq_constant_body::original_iseq

Definition at line 515 of file vm_core.h.

## ◆ outer_variables

struct rb_id_table* rb_iseq_constant_body::outer_variables

Definition at line 535 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 504 of file vm_core.h.

## ◆ pc2branchindex

VALUE rb_iseq_constant_body::pc2branchindex

Definition at line 514 of file vm_core.h.

## ◆ post_num

int rb_iseq_constant_body::post_num

Definition at line 458 of file vm_core.h.

## ◆ post_start

int rb_iseq_constant_body::post_start

Definition at line 457 of file vm_core.h.

## ◆ prism

bool rb_iseq_constant_body::prism

Definition at line 528 of file vm_core.h.

## ◆ required_num

int rb_iseq_constant_body::required_num

Definition at line 478 of file vm_core.h.

## ◆ rest_start

int rb_iseq_constant_body::rest_start

Definition at line 456 of file vm_core.h.

## ◆ ruby2_keywords

unsigned int rb_iseq_constant_body::ruby2_keywords

Definition at line 445 of file vm_core.h.

## ◆ script_lines

VALUE rb_iseq_constant_body::script_lines

Definition at line 512 of file vm_core.h.

## ◆ single

iseq_bits_t rb_iseq_constant_body::single

Definition at line 532 of file vm_core.h.

## ◆ size

unsigned int rb_iseq_constant_body::size

Definition at line 452 of file vm_core.h.

## ◆ stack_max

unsigned int rb_iseq_constant_body::stack_max

Definition at line 524 of file vm_core.h.

## ◆ table

const ID* rb_iseq_constant_body::table

Definition at line 481 of file vm_core.h.

## ◆ type

enum rb_iseq_type rb_iseq_constant_body::type

Definition at line 405 of file vm_core.h.

## ◆ use_block

unsigned int rb_iseq_constant_body::use_block

Definition at line 448 of file vm_core.h.

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

- vm_core.h