Nguyen Anh Quynh
cff03629ac
arm64: assign NULL to char pointer, not zero. bug reported by Coverity
2014-06-18 14:04:42 +08:00
Nguyen Anh Quynh
73eb5d5486
arm: op_addImm() is called only when detail mode is ON
2014-06-17 18:08:29 +08:00
Nguyen Anh Quynh
cae09bf543
replace offset_of with offsetof from stddef.h
2014-06-17 14:58:39 +08:00
Nguyen Anh Quynh
ebe2443b9b
arm: some special instructions need to have numerical operand added manually in printInstruction()
2014-06-17 13:56:01 +08:00
Nguyen Anh Quynh
eccb9da7a8
arm64: zeroout a whole cs_arm64 struct of MCI in *getInstruction().
2014-06-17 13:34:25 +08:00
Nguyen Anh Quynh
73bbbb3800
arm: add ASRS, LSRS, VCLE, VCLT instructions. update Python & Java bindings at the same time
2014-06-17 13:29:54 +08:00
Nguyen Anh Quynh
8693fcdc99
arm: correct operand setup for REG type in printAddrMode3OffsetOperand()
2014-06-17 13:28:33 +08:00
Nguyen Anh Quynh
2a461ed422
arm: zeroout a whole cs_arm struct in *getInstruction(). this makes sure operand of REG type has shift type = 0 by default
2014-06-17 13:27:38 +08:00
Nguyen Anh Quynh
9cf88119fb
x86: InternalInstruction@xAcquireRelease should be initialized to 0 (FALSE)
2014-06-16 18:32:34 +08:00
Nguyen Anh Quynh
495295ecd4
MCInst_Init() is arch-independent
2014-06-16 15:54:32 +08:00
Nguyen Anh Quynh
215e76b223
ppc: use MCInst_insert0() instead of MCInst_insert() to avoid malloc/free
2014-06-16 14:47:43 +08:00
Nguyen Anh Quynh
d06f3d662b
xcore: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 14:35:08 +08:00
Nguyen Anh Quynh
88fca42a5f
xcore: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 14:30:19 +08:00
Nguyen Anh Quynh
7062988855
systemz: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 13:09:15 +08:00
Nguyen Anh Quynh
bddd215099
systemz: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 13:02:41 +08:00
Nguyen Anh Quynh
3d3b6cec01
sparc: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 12:57:02 +08:00
Nguyen Anh Quynh
9b91de0ae3
sparc: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 12:51:07 +08:00
Nguyen Anh Quynh
7f945d3655
ppc: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 12:34:02 +08:00
Nguyen Anh Quynh
7f15f67544
ppc: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 12:11:50 +08:00
Nguyen Anh Quynh
f08b83ddba
mips: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 12:04:25 +08:00
Nguyen Anh Quynh
0c764d4a70
mips: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 11:53:08 +08:00
Nguyen Anh Quynh
d489a679f4
arm64: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free
2014-06-16 11:46:20 +08:00
Nguyen Anh Quynh
cbb33583b3
arm64: use SStream_concat0() instead of SStream_concat() for simple string processing whenever possible
2014-06-16 11:16:30 +08:00
Nguyen Anh Quynh
9678705d57
arm: convert MCOperand_CreateReg() to MCOperand_CreateReg0() to avoid malloc/free
2014-06-10 13:59:55 +07:00
Nguyen Anh Quynh
748687df46
arm: convert the left-over MCOperand_CreateImm to MCOperand_CreateImm0
2014-06-10 09:18:39 +07:00
Nguyen Anh Quynh
0f648ea3e8
arm: use CreateImm0() & CreateReg0() to create MCOperand* to avoid using malloc/free to improve performance
2014-06-10 01:01:23 +07:00
Nguyen Anh Quynh
8c1104b567
arm: do not use markup
2014-06-10 00:39:06 +07:00
Nguyen Anh Quynh
dd9225b930
arm: use SStream_concat0() for SStream_concat() whereever possible for better performance
2014-06-10 00:37:53 +07:00
Nguyen Anh Quynh
b95647d2c1
systemz & xcore: create details only when detail mode is ON. this fixes some crashes in tests/test
2014-06-09 18:49:37 +07:00
Nguyen Anh Quynh
69582d71ae
initialize cs_insn.detail by properly zero-out right members for each arch
2014-06-09 17:50:01 +07:00
Nguyen Anh Quynh
29fd0f6405
fix all the code in other non-X86 archs after the change made by commit 5329a6ffd4
2014-06-09 08:00:18 +07:00
Nguyen Anh Quynh
5329a6ffd4
directly update cs_insn from MCInst interface to avoid multiple memcpy()
2014-06-08 23:35:52 +07:00
Nguyen Anh Quynh
8cae86ccfa
x86: copy prefix back after updating it in X86_lockrep()
2014-06-07 23:47:35 +08:00
Nguyen Anh Quynh
22a5a761d8
x86: simplify byteReader_t
2014-06-07 23:41:20 +08:00
Nguyen Anh Quynh
30c065998b
optimize memset() of MCInst_Init()
2014-06-07 13:30:59 +08:00
Nguyen Anh Quynh
5474d877b0
x86: optimize struct InternalInstruction for memset(). this improve performance by around 4%
2014-06-07 12:56:44 +08:00
Nguyen Anh Quynh
0ad226e332
x86: fix a conflict when merging -next to -optimize branch
2014-06-06 00:59:15 +08:00
Nguyen Anh Quynh
cf0813809a
x86: more simplification on managing MCOperand. this also fixes a bug in handling memory reference instructions
2014-06-06 00:56:46 +08:00
Nguyen Anh Quynh
0e534bf0ff
x86: correct the related comment of the last commit
2014-06-05 17:05:16 +07:00
Nguyen Anh Quynh
9417ad6cd5
x86: printDstIdx() should only print segment in non-64bit mode. bug reported by Filipe Cabecinhas (@filcab)
2014-06-05 17:03:52 +07:00
Nguyen Anh Quynh
e70a043a04
x86: more simplification for better performance
2014-06-05 10:52:43 +08:00
Nguyen Anh Quynh
937e48314c
x86: avoid malloc/free MCOperand with new API of MCInst: MCInst_addOperand0, MCInst_CreateReg0, MCInst_CreateImm0
2014-06-04 22:51:51 +07:00
Nguyen Anh Quynh
a62b9a07e4
x86: use SStream_concat0() where possible to improve performance - for AT&T and X86_REDUCE
2014-06-04 22:25:48 +07:00
Nguyen Anh Quynh
46b6693d36
x86: save prefixes to avoid expensive copying loop. based on idea of Dang Hoang Vu
2014-06-04 19:04:46 +08:00
Nguyen Anh Quynh
b76233c648
avoid using vsnprintf when possible for SStream_concat() to improve performance. based on the idea of Dang Hoang Vu.
2014-06-04 18:31:02 +08:00
Jay Oster
368c45b4c6
x86 instruction groups: Add SYSEXIT and SYSRET to the X86_GRP_IRET group
2014-06-04 00:08:46 -07:00
Nguyen Anh Quynh
a19d3f0b60
Merge branch 'feature/x86-groups' of https://github.com/parasyte/capstone into test
2014-06-04 13:35:12 +07:00
Jay Oster
6b00344f23
x86 instruction groups: Fix RET/IRET mapping.
2014-06-03 23:31:58 -07:00
Nguyen Anh Quynh
0577bb728c
x86: ATT syntax does not print word size pointer like Intel syntax
2014-06-03 13:50:35 +07:00
Jay Oster
6f74ccc97a
Add new x86 instruction groups
...
- VM: Virtual Machine
- INT: Interrupts
- IRET: Interupt returns
- CALL: Subroutine call
- RET: Subroutine return
Includes a special case for writes to port 0xb2, which triggers an SMI
2014-06-02 22:21:41 -07:00