| 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 |