The art of computer programming, volume 3: (2nd ed.) sorting and searching
The art of computer programming, volume 3: (2nd ed.) sorting and searching
A Space-Economical Suffix Tree Construction Algorithm
Journal of the ACM (JACM)
Linear Algorithm for Data Compression via String Matching
Journal of the ACM (JACM)
Implications of structured programming for machine architecture
Communications of the ACM
Communications of the ACM
Automatic generation of peephole optimizations
SIGPLAN '84 Proceedings of the 1984 SIGPLAN symposium on Compiler construction
The Design of an Optimizing Compiler
The Design of an Optimizing Compiler
Empirical analysis of the mesa instruction set
ASPLOS I Proceedings of the first international symposium on Architectural support for programming languages and operating systems
Storage assignment to decrease code size
ACM Transactions on Programming Languages and Systems (TOPLAS)
A text-compression-based method for code size minimization in embedded systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Enhanced code compression for embedded RISC processors
Proceedings of the ACM SIGPLAN 1999 conference on Programming language design and implementation
Suffix arrays: a new method for on-line string searches
SODA '90 Proceedings of the first annual ACM-SIAM symposium on Discrete algorithms
Proceedings of the 27th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Compiler techniques for code compaction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Java bytecode compression for low-end embedded systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Combining Global Code and Data Compaction
OM '01 Proceedings of the 2001 ACM SIGPLAN workshop on Optimization of middleware and distributed systems
Profile-guided code compression
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Iterative procedural abstraction for code size reduction
CASES '02 Proceedings of the 2002 international conference on Compilers, architecture, and synthesis for embedded systems
Sifting out the mud: low level C++ code reuse
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Practical extraction techniques for Java
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Framework for Enhancing Code Quality in Limited Register Set Embedded Processors
LCTES '00 Proceedings of the ACM SIGPLAN Workshop on Languages, Compilers, and Tools for Embedded Systems
Instruction merging and specialization in the SICStus Prolog virtual machine
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Code optimization for code compression
Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization
On the side-effects of code abstraction
Proceedings of the 2003 ACM SIGPLAN conference on Language, compiler, and tool for embedded systems
Survey of code-size reduction methods
ACM Computing Surveys (CSUR)
Simple offset assignment in presence of subword data
Proceedings of the 2003 international conference on Compilers, architecture and synthesis for embedded systems
Code compression by register operand dependency
Journal of Systems and Software
Access Pattern-Based Code Compression for Memory-Constrained Embedded Systems
Proceedings of the conference on Design, Automation and Test in Europe - Volume 2
A dictionary construction technique for code compression systems with echo instructions
LCTES '05 Proceedings of the 2005 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Improving Program Efficiency by Packing Instructions into Registers
Proceedings of the 32nd annual international symposium on Computer Architecture
Enhanced code density of embedded CISC processors with echo technology
CODES+ISSS '05 Proceedings of the 3rd IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis
Link-time binary rewriting techniques for program compaction
ACM Transactions on Programming Languages and Systems (TOPLAS)
Reducing Instruction Fetch Cost by Packing Instructions into RegisterWindows
Proceedings of the 38th annual IEEE/ACM International Symposium on Microarchitecture
Post-compilation optimization for multiple gains with pattern matching
ACM SIGPLAN Notices
An instruction for direct interpretation of LZ77-compressed programs
Software—Practice & Experience
Adapting compilation techniques to enhance the packing of instructions into registers
CASES '06 Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
Adaptive object code compression
CASES '06 Proceedings of the 2006 international conference on Compilers, architecture and synthesis for embedded systems
ACM Transactions on Programming Languages and Systems (TOPLAS)
Graph-Based Procedural Abstraction
Proceedings of the International Symposium on Code Generation and Optimization
Addressing instruction fetch bottlenecks by using an instruction register file
Proceedings of the 2007 ACM SIGPLAN/SIGBED conference on Languages, compilers, and tools for embedded systems
Stack size reduction of recursive programs
CASES '07 Proceedings of the 2007 international conference on Compilers, architecture, and synthesis for embedded systems
A design framework for real-time embedded systems with code size and energy constraints
ACM Transactions on Embedded Computing Systems (TECS)
Access pattern-based code compression for memory-constrained systems
ACM Transactions on Design Automation of Electronic Systems (TODAES)
Visualization of Procedural Abstraction
Electronic Notes in Theoretical Computer Science (ENTCS)
Comparison and evaluation of code clone detection techniques and tools: A qualitative approach
Science of Computer Programming
Compiler Optimization Pass Visualization: The Procedural Abstraction Case
ACM Transactions on Computing Education (TOCE) - Special Issue on the 5th Program Visualization Workshop (PVW’08)
Procedural Abstraction with Reverse Prefix Trees
Proceedings of the 7th annual IEEE/ACM International Symposium on Code Generation and Optimization
Clone detection via structural abstraction
Software Quality Control
Code compaction of matching single-entry multiple-exit regions
SAS'03 Proceedings of the 10th international conference on Static analysis
Code size reduction by compiler tuning
SAMOS'06 Proceedings of the 6th international conference on Embedded Computer Systems: architectures, Modeling, and Simulation
TinyVM: an energy-efficient execution infrastructure for sensor networks
Software—Practice & Experience
Hi-index | 0.00 |
This paper describes the application of a general data compression algorithm to assembly code. The system is retargetable and generalizes cross-jumping and procedural abstraction. It can be used as a space optimizer that trades time for space, it can turn assembly code into interpretive code, and it can help formalize and automate the traditionally ad hoc design of both real and abstract machines.