Logo
Pattern

Discover published sets by community

Explore tens of thousands of sets crafted by our community.

Runtime Environments in Compiler Design

15

Flashcards

0/15

Still learning
StarStarStarStar

Garbage collection

StarStarStarStar

An automatic memory management feature that reclaims memory used by objects that are no longer accessible by a program, preventing memory leaks.

StarStarStarStar

Instruction set architecture (ISA)

StarStarStarStar

The part of the computer architecture related to programming, including the native binary instructions a processor understands, which affects how a compiler generates code.

StarStarStarStar

Just-In-Time (JIT) compilation

StarStarStarStar

A compilation process that occurs during runtime rather than before execution, which allows programs to benefit from optimizations based on the current execution context.

StarStarStarStar

Runtime type identification (RTTI)

StarStarStarStar

A feature of some object-oriented languages that allows a program to determine the type of object at runtime, which is essential for dynamic type checking and downcasting.

StarStarStarStar

Static vs. Dynamic linking

StarStarStarStar

Static linking is the process of collecting and combining multiple object files at compile time to create a single executable, whereas dynamic linking loads libraries at runtime.

StarStarStarStar

Heap allocation strategy

StarStarStarStar

Heap allocation manages dynamic memory that is requested at runtime through mechanisms such as 'new' in C++ or 'malloc' in C, and must be manually deallocated.

StarStarStarStar

Activation records

StarStarStarStar

Data structures that contain information needed by a single execution of a procedure, such as local variables, return addresses, and parameters.

StarStarStarStar

Binding and binding time

StarStarStarStar

Refers to the time when an attribute (such as type or value) is associated with a variable or function, which can be at compile time, load time, or runtime.

StarStarStarStar

Scope rules

StarStarStarStar

The set of rules that determine where a variable can be accessed within the code. Different programming languages have different scope rules for variables.

StarStarStarStar

Control flow mechanisms

StarStarStarStar

The design of constructs in a compiler that enable the execution flow to change direction in response to decisions, calls, and returns within a program.

StarStarStarStar

Memory efficiency

StarStarStarStar

A measure of how well a runtime environment uses the available memory, including the efficient allocation, use, and deallocation of memory resources.

StarStarStarStar

Calling conventions

StarStarStarStar

The rules that define how function parameters are passed, where return values are placed, and how the stack is cleaned up, which can vary between different programming languages and ISAs.

StarStarStarStar

Intermediate representation (IR)

StarStarStarStar

A language-independent code representation used within a compiler to bridge the gap between source code and machine code, which is easier to analyze and optimize.

StarStarStarStar

Stack allocation strategy

StarStarStarStar

Stack allocation is used for managing local variables and function calls, allowing for efficient memory use by organizing data in a LIFO (Last In, First Out) manner.

StarStarStarStar

Exception handling mechanisms

StarStarStarStar

The infrastructure within a runtime environment that supports the detection, propagation, and handling of exceptions, providing a way to handle errors or other exceptional events.

Know
0
Still learning
Click to flip
Know
0
Logo

© Hypatia.Tech. 2024 All rights reserved.