2001-09-26 Dietmar Maurer * emit-x86.c (arch_compile_method): more documentation. * testjit.c: moved the architecture specific things to emit-x86.c and x86.brg. Added more documentation. code cleanup. 2001-09-25 Dietmar Maurer * x86.brg: we now have different types of addresses: ADDR_L for local values, ADDR_A for arguments and ADDR_G for global addresses. We also use LDIND_XX token to load values from a specific address instead of LDLOC/STLOC. * testjit.c: use the new adressing scheme everywhere: LDIND _XX (ADDR_X), and STIND_XX (ADDR_X, tree) 2001-09-24 Dietmar Maurer * testjit.c (main): fix bug in parameter parsing * x86.brg: impl. more opcodes 2001-09-23 Dick Porter * Makefile.am (testjit_LDADD): rename PTHREAD_LIBS to THREAD_LIBS 2001-09-23 Dietmar Maurer * testjit.c: use the memory pool to avoid memory leaks 2001-09-22 Dietmar Maurer * x86.brg: increment the stack pointer after function calls 2001-09-21 Dick Porter * Makefile.am (testjit_LDADD): Added PTHREAD_LIBS to the link line 2001-09-21 Dietmar Maurer * x86.brg: implemented long MUL/DIV (MB_OPT_LEVEL): define optimisation level macro * testjit.c (tree_allocate_regs): added a way to prevent EDX usage for operations like idiv. it is also possible to assign specific registers. 2001-09-20 Dietmar Maurer * x86.brg: added basic support for long * testjit.c (mono_compile_method): implemented POP 2001-09-19 Miguel de Icaza * testjit.c (usage): Added a couple of more usage options. 2001-09-19 Dietmar Maurer * x86.brg: added more floating point grammar * testjit.c (mono_compile_method): make local offsets negative * x86.brg: added some floating point trees * testjit.c (mono_compile_method): arguments on the runtime stack are at least 4 bytes * x86.brg: partly implemented 8,16 bit integers * testjit.c (get_address): mark basic blocks 2001-09-18 Dietmar Maurer * x86.brg: added some rules to optimize code * testjit.c (get_address): use a binary search to get the address (main): added an option to debug the jit (-d) Tue Sep 18 13:19:16 CEST 2001 Paolo Molaro * testjit.c: better/faster align code. Handle ldloc.s and stloc.s. 2001-09-17 Miguel de Icaza * testjit.c (mono_compile_method): Provide better error reporting. 2001-09-17 Dietmar Maurer * testjit.c (tree_get_address): impl. to fix address bug (tree_get_address): make sure that we can only jump to the first instruction of a tree. * x86.brg: emit real code for calls * testjit.c (create_jit_trampoline): creates a function to trigger jit compilation. (mono_compile_method): reversed argument order 2001-09-15 Dietmar Maurer * x86.brg (stmt): don't emit unnecessary register moves * testjit.c (tree_allocate_regs): free registers earlier 2001-09-14 Dietmar Maurer * x86.brg: branch addresses are now resolved * testjit.c (compute_branches): compute address of branches * x86.brg: emit real x86 instructions * testjit.c: call objdump to disassemble the output 2001-09-13 Dietmar Maurer * x86.brg: use the right offsets to access local variables and arguments. * emit-x86.c: only save/restore callee saved registers if they are really modified. * testjit.c (tree_allocate_regs): use the new MonoRegSet to allocate registers. (mono_compile_method): changed the tree for mothod calls * regset.h: impl. * regset.c: impl. 2001-09-10 Miguel de Icaza * x86.brg: Use Unix assembly syntax. * emit-x86.c: support code, should be moved * testjit.c: Use GPtrArrays instead of GLists, as those are very inefficient at appends. * Renamed `create_new_leave' to `create_new_leaf'