| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright (c) 2012 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 * ncop_exps_inl.c - Holds inline routines for commonly used (simple) | |
| 9 * functions in ncop_exps.h. Used to speed up code. Inlined routines | |
| 10 * correspond to the following functions in ncop_exps.h, but with an | |
| 11 * 'Inline' suffix: | |
| 12 * | |
| 13 * NaClGetExpRegister | |
| 14 */ | |
| 15 #ifndef NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOP_EXPS_INL_H_ | |
| 16 #define NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOP_EXPS_INL_H_ | |
| 17 | |
| 18 #include <assert.h> | |
| 19 #include "native_client/src/trusted/validator/x86/decoder/ncop_exps.h" | |
| 20 | |
| 21 static INLINE NaClOpKind NaClGetExpRegisterInline(NaClExp* node) { | |
| 22 assert(node->kind == ExprRegister); | |
| 23 return (NaClOpKind) node->value; | |
| 24 } | |
| 25 | |
| 26 /* Return the sign extended integer in the given expr node. */ | |
| 27 static INLINE int64_t NaClGetExprSignedValue(NaClExp* node) { | |
| 28 if (node->flags & NACL_EFLAG(ExprSize8)) { | |
| 29 return (int8_t) node->value; | |
| 30 } else if (node->flags & NACL_EFLAG(ExprSize16)) { | |
| 31 return (int16_t) node->value; | |
| 32 } else if (node->flags & NACL_EFLAG(ExprSize32)) { | |
| 33 return (int32_t) node->value; | |
| 34 } else { | |
| 35 return (int64_t) node->value; | |
| 36 } | |
| 37 } | |
| 38 | |
| 39 /* Return the zero padded integer in the given expr node. */ | |
| 40 static INLINE uint64_t NaClGetExprUnsignedValue(NaClExp* node) { | |
| 41 if (node->flags & NACL_EFLAG(ExprSize8)) { | |
| 42 return (uint8_t) node->value; | |
| 43 } else if (node->flags & NACL_EFLAG(ExprSize16)) { | |
| 44 return (uint16_t) node->value; | |
| 45 } else if (node->flags & NACL_EFLAG(ExprSize32)) { | |
| 46 return (uint32_t) node->value; | |
| 47 } else { | |
| 48 return (uint64_t) node->value; | |
| 49 } | |
| 50 } | |
| 51 | |
| 52 #endif /* NATIVE_CLIENT_SRC_TRUSTED_VALIDATOR_X86_DECODER_NCOP_EXPS_INL_H_ */ | |
| OLD | NEW |