Lines Matching defs:Opcode
83 #define INSTRUCTION_ENUM(opcode, cname, p, f, r, i, a, v) cname = opcode,
150 kStore = 0x0080000, // store opcode
151 kLoad = 0x0100000, // load opcode
155 kExperimental = 0x1000000, // is an experimental opcode
192 int result = kInstructionSizeInCodeUnits[Opcode()];
218 DCHECK(FormatOf(Opcode()) >= k10x && FormatOf(Opcode()) <= k10t);
224 DCHECK(FormatOf(Opcode()) >= k20t && FormatOf(Opcode()) <= k25x);
230 DCHECK(FormatOf(Opcode()) >= k32x && FormatOf(Opcode()) <= k3rc);
236 DCHECK(FormatOf(Opcode()) == k51l);
240 // Returns the name of this instruction's opcode.
242 return Instruction::Name(Opcode());
245 // Returns the name of the given opcode.
246 static const char* Name(Code opcode) {
247 return kInstructionNames[opcode];
409 // TODO(iam): Make this name more consistent with GetAllArgs25x by including the opcode format.
416 // Returns the opcode field of the instruction. The given "inst_data" parameter must be the first
418 Code Opcode(uint16_t inst_data) const {
423 // Returns the opcode field of the instruction from the first 16 bits of instruction.
424 Code Opcode() const {
425 return Opcode(Fetch16(0));
428 void SetOpcode(Code opcode) {
429 DCHECK_LT(static_cast<uint16_t>(opcode), 256u);
431 insns[0] = (insns[0] & 0xff00) | static_cast<uint16_t>(opcode);
435 DCHECK(FormatOf(Opcode()) == k10x);
441 DCHECK(FormatOf(Opcode()) == k3rc);
447 DCHECK(FormatOf(Opcode()) == k35c);
453 DCHECK(FormatOf(Opcode()) == k22c);
458 // Returns the format of the given opcode.
459 static Format FormatOf(Code opcode) {
460 return kInstructionFormats[opcode];
463 // Returns the index type of the given opcode.
464 static IndexType IndexTypeOf(Code opcode) {
465 return kInstructionIndexTypes[opcode];
468 // Returns the flags for the given opcode.
469 static int FlagsOf(Code opcode) {
470 return kInstructionFlags[opcode];
473 // Return the verify flags for the given opcode.
474 static int VerifyFlagsOf(Code opcode) {
475 return kInstructionVerifyFlags[opcode];
480 return (kInstructionFlags[Opcode()] & kBranch) != 0;
485 return (kInstructionFlags[Opcode()] & kUnconditional) != 0;
496 return (kInstructionIndexTypes[Opcode()] == kIndexFieldOffset) ||
497 (kInstructionIndexTypes[Opcode()] == kIndexVtableOffset);
502 return (kInstructionFlags[Opcode()] & kSwitch) != 0;
507 return (kInstructionFlags[Opcode()] & kThrow) != 0;
512 return (kInstructionFlags[Opcode()] & kReturn) != 0;
517 return IsBranch() || IsReturn() || Opcode() == THROW;
522 return (kInstructionFlags[Opcode()] & kInvoke) != 0;
527 return (kInstructionFlags[Opcode()] & kExperimental) != 0;
531 return (kInstructionVerifyFlags[Opcode()] & (kVerifyRegA | kVerifyRegAWide));
535 return (kInstructionVerifyFlags[Opcode()] & (kVerifyRegB | kVerifyRegBField |
541 return (kInstructionVerifyFlags[Opcode()] & (kVerifyRegC | kVerifyRegCField |
546 return (kInstructionVerifyFlags[Opcode()] & (kVerifyArrayData | kVerifyBranchTarget |
552 return (kInstructionVerifyFlags[Opcode()] & kVerifyRuntimeOnly) != 0;