Class: RubyVM

Inherits:
Object show all
Defined in:
vm.c

Defined Under Namespace

Classes: Env, InstructionSequence

Constant Summary collapse

USAGE_ANALYSIS_INSN =

RubyVM::USAGE_ANALYSIS_*

:
USAGE_ANALYSIS_REGS =
rb_hash_new()
USAGE_ANALYSIS_INSN_BIGRAM =
rb_hash_new()
OPTS =

RubyVM::OPTS, which shows vm build options

:
INSTRUCTION_NAMES =

RubyVM::INSTRUCTION_NAMES

:
DEFAULT_PARAMS =

RubyVM::DEFAULT_PARAMS This constant variable shows VM's default parameters. Note that changing these values does not affect VM exection. Specification is not stable and you should not depend on this value. Of course, this constant is MRI specific.

:

Class Method Summary collapse

Class Method Details

.NSDRObject

:nodoc:


2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
# File 'vm.c', line 2179

static VALUE
nsdr(void)
{
    VALUE ary = rb_ary_new();
#if HAVE_BACKTRACE
#include <execinfo.h>
#define MAX_NATIVE_TRACE 1024
    static void *trace[MAX_NATIVE_TRACE];
    int n = backtrace(trace, MAX_NATIVE_TRACE);
    char **syms = backtrace_symbols(trace, n);
    int i;

    if (syms == 0) {
	rb_memerror();
    }

    for (i=0; i<n; i++) {
	rb_ary_push(ary, rb_str_new2(syms[i]));
    }
    free(syms); /* OK */
#endif
    return ary;
}

.SDRObject

:nodoc:


2171
2172
2173
2174
2175
2176
# File 'vm.c', line 2171

static VALUE
sdr(void)
{
    rb_vm_bugreport();
    return Qnil;
}

.USAGE_ANALYSIS_INSN_STOPObject


2204
# File 'vm.c', line 2204

static VALUE usage_analysis_insn_stop(VALUE self);

.USAGE_ANALYSIS_OPERAND_STOPObject


2205
# File 'vm.c', line 2205

static VALUE usage_analysis_operand_stop(VALUE self);

.USAGE_ANALYSIS_REGISTER_STOPObject


2206
# File 'vm.c', line 2206

static VALUE usage_analysis_register_stop(VALUE self);