| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2011 The Native Client Authors. All rights reserved. | |
| 3 * Use of this source code is governed by a BSD-style license that can be | |
| 4 * found in the LICENSE file. | |
| 5 */ | |
| 6 | |
| 7 /* | |
| 8 * ncopcode_desc_inl.c - Holds inline routines for commonly used (simple) | |
| 9 * functions in ncopcode_desc.h. Used to speed up code. Inlined routines | |
| 10 * correspond to the following functions in ncopcode_desc.h, but with | |
| 11 * an 'Inline' suffix: | |
| 12 * | |
| 13 * NaClGetInstNumberOperands | |
| 14 * NaClGetInstOperand | |
| 15 */ | |
| 16 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_INL_H_ | |
| 17 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_INL_H_ | |
| 18 | |
| 19 #include <assert.h> | |
| 20 #include "native_client/src/trusted/validator/x86/decoder/ncopcode_desc.h" | |
| 21 #include "native_client/src/trusted/validator/x86/decoder/nc_decode_tables.h" | |
| 22 | |
| 23 /* Returns the number of logical operands an instruction has. That is, | |
| 24 * returns field num_operands unless the first operand is | |
| 25 * a special encoding that extends the opcode. | |
| 26 */ | |
| 27 static uint8_t NaClGetInstNumberOperandsInline(const NaClInst* inst) { | |
| 28 return inst->num_operands; | |
| 29 } | |
| 30 | |
| 31 /* Returns the indexed logical operand for the instruction. That is, | |
| 32 * returns the index-th operand unless the first operand is | |
| 33 * a special encoding that extends the opcode. In the latter | |
| 34 * case, the (index+1)-th operand is returned. | |
| 35 */ | |
| 36 static const INLINE NaClOp* NaClGetInstOperandInline( | |
| 37 const NaClDecodeTables* tables, | |
| 38 const NaClInst* inst, uint8_t index) { | |
| 39 assert(index < inst->num_operands); | |
| 40 return &tables->operands_table[inst->operands_offset + index]; | |
| 41 } | |
| 42 | |
| 43 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOPCODE_DESC_INL_H_
*/ | |
| OLD | NEW |