Sat Jun 1 13:24:01 CEST 2002 Paolo Molaro <lupus@ximian.com>
[mono.git] / mono / jit / TODO
1 * 64bit integer mult with overflow checks + test bench
2 * correctly align value types on the stack and in arrays
3 * impl. marshalling attributes for pinvoke
4 * raise exceptions everywhere
5 * exceptions: save/restore floating point state
6 * implement all floating point instruction in x86.brg, we also need to check
7   the floating branch instruction - some of them seems to be wrong, we need to
8   write better tests for that.
9 * document the functions and variables in the JIT 
10 * implement a register set for FP registers (just count register usage on x86)
11
12 * inline all calls in System.Math::*, we should use coprozessor instructions
13   directly whenever possible. 
14
15 * Calling conventions:
16
17         Implement fast call
18
19 * Overflow conversions:
20
21         Implement CONV_OVF_XXX (constant) variants that emit either
22         loads or exceptions (as we can always tell)
23         
24         
25 * use short jump opcodes where possible (for backward jumps), will give better
26   performance. 
27
28 * Memory allocation of dynamic code.
29
30         The current interface to generate code and allocate the memory
31         for it is not very nice.
32
33         Use large buffers to allocate temporary code, rather than allocating
34         256 bytes every time, and hoping that it will be enough.