/* -*- mode:c; style:ruby; coding: utf-8; indent-tabs-mode: nil -*- */ /* 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 consist of many small parts of codes copyrighted by each authors, * 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 do not automatically define that of generated ones. This is * the reason why this file is under unclear situation. All that 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(putiseq), BIN(putstring), BIN(concatstrings), BIN(tostring), BIN(freezestring), BIN(toregexp), BIN(intern), BIN(newarray), 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(reput), BIN(topn), BIN(setn), BIN(adjuststack), BIN(defined), BIN(checkmatch), BIN(checkkeyword), BIN(checktype), BIN(defineclass), BIN(send), BIN(opt_send_without_block), BIN(opt_str_freeze), 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_regexpmatch1), BIN(opt_regexpmatch2), BIN(opt_call_c_function), BIN(bitblt), BIN(answer), 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_putiseq), BIN(trace_putstring), BIN(trace_concatstrings), BIN(trace_tostring), BIN(trace_freezestring), BIN(trace_toregexp), BIN(trace_intern), BIN(trace_newarray), 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_reput), 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_send), BIN(trace_opt_send_without_block), BIN(trace_opt_str_freeze), 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_regexpmatch1), BIN(trace_opt_regexpmatch2), BIN(trace_opt_call_c_function), BIN(trace_bitblt), BIN(trace_answer), 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)