5 Today is a new month. I did not get much work done the last month due to being
6 a bit busy. I still have a plan to work on the single pass JIT however.
10 So I definitely believe that I should follow the same route of having a single
11 pass JIT with generating blobs. When the executable needs to be created, all of
12 the blobs which make it up.
16 Using the functions I need to figure out the ABI. For example, I can have an
17 ABI function set. For a given CPU there are default operations for addition,
18 subtraction, etc. Then the ABI (such as SysV) can be provided with by other
19 functions. This way not only would the baseline functions for an architecture
20 be replaced, they would also be able to change which registers are used and
21 how. It does sound a bit ugly sort of, but I believe it would be the cleanest
22 route for customizable ABIs. One thing to consider are functions calling other
23 functions. I would need a way for functions to call functions with a variable
24 set of input arguments, similar to reflection. So this would essentially be
25 a static dispatch of sorts with a method name, arguments, and its result (if
26 any). So essentially, the `SSJITFunction` would require a
27 `Object dispatch(String __m, Object... __a)`. To reduce code duplication (since
28 all functions would have to implement the dispatch), I can have a class which
29 contains a static method which would be given `this` and the arguments to
30 `dispatch`, it would then handle all of the default functions that the SSJIT