Commit Graph

365 Commits

Author SHA1 Message Date
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