A B C D E F G H I J K L M N O P Q R S T U V W X Y Z - Help
Our aim is for these entries to be accurate, comprehensible, and useful, and also to have an entry for all common memory management terms. If you can't find the term you're looking for, if our definition doesn't help you, or if you'd like to suggest corrections or additions, please let us know via our feedback page.
For an explanation of the structure of the entries, and information on how to link to definitions, please see the glossary help page.
An address is unaligned or misaligned if it does not comply with some alignment constraint on it.
For example, typically double precision floating point numbers occupy 8 bytes(1) and have an alignment of 4 bytes; that is, their address must be a multiple of four. If a program tries to access such a number using an address that is not a multiple of four, a bus error will result.
Unboxed objects are represented by an encoding of the data itself, and not by a pointer to that data.
Representations are typically chosen so that unboxed values are the same size as the pointer part of a boxed object. Sometimes the value is tagged to distinguish it from a boxed object. The entire object is duplicated when the object is passed around, so updates to it, if allowed, only affect one copy.
Similar terms: immediate data.
Opposites: boxed.
Related publications:
An undead object is an object that cannot be proven to be dead by the garbage collector, but whose liveness is dubious.
For example, an ambiguous reference to an object on a page may mark the entire page as reachable. No further data is collected about that page. The other objects on the page will survive, even though their reachability has not been determined. They are undead.
A range of virtual addresses is said to be unmapped (free on Windows®) if there is no physical memory(2) associated with the range.
An unmapped range may or may not be reserved.
Opposites: mapped.
An object is unreachable if there is no reference chain to it from any root.
An object will become unreachable when the mutator overwrites its last (direct or indirect) reference to the object.
Similar terms: dead.
Opposites: reachable;
live.
See also: reachable;
garbage collection.
An ambiguous or unsure reference is a value that is potentially a reference, but the collector(1) cannot prove that it is.
A value is unwrapped or raw if it is not encoded with type information.
In a dynamically-typed language, the compiler may sometimes be able to pick a more compact or efficient representation for a value if it can prove that the type can be determined at compile-time. This is a particularly useful optimization for numeric values such as integers or floats.
Opposites: wrapped.
See also: boxed;
tag;
value object.
Related publications:
A premature free or use after free occurs when memory(2) is deallocated, but is later accessed.