|
|
| Bugzilla Link |
436 |
| Resolution |
INVALID |
| Resolved on |
Feb 22, 2010 12:52 |
| Version |
1.0 |
| OS |
All |
Extended Description
The ExecutionEngine::LoadValueFromMemory, and StoreValueToMemory methods in
lib/ExecutionEngine/ExecutionEngine.cpp do not work on architectures that have
strange alignment requirements. For example, on PPC, bool has an alignment of 4
bytes, and the target is big-endian. The code in those methods stores the 0 or
1 in the wrong byte.
These methods are used to initialize global variables for the JIT and
interpreter, and is used to handle load/store instructions for the interpreter.
They are both performance critical, so whatever is done shouldn't be too slow.
-Chris