Run-Time Requirements for Compilers

3/22/2001


Click here to start


Table of Contents

Run-Time Requirements for Compilers

Major Issues

The Compiler Run-Time

The Compiler Run-Time

Computational Support

Handling Computational Support

Language Considerations

The Run-Time in C

The Run-Time in Ada

Other Languages

Other Languages (cont)

Other Languages (cont)

I/O interface

Implementing the I/O Interface

Target Dependent I/O

Storage Management

Stack Management

Heap Management

Heap Algorithms

OS Heap Allocation

More on malloc/free

Commit Strategies

Specialized Strategies

Example, Binary Storage Allocator (Buddy System)

BinaryAllocator Performance Issues

Controlled Allocation

Implementing Controlled Storage

Automatic Garbage Collection

Determining Blocks in Use

Tracing Blocks in Use

Conservative Tracing

Further Steps in GC

Concerns with GC

Reference Counts

Tasking

Language Tasking Constructs

Implementing Tasking

Difficulties in Implementing Tasking, an Example

Bare Board Implementations of Tasking

Implementations of Exception Handling

The “setjmp/longjmp” method for exceptions.

“Zero-cost” Exception Handling

More on “Zero-cost” approach

Other Operating System Issues

Calendar/Time Issues

Distribution Issues

Interface To Other Languages

Interface to Linker

Certification Issues

Author: Robert Berriedale Keith Dewar

Email: dewar@gnat.com