collecting liveness information and in a backward pass on the
same list performs the actual register allocation, inserting
the instructions needed to spill values, if necessary.
+
+ The cross-platform local register allocator is now implemented
+ and it is documented in the jit-regalloc file.
When this part of code is implemented, some testing can be
done with the generated code for the new architecture. Most
tests. Also, using multiple -v switches on the command line
makes the JIT dump an increasing amount of information during
compilation.
-
+
+ Values loaded into registers need to be extened as needed by
+ the ECMA specs:
+
+ *) integers smaller than 4 bytes are extended to int32 values
+ *) 32 bit floats are extended to double precision (in particular
+ this means that currently all the floating point operations operate
+ on doubles)
* Method trampolines
*) mono_arch_instrument_epilog ()
Functions needed to implement the profiling interface.
+* Testing the port
+
+ The JIT has a set of regression tests in *.cs files inside the mini directory.
+ The usual method of testing a port is by compiling these tests on another machine
+ with a working runtime by typing 'make rcheck', then copying TestDriver.dll and
+ *.exe to the mini directory. The tests can be run by typing:
+ ./mono --regression <exe file name>
+ The suggested order for working through these tests is the following:
+ - basic.exe
+ - basic-long.exe
+ - basic-float.exe
+ - basic-calls.exe
+ - objects.exe
+ - arrays.exe
+ - exceptions.exe
+ - iltests.exe
+ - generics.exe
* Writing regression tests
-
\ No newline at end of file
+