Allowing Alignment Errors

As the previous table indicates, the Alpha platform's default is for Windows NT to fix up alignment errors in memory system-wide, and to provide a mechanism for changing this behavior both system-wide and on a per-process basis.

The Alpha platform designers decided that it was more important to support unmodifiable pre-existing code that performs unaligned data operations, and not require users to wait for upgrades to their applications. For developers working on Alpha, more diligence in the pursuit of avoiding unaligned data operations is required.

While there are clear pros and cons to each approach, it is agreed upon by all platform designers that developers should rely on unaligned data operations only when absolutely necessary. It is best to avoid fixups by writing tight code.

Consequently, developers are encouraged to run their development systems with axpalign /enable if at all possible. This helps expose alignment faults as early as possible during the development process. In addition, application testing should be performed after having run axpalign /enable to ensure that unintended fixups are not occurring.