File: //usr/local/rvm/src/ruby-3.0.2/insns.inc
/* -*- C -*- */
/* This is an auto-generated file and is a part of the programming language
* Ruby. The person who created a program to generate this file (``I''
* hereafter) would like to refrain from defining licensing of this generated
* source code.
*
* This file consists of many small parts of codes copyrighted by each author,
* not only the ``I'' person. Those original authors agree with some
* open-source license. I believe that the license we agree is the condition
* mentioned in the file COPYING. It states "4. You may modify and include
* the part of the software into any other software ...". But the problem is,
* the license never makes it clear if such modified parts still remain in the
* same license, or not. The fact that we agree with the source code's
* licensing terms does not automatically define that of generated ones. This
* is the reason why this file is under an unclear situation. All what I know
* is that above provision guarantees this file to exist.
*
* Please let me hesitate to declare something about this nuanced contract. I
* am not in the position to take over other authors' license to merge into my
* one. Changing them to (say) GPLv3 is not doable by myself. Perhaps someday
* it might turn out to be okay to say this file is under a license. I wish
* the situation would become more clear in the future. */
/*******************************************************************/
/*******************************************************************/
/*******************************************************************/
/**
This file contains YARV instruction list.
----
This file is auto generated by insns2vm.rb
DO NOT TOUCH!
If you want to fix something, you must edit "tool/ruby_vm/views/insns.inc.erb"
or tool/insns2vm.rb
*/
/* BIN : Basic Instruction Name */
#define BIN(n) YARVINSN_##n
enum ruby_vminsn_type {
BIN(nop),
BIN(getlocal),
BIN(setlocal),
BIN(getblockparam),
BIN(setblockparam),
BIN(getblockparamproxy),
BIN(getspecial),
BIN(setspecial),
BIN(getinstancevariable),
BIN(setinstancevariable),
BIN(getclassvariable),
BIN(setclassvariable),
BIN(getconstant),
BIN(setconstant),
BIN(getglobal),
BIN(setglobal),
BIN(putnil),
BIN(putself),
BIN(putobject),
BIN(putspecialobject),
BIN(putstring),
BIN(concatstrings),
BIN(tostring),
BIN(toregexp),
BIN(intern),
BIN(newarray),
BIN(newarraykwsplat),
BIN(duparray),
BIN(duphash),
BIN(expandarray),
BIN(concatarray),
BIN(splatarray),
BIN(newhash),
BIN(newrange),
BIN(pop),
BIN(dup),
BIN(dupn),
BIN(swap),
BIN(reverse),
BIN(topn),
BIN(setn),
BIN(adjuststack),
BIN(defined),
BIN(checkmatch),
BIN(checkkeyword),
BIN(checktype),
BIN(defineclass),
BIN(definemethod),
BIN(definesmethod),
BIN(send),
BIN(opt_send_without_block),
BIN(opt_str_freeze),
BIN(opt_nil_p),
BIN(opt_str_uminus),
BIN(opt_newarray_max),
BIN(opt_newarray_min),
BIN(invokesuper),
BIN(invokeblock),
BIN(leave),
BIN(throw),
BIN(jump),
BIN(branchif),
BIN(branchunless),
BIN(branchnil),
BIN(opt_getinlinecache),
BIN(opt_setinlinecache),
BIN(once),
BIN(opt_case_dispatch),
BIN(opt_plus),
BIN(opt_minus),
BIN(opt_mult),
BIN(opt_div),
BIN(opt_mod),
BIN(opt_eq),
BIN(opt_neq),
BIN(opt_lt),
BIN(opt_le),
BIN(opt_gt),
BIN(opt_ge),
BIN(opt_ltlt),
BIN(opt_and),
BIN(opt_or),
BIN(opt_aref),
BIN(opt_aset),
BIN(opt_aset_with),
BIN(opt_aref_with),
BIN(opt_length),
BIN(opt_size),
BIN(opt_empty_p),
BIN(opt_succ),
BIN(opt_not),
BIN(opt_regexpmatch2),
BIN(invokebuiltin),
BIN(opt_invokebuiltin_delegate),
BIN(opt_invokebuiltin_delegate_leave),
BIN(getlocal_WC_0),
BIN(getlocal_WC_1),
BIN(setlocal_WC_0),
BIN(setlocal_WC_1),
BIN(putobject_INT2FIX_0_),
BIN(putobject_INT2FIX_1_),
BIN(trace_nop),
BIN(trace_getlocal),
BIN(trace_setlocal),
BIN(trace_getblockparam),
BIN(trace_setblockparam),
BIN(trace_getblockparamproxy),
BIN(trace_getspecial),
BIN(trace_setspecial),
BIN(trace_getinstancevariable),
BIN(trace_setinstancevariable),
BIN(trace_getclassvariable),
BIN(trace_setclassvariable),
BIN(trace_getconstant),
BIN(trace_setconstant),
BIN(trace_getglobal),
BIN(trace_setglobal),
BIN(trace_putnil),
BIN(trace_putself),
BIN(trace_putobject),
BIN(trace_putspecialobject),
BIN(trace_putstring),
BIN(trace_concatstrings),
BIN(trace_tostring),
BIN(trace_toregexp),
BIN(trace_intern),
BIN(trace_newarray),
BIN(trace_newarraykwsplat),
BIN(trace_duparray),
BIN(trace_duphash),
BIN(trace_expandarray),
BIN(trace_concatarray),
BIN(trace_splatarray),
BIN(trace_newhash),
BIN(trace_newrange),
BIN(trace_pop),
BIN(trace_dup),
BIN(trace_dupn),
BIN(trace_swap),
BIN(trace_reverse),
BIN(trace_topn),
BIN(trace_setn),
BIN(trace_adjuststack),
BIN(trace_defined),
BIN(trace_checkmatch),
BIN(trace_checkkeyword),
BIN(trace_checktype),
BIN(trace_defineclass),
BIN(trace_definemethod),
BIN(trace_definesmethod),
BIN(trace_send),
BIN(trace_opt_send_without_block),
BIN(trace_opt_str_freeze),
BIN(trace_opt_nil_p),
BIN(trace_opt_str_uminus),
BIN(trace_opt_newarray_max),
BIN(trace_opt_newarray_min),
BIN(trace_invokesuper),
BIN(trace_invokeblock),
BIN(trace_leave),
BIN(trace_throw),
BIN(trace_jump),
BIN(trace_branchif),
BIN(trace_branchunless),
BIN(trace_branchnil),
BIN(trace_opt_getinlinecache),
BIN(trace_opt_setinlinecache),
BIN(trace_once),
BIN(trace_opt_case_dispatch),
BIN(trace_opt_plus),
BIN(trace_opt_minus),
BIN(trace_opt_mult),
BIN(trace_opt_div),
BIN(trace_opt_mod),
BIN(trace_opt_eq),
BIN(trace_opt_neq),
BIN(trace_opt_lt),
BIN(trace_opt_le),
BIN(trace_opt_gt),
BIN(trace_opt_ge),
BIN(trace_opt_ltlt),
BIN(trace_opt_and),
BIN(trace_opt_or),
BIN(trace_opt_aref),
BIN(trace_opt_aset),
BIN(trace_opt_aset_with),
BIN(trace_opt_aref_with),
BIN(trace_opt_length),
BIN(trace_opt_size),
BIN(trace_opt_empty_p),
BIN(trace_opt_succ),
BIN(trace_opt_not),
BIN(trace_opt_regexpmatch2),
BIN(trace_invokebuiltin),
BIN(trace_opt_invokebuiltin_delegate),
BIN(trace_opt_invokebuiltin_delegate_leave),
BIN(trace_getlocal_WC_0),
BIN(trace_getlocal_WC_1),
BIN(trace_setlocal_WC_0),
BIN(trace_setlocal_WC_1),
BIN(trace_putobject_INT2FIX_0_),
BIN(trace_putobject_INT2FIX_1_),
VM_INSTRUCTION_SIZE
};
#define ASSERT_VM_INSTRUCTION_SIZE(array) \
STATIC_ASSERT(numberof_##array, numberof(array) == VM_INSTRUCTION_SIZE)