Skip to content

Implement trivial malloc routine (Assembly) #80

@CodyFagley

Description

@CodyFagley

IMPORTANT NOTE: As of v0.26.3, the content below is ONLY relevant for Raspberry Pi (3+)

Xita cross compiler is currently hung up on data types system, because the memory allocation system is not implemented in assembly. Types that exceed 8 bytes in size must dynamically allocate memory to hold the data.

To continue development of data types for the language, the compiler dev team needs an ARM assembly routine definition for a function called __xita_malloc.

Pseudo Workflow of __xita_malloc:

  • Decode 1 Parameter to determine the number of bytes requested be allocated.
  • Parse the tree of active memory nodes by checking memory address 0x40040000
  • Find the next available chunk of adequate size in general memory space (0x40041000 to 0xFFFFFFFF).
  • Store the Node in the tree of active memory nodes.
  • Replace the decoded parameter (number_bytes) with the address to the memory node data.
  • Clear the Serialization Register

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions