Memory Management Glossary: UΒΆ

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

unaligned

Also known as

misaligned.

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 byte(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 may result, depending on the processor architecture and instruction used.

Opposite term

aligned.

See also

alignment, bus error.

unboxed

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 term

immediate data.

Opposite term

boxed.

unclamped state

In the MPS

One of the three states an arena can be in (the others being the clamped state and the parked state). In the unclamped state, object motion and other background activity may occur. Call mps_arena_release() to put an arena into the unclamped state.

undead

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.

unmapped

Also known as

free.

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.

Opposite term

mapped.

unreachable

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 term

dead.

Opposite terms

reachable, live.

unsure reference
unwrapped

Also known as

raw.

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.

Opposite term

wrapped.

See also

boxed, tag, value object.

use after free