
1: /** -*-c-*- 2: This file contains YARV instructions list. 3: 4: ---- 5: This file is auto generated by insns2vm.rb 6: DO NOT TOUCH! 7: 8: If you want to fix something, you must edit 'template/insns.inc.tmpl' 9: or insns2vm.rb 10: */ 11: 12: 13: /* BIN : Basic Instruction Name */ 14: #define BIN(n) YARVINSN_##n 15: 16: enum{ 17: BIN(nop) = 0, 18: 19: BIN(getlocal) = 1, 20: 21: BIN(setlocal) = 2, 22: 23: BIN(getspecial) = 3, 24: 25: BIN(setspecial) = 4, 26: 27: BIN(getdynamic) = 5, 28: 29: BIN(setdynamic) = 6, 30: 31: BIN(getinstancevariable) = 7, 32: 33: BIN(setinstancevariable) = 8, 34: 35: BIN(getclassvariable) = 9, 36: 37: BIN(setclassvariable) = 10, 38: 39: BIN(getconstant) = 11, 40: 41: BIN(setconstant) = 12, 42: 43: BIN(getglobal) = 13, 44: 45: BIN(setglobal) = 14, 46: 47: BIN(putnil) = 15, 48: 49: BIN(putself) = 16, 50: 51: BIN(putobject) = 17, 52: 53: BIN(putstring) = 18, 54: 55: BIN(concatstrings) = 19, 56: 57: BIN(tostring) = 20, 58: 59: BIN(toregexp) = 21, 60: 61: BIN(newarray) = 22, 62: 63: BIN(duparray) = 23, 64: 65: BIN(expandarray) = 24, 66: 67: BIN(concatarray) = 25, 68: 69: BIN(splatarray) = 26, 70: 71: BIN(checkincludearray) = 27, 72: 73: BIN(newhash) = 28, 74: 75: BIN(newrange) = 29, 76: 77: BIN(pop) = 30, 78: 79: BIN(dup) = 31, 80: 81: BIN(dupn) = 32, 82: 83: BIN(swap) = 33, 84: 85: BIN(reput) = 34, 86: 87: BIN(topn) = 35, 88: 89: BIN(setn) = 36, 90: 91: BIN(emptstack) = 37, 92: 93: BIN(definemethod) = 38, 94: 95: BIN(alias) = 39, 96: 97: BIN(undef) = 40, 98: 99: BIN(defined) = 41, 100: 101: BIN(postexe) = 42, 102: 103: BIN(trace) = 43, 104: 105: BIN(defineclass) = 44, 106: 107: BIN(send) = 45, 108: 109: BIN(invokesuper) = 46, 110: 111: BIN(invokeblock) = 47, 112: 113: BIN(leave) = 48, 114: 115: BIN(finish) = 49, 116: 117: BIN(throw) = 50, 118: 119: BIN(jump) = 51, 120: 121: BIN(branchif) = 52, 122: 123: BIN(branchunless) = 53, 124: 125: BIN(getinlinecache) = 54, 126: 127: BIN(onceinlinecache) = 55, 128: 129: BIN(setinlinecache) = 56, 130: 131: BIN(opt_case_dispatch) = 57, 132: 133: BIN(opt_checkenv) = 58, 134: 135: BIN(opt_plus) = 59, 136: 137: BIN(opt_minus) = 60, 138: 139: BIN(opt_mult) = 61, 140: 141: BIN(opt_div) = 62, 142: 143: BIN(opt_mod) = 63, 144: 145: BIN(opt_eq) = 64, 146: 147: BIN(opt_neq) = 65, 148: 149: BIN(opt_lt) = 66, 150: 151: BIN(opt_le) = 67, 152: 153: BIN(opt_gt) = 68, 154: 155: BIN(opt_ge) = 69, 156: 157: BIN(opt_ltlt) = 70, 158: 159: BIN(opt_aref) = 71, 160: 161: BIN(opt_aset) = 72, 162: 163: BIN(opt_length) = 73, 164: 165: BIN(opt_succ) = 74, 166: 167: BIN(opt_not) = 75, 168: 169: BIN(opt_regexpmatch1) = 76, 170: 171: BIN(opt_regexpmatch2) = 77, 172: 173: BIN(opt_call_c_function) = 78, 174: 175: BIN(bitblt) = 79, 176: 177: BIN(answer) = 80, 178: 179: }; 180: 181: #define VM_INSTRUCTION_SIZE 81 182: