Skip to content

[interpreter/jit] Data layout broken for arch's with wierd alignment requirements #808

@lattner

Description

@lattner
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

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzillainvalidResolved as invalid, i.e. not a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions