Distributed Systems

Distributed Systems

A distributed system contains multiple nodes that are physically separate but linked together using the network. All the nodes in this system communicate with each other and handle processes in…
Code Optimization

Code Optimization

Optimization is a program transformation technique, which tries to improve the code by making it consume less resources (i.e. CPU, Memory) and deliver high speed. In optimization, high-level general programming…
Peephole Optimization

Peephole Optimization

1 Eliminating Redundant Loads and Stores 2 Eliminating Unreachable Code 3 Flow-of-Control Optimizations 4 Algebraic Simplification and Reduction in Strength 5 Use of Machine Idioms While most production compilers produce…
Code Generation

Code Generation

Code generation can be considered as the final phase of compilation. Through post code generation, optimization process can be applied on the code, but that can be seen as a…
Stack Allocation of Space

Stack Allocation of Space

1 Activation Trees 2 Activation Records 3 Calling Sequences 4 Variable-Length Data on the Stack  Almost all compilers for languages that use procedures, functions, or methods as units of user-defined…
Storage Organization

Storage Organization

From the perspective of the compiler writer, the executing target program runs in its own logical address space in which each program value has a location. The management and organization…
Translation of Expressions

Translation of Expressions

 1 Operations Within Expressions  2 Incremental Translation  3 Addressing Array Elements  4 Translation of Array References  The rest of this chapter explores issues that arise during the translation of ex-pressions…