Offload int[] to byte[].
[SquirrelJME.git] / assets / developer-notes / stephanie-gawroriski / 2016 / 09 / 15.mkd
blob8b349df1961eb9383b3ae3117f5dd95181bbef22
1 # 2016/09/15
3 ## 07:36
5 I will need a name based API factory creator that can use the JITConfig, this
6 way the ABI can be stored in the JIT configuration and used without requiring
7 a built-in setup.
9 ## 08:12
11 Ok, so what is needed is the native code writer should be given the ABI this
12 way it has said information from the start. The ABI information can be used
13 along with the allocator to handle method calls. One considering is that the
14 native code writer should be the class which initializes the register
15 allocator.
17 ## 09:39
19 A large number of arguments are going to be passed to it, so as such there
20 should be a configuration system of sorts. This would be similar to `JITConfig`
21 and would allow settings to grow accordingly.
23 ## 10:04
25 The `BasicOutput` class can be used to store caches of the factory and the
26 configuration as needed. In fact, it can be used to create code writers.
28 ## 14:05
30 What I need for the native code is a type specifying the size of the input. I
31 can then have the allocator prime the arguments for me. I already have
32 `NativeRegisterType`.
34 ## 14:34
36 I believe what the allocator needs is a means of allocating just a specific
37 type in a specific location so to speak.
39 ## 19:10
41 `MultiSetDeque` could use a copy constructed variant for sub-Deques.
43 ## 19:48
45 So what I will need for the allocator on the code writer side is just an
46 association of which locals are associated with what `NativeAllocations`.
48 ## 20:59
50 One thing I can do is handle 8-bit and 16-bit systems right now. Essentially I
51 planned to write another JIT that could write code for these systems, however
52 I should just do that now otherwise there will just be lots of duplicate code.
53 Currently for argument handling the argument sizes could be considered
54 very easily.
56 ## 21:39
58 So what I need now is a Java stack/local type that is just rather generic for
59 the base class at least.
61 ## 21:50
63 I actually do not need to remove stack variables, values which are cached will
64 just use other variables instead.