x86 instruction reordering for code compression

Paroczi Zsombor: x86 instruction reordering for code compression. In: Acta cybernetica, (21) 1. pp. 177-190. (2013)

[thumbnail of actacyb_21_1_2013_13.pdf]
Cikk, tanulmány, mű

Download (658kB) | Preview


Runtime executable code compression is a method which uses standard data compression methods and binary machine code transformations to achieve smaller file size, yet maintaining the ability to execute the compressed file as a regular executable. With a disassembler, an almost perfect instructional and functional level disassembly can be generated. Using the structural information of the compiled machine code each function can be split into so called basic blocks. In this work we show that reordering instructions within basic blocks using data flow constraints can improve code compression without changing the behavior of the code. We use two kinds of data affection (read, write) and 20 data types including registers: 8 basic x86 registers, 11 eflags, and memory data. Due to the complexity of the reordering, some simplification is required. Our solution is to search local optimum of the compression on the function level and then combine the results to get a suboptimal global result. Using the reordering method better results can be achieved, namely the compression size gain for gzip can be as high as 1.24%, for lzma 0.68% on the tested executables.

Item Type: Article
Journal or Publication Title: Acta cybernetica
Date: 2013
Volume: 21
Number: 1
ISSN: 0324-721X
Page Range: pp. 177-190
Language: English
Place of Publication: Szeged
Related URLs: http://acta.bibl.u-szeged.hu/38535/
DOI: 10.14232/actacyb.21.1.2013.13
Uncontrolled Keywords: Számítástechnika, Kibernetika, Matematika
Additional Information: Bibliogr.: p. 189-190. ; összefoglalás angol nyelven
Subjects: 01. Natural sciences
01. Natural sciences > 01.01. Mathematics
01. Natural sciences > 01.02. Computer and information sciences
Date Deposited: 2016. Oct. 17. 10:38
Last Modified: 2022. Jun. 17. 15:42
URI: http://acta.bibl.u-szeged.hu/id/eprint/30857

Actions (login required)

View Item View Item