Alignment checking (for IA32 and debugging purposes only)

Description

Alignment checking for IA32. It catches unexpected alignment errors and generates an exception. It's helpful for finding memory errors and especially for debugging read barriers in a poisoned heap.

To use, build with -Dconfig.alignment-checking=true. You also need to build with -Dtarget.arch.sse2=none (since the
disassembler doesn't support SSE2) and run Jikes with -Xrocessors=1 (since the alignment checking approach doesn't support
multiple contexts).

Alignment checking slows execution since each expected alignment error invokes the trap handler, which ignores the exception. So occasionally a pre-commit test will timeout (only when Jikes is built with alignment checking of course), so the timeouts may need to be increased to do regression tests with alignment checking on.

Environment

None

Status

Assignee

Michael Bond

Reporter

Michael Bond

Labels

None

Components

Fix versions

Affects versions

Priority

Low
Configure