Wunk bb1301b98e shader_jit_a64: Compact host executable memory (#230)
* common/aarch64: Allow generic code generator types

Use the templated `BasicCodeGenerator` type rather than the specialized
`CodeGenerator` type.
Allows `VectorCodeGenerator` to work with these functions.

* common/aarch64: Add `VectorCodeGenerator` to `CallFarFunction`

`VectorCodeGenerator` will always do far-calls since we cannot resolve any absolute addresses here.

* shader_jit_a64: Implement position-independent VectorCodeGenerator

Generates more position-independent assembly to allow for code to be
generated within a resizable vector before copying into executable
memory, allowing for more compact memory allocations and usage rather
than a statically defined worst-case for all-cases.

`VectorCodeGenerator` will need to generate position-independent code
rather than use absolute addresses. Assumes all far function calls in the
case of `VectorCodeGenerator` to use absolute addresses rather than
potentially use a relative `BL` branch after memory relocation.
2024-11-07 14:47:30 +01:00
..
2024-11-07 14:42:32 +01:00
2023-04-21 10:14:55 +03:00
2020-03-29 16:14:36 +01:00
2024-11-07 14:42:32 +01:00
2023-04-27 07:38:28 +03:00
2023-04-27 07:38:28 +03:00
2023-09-27 13:42:19 -03:00
2022-11-15 11:20:35 +01:00
2023-04-21 10:14:55 +03:00
2020-01-15 19:58:33 -07:00
2023-12-14 16:26:33 +02:00
2023-04-27 07:38:28 +03:00
2023-04-27 07:38:28 +03:00
2023-04-27 07:38:28 +03:00
2022-05-18 00:05:40 -04:00
2023-09-27 13:42:19 -03:00