* jit.c (MAKE_SPILLED_BI_ALU): remove unnecessary assertions
[mono.git] / mono / jit / ChangeLog
1 2002-03-01  Dietmar Maurer  <dietmar@ximian.com>
2
3         * jit.c (MAKE_SPILLED_BI_ALU): remove unnecessary assertions
4
5         * emit-x86.c (arch_handle_exception): big fix - dont use
6         uninitialized next_bp
7         (arch_compile_method): make the jit thread save
8         (x86_magic_trampoline): moved lock/unlock to x86_magic_trampoline
9         to avoid need of recursive mutexes
10
11         * x86.brg: use new mono_assert macros
12
13 2002-02-28  Dietmar Maurer  <dietmar@ximian.com>
14
15         * emit-x86.c (arch_create_jit_trampoline): save/restore LMF before
16         calling into unmanaged code (arch_compile_method).
17
18         * x86.brg: impl. CONV_I4 (freg) with correct rounding
19         (lreg): impl CALL_I8(INTF_ADDR)
20         impl. CONV_R_UN (reg)
21         bug fix im REM_UN
22
23 2002-02-27  Dietmar Maurer  <dietmar@ximian.com>
24
25         * emit-x86.c (arch_runtime_invoke): impl. runtime invoke for the jit.
26
27 2002-02-26  Dietmar Maurer  <dietmar@ximian.com>
28
29         * x86.brg: bug fix in CLT(lreg,lreg)
30         (reg): bug fix in CONV_OVF_I4(lreg)
31         (lreg): replaced x86_call_reg with x86_call_code
32
33         * emit-x86.c (mono_add_jump_info): impl.
34         (mono_compute_branches): patch real jump address (instead of
35         emitting code twice)
36
37 Tue Feb 26 11:56:03 CET 2002 Paolo Molaro <lupus@ximian.com>
38
39         * x86.brg: optimize cmp reg,0 -> test reg.
40
41 Sun Feb 24 13:58:34 CET 2002 Paolo Molaro <lupus@ximian.com>
42
43         * jit.h, jit.c, emit-x86.c: Added a few statistics counters
44         and the --stats command line option to print them.
45         Fixed memory leak in arch_compile_method () when a method's code is
46         found in the cache. Fix magic trampoline to deal with static calls.
47
48 2002-02-21  Dietmar Maurer  <dietmar@ximian.com>
49
50         * x86.brg: impl. SHR_UN for lreg, added new test, bug fix for BNE_UN 
51
52 2002-02-19  Dietmar Maurer  <dietmar@ximian.com>
53
54         * emit-x86.c (arch_compile_method): add shared code to mono_root_domain
55         (arch_create_jit_trampoline): cache trampoline code
56
57 2002-02-18  Dietmar Maurer  <dietmar@ximian.com>
58
59         * jit.c (mono_analyze_stack): optimize LDSFLD/STSFLD for domain
60         specific code.
61         (mono_analyze_stack): use MB_TERM_LDELEMA to perform bound check
62
63         * x86.brg: do not encode exception objects into the instruction
64         stream, because they are domain dependend. Use
65         arch_get_throw_exception_by_name() instead;
66
67 Mon Feb 18 15:51:40 CET 2002 Paolo Molaro <lupus@ximian.com>
68
69         * jit.c: intern command line arguments.
70
71 2002-02-18  Dietmar Maurer  <dietmar@ximian.com>
72
73         * jit.c (mono_analyze_stack): use the magic trampoline for all
74         calls (since we cant store the address of compiled code in
75         method->addr).
76         (mono_analyze_stack): imp. LDSTR for shared code
77
78         * emit-x86.c (x86_magic_trampoline): handle x86_call_code().
79         (arch_compile_method): add a cache for compiled methods to avoid
80         recompilation. dont use method->addr to store domain dependent
81         code address.
82
83 2002-02-15  Dietmar Maurer  <dietmar@ximian.com>
84
85         * x86.brg: impl. BLE,BGT for freg
86
87 Sat Feb 16 16:27:42 CET 2002 Paolo Molaro <lupus@ximian.com>
88
89         * emit-x86.c: handle unreachable code. Eliminate some unneeded
90         malloc() calls.
91         * jit.c: handle unreachable code. Move setting of mono_end_of_stack to
92         main(). Add --compile classname and --ncompile num command line
93         options to do performance evaluation of the jitter (and help
94         debugging).
95
96 2002-02-15  Dietmar Maurer  <dietmar@ximian.com>
97
98         * emit-x86.c (arch_compile_method): bug fix in static delegate
99         Invoke code.
100
101 2002-02-14  Dietmar Maurer  <dietmar@ximian.com>
102
103         * jit.c (mono_analyze_stack): do a LDIND after NEWOBJ for value types.
104
105 2002-02-13  Dietmar Maurer  <dietmar@ximian.com>
106
107         * jit.c (mono_analyze_stack): impl. CEE_SIZEOF
108
109 2002-02-13  Miguel de Icaza  <miguel@ximian.com>
110
111         * jit.c (arch_allocate_var): Only assert that the alignment is
112         at least 32-bits aligned, not always 32-bits aligned (for I8 for example).
113
114 Mon Feb 11 11:20:57 CET 2002 Paolo Molaro <lupus@ximian.com>
115
116         * x86.brg: fix invalid cast check in unbox. Pack MBTree structure.
117
118 Sun Feb 10 12:54:05 CET 2002 Paolo Molaro <lupus@ximian.com>
119
120         * emit-x86.c: make x86_magic_trampoline() handle call instructions
121         with an imm8 displacement. x86.brg not yet changed to take advantage
122         of it.
123
124 Sun Feb 10 11:47:30 CET 2002 Paolo Molaro <lupus@ximian.com>
125
126         * jit.c: use opcode info from libmetadata to do flow analysis
127         and simplify code.
128
129 2002-02-06  Dietmar Maurer  <dietmar@ximian.com>
130
131         * jit.c (MAKE_LDELEM, MAKE_STELEM): added bound checking 
132
133 2002-02-05  Dietmar Maurer  <dietmar@ximian.com>
134
135         * x86.brg: use element_class for type check
136
137 2002-02-04  Dietmar Maurer  <dietmar@ximian.com>
138
139         * jit.c (main): impl. __array_Address icall
140
141         * mempool.c (mono_mempool_alloc): handle large block allocation
142
143 2002-02-01  Dietmar Maurer  <dietmar@ximian.com>
144
145         * x86.brg: impl. SHL/SHR/CLT for 64 bit values
146
147 2002-01-31  Dietmar Maurer  <dietmar@ximian.com>
148
149         * x86.brg: impl. CEQ(lreg,lreg)
150
151         * jit.c (mono_analyze_stack): impl. LDVIRTFTN
152         (mono_analyze_stack): handle MONO_TABLE_MEMBERREF in LDSFLD/STSFLD
153
154         * x86.brg: removed some dead code.
155
156 2002-01-18  Dietmar Maurer  <dietmar@ximian.com>
157
158         * jit.c (arch_allocate_var): fixed alignment bugs
159
160 2002-01-17  Dietmar Maurer  <dietmar@ximian.com>
161
162         * jit.c (mono_analyze_stack): use LDIND_REF/STIND_REF
163
164 2002-01-16  Dietmar Maurer  <dietmar@ximian.com>
165
166         * jit.c (main): install the trampoline before we start to create
167         objects.
168
169         * x86.brg: impl. CLT_UN, CGT_UN
170
171         * emit-x86.c (leave_method): added check for null object
172         (enter_method): consider byref arguments
173
174 2002-01-14  Dietmar Maurer  <dietmar@ximian.com>
175
176         * x86.brg: bug fix in CONV_OVF_I1_UN
177         impl. ADD_OVF, MUL_OVF
178         impl. ADD_OVF_UN, SUB_OVF, SUB_OVF_UN
179         (SUB (lreg, lreg)): bug fix - use SBB instead of SUB
180         (EMIT_COND_EXCEPTION): added signed flag
181
182 Fri Jan 11 20:06:22 CET 2002 Paolo Molaro <lupus@ximian.com>
183
184         * jit.c: implement stloc, ldloc, ldloca.
185
186 2002-01-11  Dietmar Maurer  <dietmar@ximian.com>
187
188         * jit.c (mono_analyze_stack): fixed calculation of last_instr
189
190         * x86.brg (LDLEN): emit null_reference exception
191         (BLE_UN): bug fix. 
192         (RET, RET_VOID, RET_OBJ, ...) fixed jump to epilog
193
194 2002-01-04  Dietmar Maurer  <dietmar@ximian.com>
195
196         * x86.brg: bug fix in CASTCLASS
197
198 2001-12-21  Dietmar Maurer  <dietmar@ximian.com>
199
200         * jit.c (mono_analyze_stack): spill MUL to avoid problem with
201         register allocation.
202
203         * emit-x86.c (arch_compile_method): fixed static delegate bug
204
205 2001-12-16  Miguel de Icaza  <miguel@ximian.com>
206
207         * x86.brg, jit.c: Split up the nodes that we used to share on
208         CONV_OVF.  They were sharing the nodes because they are the same
209         on 32-bit machines, but on 64-bit machines you need different
210         code for them.
211
212 2001-12-17  Dietmar Maurer  <dietmar@ximian.com>
213
214         * x86.brg: removed prerequisite that (tree->left->reg1 <
215         tree->right->reg1) to make register allocation easier.
216
217 2001-12-16  Dietmar Maurer  <dietmar@ximian.com>
218
219         * emit-x86.c (arch_handle_exception): new code to handle
220         exceptions inside unmanaged code.
221
222         * x86.brg: impl. SAVE_LMF, RESTORE_LMF, pass implizit valuetype
223         address as first argument.
224
225 2001-12-15  Dietmar Maurer  <dietmar@ximian.com>
226
227         * x86.brg: pass exceptions on the stack
228
229         * jit.h (ISSTRUCT): new macro to check for real value types
230         (return false for enum types). 
231
232 2001-12-11  Dietmar Maurer  <dietmar@ximian.com>
233
234         * x86.brg: use position indepentent code if possible. 
235
236         * x86.brg (EMIT_COND_EXCEPTION): new macro.
237
238         * emit-x86.c (mono_emit_cfg): impl. variable code buffer size
239
240 2001-12-10  Dietmar Maurer  <dietmar@ximian.com>
241
242         * jit.c (mono_analyze_flow): use g_malloc0 o allocate large bcinfo
243         blocks.
244         (mono_analyze_flow): use g_malloc0 o allocate large bblocks array.
245
246         * x86.brg (stmt): added opt. for STIND_R4/STIND_R8
247
248 2001-12-07  Dietmar Maurer  <dietmar@ximian.com>
249
250         * jit.c (mono_allocate_intvar): bug fix.
251
252         * emit-x86.c (get_unbox_trampoline): impl.
253
254         * jit.c (mono_analyze_stack): impl STOBJ, LEAVE
255
256 2001-12-06  Dietmar Maurer  <dietmar@ximian.com>
257
258         * x86.brg: raise exceptions.
259
260 2001-12-05  Dietmar Maurer  <dietmar@ximian.com>
261
262         * x86.brg: impl. CEQ for freg, NEWSTRUCT now allocates valuetypes on
263         the stack. 
264
265 2001-12-06  Miguel de Icaza  <miguel@ximian.com>
266
267         * jit.c (mono_analyze_stack), x86.brg: Implement CONV.OVF.I1,
268         CONV.OVF.I4, CONV.OVF.I1.UN, CONV.OVF.U1, CONV.OVF.U1.UN,
269         CONV.OVF.I2.UN, CONV.OVF.I8.UN
270
271 2001-12-04  Dietmar Maurer  <dietmar@ximian.com>
272
273         * x86.brg: impl. UNBOX, NEWSTRUCT, removed VTYPE, bug fixes,
274         removed the locaddr nonterminal, reimplemented value types
275         
276         * jit.c: reimplemented value type support, better support for
277         enumeration types. 
278
279 2001-12-03  Miguel de Icaza  <miguel@ximian.com>
280
281         * x86.brg, jit.c: Implement conv.ovf.u4, conv.ovf.u2, conv.ovf.i2,
282         conv.ovf.u8 
283
284 Mon Dec 3 17:16:36 CET 2001 Paolo Molaro <lupus@ximian.com>
285
286         * jit.c: call mono_init() after registering internal calls.
287
288 2001-11-30  Dietmar Maurer  <dietmar@ximian.com>
289
290         * emit-x86.c (tree_preallocate_regs): improved register allocation
291
292         * x86.brg: impl. ISINST, CASTCLASS
293
294 Fri Nov 30 12:02:24 CET 2001 Paolo Molaro <lupus@ximian.com>
295
296         * x86.brg: rearrange fields to reduce struct size.
297         * jit.c: use signature->param_count, not signature->params_size.
298         * debug.c: off-by-one error fix.
299
300 2001-11-29  Radek Doulik  <rodo@ximian.com>
301
302         * Makefile.am: build mono only for X86 architecture, compilation
303         fails for ppc now because of accessing registers in sigcontext
304         structure
305
306 2001-11-29  Dietmar Maurer  <dietmar@ximian.com>
307
308         * jit.c (mono_analyze_stack): bug fix in DUP
309
310 Thu Nov 29 12:32:01 CET 2001 Paolo Molaro <lupus@ximian.com>
311
312         * debug.c: fix type handling. Position function position at start of
313         IL code. Output more fine-grained stepping information.
314
315 2001-11-28  Dietmar Maurer  <dietmar@ximian.com>
316
317         * x86.brg (LDIND_I1, LDIND_I2): use x86_widen_ instead of x86_mov_
318
319         * jit.c (mono_analyze_stack): record the cli_address for later use
320         with gdb.
321         (sigsegv_signal_handler): translate sigsegv into "Internal error"
322         exception.
323
324 Tue Nov 27 16:32:41 CET 2001 Paolo Molaro <lupus@ximian.com>
325
326         * debug.c, debug.h: added support for generating stabs.
327         Stabs can be compiled with as and the resulting object file can be
328         loaded in a gdb session with add-symbol-file object.o.
329         * jit.c, jit.h: add --stabs and --debug command line arguments. Keep track
330         where locals and arguments are stored in the stack. Add support for
331         passing command line arguments to CLR programs.
332         * emit-x86.c: insert a breakpoint at method invocation if needed.
333
334 2001-11-27  Dietmar Maurer  <dietmar@ximian.com>
335
336         * jit.c: exception support
337
338         * emit-x86.c (arch_emit_epilogue): bug fix: restore the regs in
339         the right order.
340
341 2001-11-26  Dick Porter  <dick@ximian.com>
342
343         * Makefile.am (mono_LDADD): Add io-layer library
344
345 2001-11-19  Dietmar Maurer  <dietmar@ximian.com>
346
347         * jit.c (mono_analyze_stack): impl. LDFTN
348         (MAKE_SPILLED_BI_ALU): always spill DIV/REM results to memory to
349         make register allocation easier on x86
350
351         * emit-x86.c (enter_method): more debugging output for Strings
352         (arch_compile_method): added delegate support
353         (arch_compile_method): align EBP to 8 byte boundary
354
355 Mon Nov 19 11:36:22 CET 2001 Paolo Molaro <lupus@ximian.com>
356
357         * jit.c: use mono_install_trampoline (), instead of exporting
358         a function to a lower-level library.
359
360 2001-11-16  Dietmar Maurer  <dietmar@ximian.com>
361
362         * x86.brg (STRING_ARG): impl. a way to marshal strings. This
363         will be extensible to handle all possible kinds of marshalling
364         requirements. 
365
366         * jit.c (map_call_type): added MB_TERM_CALL_VOID
367         (mono_analyze_stack): impl. LDELEMA, reimplemented CALL
368         instructions to handle this arguments more effectively.
369
370 2001-11-15  Dietmar Maurer  <dietmar@ximian.com>
371
372         * Makefile.am (mono_SOURCES): renamed testjit to mono
373
374         * x86.brg: added debugging support 
375
376         * testjit.c: added support for value types, CFG improvements
377
378         * emit-x86.c (enter_method): handle value types
379         (tree_allocate_regs): impl. a better way to handle chain rules
380
381 2001-11-10  Dietmar Maurer  <dietmar@ximian.com>
382
383         * x86.brg (INITOBJ): bug fix: initialize data before use,
384         simplified the code.
385
386 2001-11-09  Miguel de Icaza  <miguel@ximian.com>
387
388         * testjit.c (mono_analyze_stack): Remove compiler warning by
389         testing against NULL.
390
391 2001-11-09  Dick Porter  <dick@ximian.com>
392
393         * Makefile.am (testjit_LDADD): Don't need THREAD_LIBS any more
394
395 2001-11-09  Dietmar Maurer  <dietmar@ximian.com>
396
397         * testjit.c (mono_analyze_stack): new BOX impl.
398
399         * x86.brg: implemented INITOBJ
400
401         * testjit.c (mono_analyze_stack): finished array support
402         (mono_analyze_stack): reimplemented DUP instruction
403
404 2001-11-08  Dietmar Maurer  <dietmar@ximian.com>
405
406         * testjit.c (MAKE_STELEM, MAKE_LDELEM): we build a tree which
407         represents the address of the element. This way we can emit highly
408         optimized x86 instructions to access elements (using base+index+offset
409         adressing mode)
410
411 2001-11-07  Miguel de Icaza  <miguel@ximian.com>
412
413         * mempool.c: Include string.h to kill warning.
414
415         * testjit.c: Add typecast to kill warning.
416
417         * x86.brg: Include string.h to eliminate warning.
418
419         * emit-x86.c (tree_allocate_regs): Fix arguments to g_warning to
420         kill warning.
421
422 2001-11-07  Dietmar Maurer  <dietmar@ximian.com>
423
424         * emit-x86.c (enter_method): print out all method arguments
425         (x86_magic_trampoline): impl.
426         (arch_create_simple_jit_trampoline): we use different trampolines
427         for static methods (no need to write the address back into to
428         vtable).
429
430 2001-11-06  Dietmar Maurer  <dietmar@ximian.com>
431
432         * emit-x86.c (arch_create_jit_trampoline): optimised trampoline to
433         use less the 16 bytes.
434
435         * x86.brg: code cleanup
436
437 2001-11-05  Dietmar Maurer  <dietmar@ximian.com>
438
439         * testjit.c: bug fixes.
440
441         * emit-x86.c (leave_method): print result values
442
443 2001-11-03  Dietmar Maurer  <dietmar@ximian.com>
444
445         * emit-x86.c (enter_method): new debugging code
446         (leave_method): new debbuging code, this functions are called
447         when you use the new option --trace-calls
448
449 2001-11-02  Dietmar Maurer  <dietmar@ximian.com>
450
451         * testjit.c: impl. STELEM_XX, STELEM_XX
452
453         * x86.brg: impl. LDLEN, LDELEMA
454         
455
456 2001-10-15  Dietmar Maurer  <dietmar@ximian.com>
457
458         * x86.brg: added some experimental code for CALL
459         instructions - still not found the optimal way to do it.
460
461         * testjit.c (map_stind_type): add support for value types with
462         a size of 1, 2 or 4 bytes, implemented CEE_UNBOX, CEE_LDOBJ,
463         CEE_LDSTR, CEE_LDFLD, CEE_LDFLDA, CEE_STFLD, CEE_NEWOBJ, CEE_CEQ
464         (ctree_create_newobj): impl.
465         
466
467         * emit-x86.c (tree_allocate_regs): removed allocation code for
468         addr nonterminal.
469         (get_address): use a simple, but bug free search instead of the
470         buggy binary search.
471
472 2001-10-12  Dietmar Maurer  <dietmar@ximian.com>
473
474         * testjit.c: support virtual functions
475
476         * x86.brg: support different addressing modes for calls
477
478 2001-10-11  Dietmar Maurer  <dietmar@ximian.com>
479
480         * testjit.c: impl. STFLD
481
482 2001-10-10  Dietmar Maurer  <dietmar@ximian.com>
483
484         * x86.brg: impl. CEQ
485
486 2001-10-04  Dick Porter  <dick@ximian.com>
487
488         * testjit.c:
489         * emit-x86.c: include mono-endian.h not endian.h
490
491 2001-10-02  Dietmar Maurer  <dietmar@ximian.com>
492
493         * testjit.c (ctree_create_dup): really duplicate the tree.
494         attach the arguments to the CALL node. Added a new macro to
495         make argument order configurable (ARCH_ARGS_RIGHT_TO_LEFT).
496
497 2001-10-01  Dietmar Maurer  <dietmar@ximian.com>
498
499         * interp.brg: the burm based interpreter: added the file as example.
500
501 2001-09-27  Dietmar Maurer  <dietmar@ximian.com>
502
503         * x86.brg: cleanup
504
505         * testjit.c: impl. LDIND/STIND/LDLOCA, use g_malloc to alloc static
506         data.
507         (map_stind_type): support enum types
508         (map_ldind_type): support enum types
509
510         * emit-x86.c (tree_allocate_regs): added code to support
511         register allocation for addressing modes trees.
512         (tree_emit): bug fix: we have to emit all mono_burg_functins. The
513         previous impl. did not work for chain rules.
514         (compute_branches): support for SWITCH statements
515
516         * x86.brg: added rules to model x86 addressing modes
517
518 2001-09-26  Dietmar Maurer  <dietmar@ximian.com>
519
520         * emit-x86.c (compute_branches): implemented SWITCH
521
522         * testjit.c (mono_create_forest): implemented LDIND/STIND opcodes
523         (map_ldind_type): add enumeration types.
524         (map_stind_type): add enumeration types.
525
526         * emit-x86.c (arch_compile_method): more documentation.
527
528         * testjit.c: moved the architecture specific things to emit-x86.c
529         and x86.brg. Added more documentation. code cleanup.
530
531 2001-09-25  Dietmar Maurer  <dietmar@ximian.com>
532
533         * x86.brg: we now have different types of addresses: ADDR_L for local
534         values, ADDR_A for arguments and ADDR_G for global addresses. We
535         also use LDIND_XX token to load values from a specific address
536         instead of LDLOC/STLOC. 
537
538         * testjit.c: use the new adressing scheme everywhere:
539         LDIND _XX (ADDR_X), and STIND_XX (ADDR_X, tree)  
540
541 2001-09-24  Dietmar Maurer  <dietmar@ximian.com>
542
543         * testjit.c (main): fix bug in parameter parsing
544
545         * x86.brg: impl. more opcodes
546
547 2001-09-23  Dick Porter  <dick@ximian.com>
548
549         * Makefile.am (testjit_LDADD): rename PTHREAD_LIBS to THREAD_LIBS
550
551 2001-09-23  Dietmar Maurer  <dietmar@ximian.com>
552
553         * testjit.c: use the memory pool to avoid memory leaks
554
555 2001-09-22  Dietmar Maurer  <dietmar@ximian.com>
556
557         * x86.brg: increment the stack pointer after function calls
558
559 2001-09-21  Dick Porter  <dick@ximian.com>
560
561         * Makefile.am (testjit_LDADD): Added PTHREAD_LIBS to the link line
562
563 2001-09-21  Dietmar Maurer  <dietmar@ximian.com>
564
565         * x86.brg: implemented long MUL/DIV
566         (MB_OPT_LEVEL): define optimisation level macro
567
568         * testjit.c (tree_allocate_regs): added a way to prevent EDX usage
569         for operations like idiv. it is also possible to assign specific registers.
570
571 2001-09-20  Dietmar Maurer  <dietmar@ximian.com>
572
573         * x86.brg: added basic support for long
574
575         * testjit.c (mono_compile_method): implemented POP
576
577 2001-09-19  Miguel de Icaza  <miguel@ximian.com>
578
579         * testjit.c (usage): Added a couple of more usage options.
580
581 2001-09-19  Dietmar Maurer  <dietmar@ximian.com>
582
583         * x86.brg: added more floating point grammar 
584
585         * testjit.c (mono_compile_method): make local offsets negative
586
587         * x86.brg: added some floating point trees
588
589         * testjit.c (mono_compile_method): arguments on the runtime 
590         stack are at least 4 bytes
591
592         * x86.brg: partly implemented 8,16 bit integers
593
594         * testjit.c (get_address): mark basic blocks
595
596 2001-09-18  Dietmar Maurer  <dietmar@ximian.com>
597
598         * x86.brg: added some rules to optimize code
599
600         * testjit.c (get_address): use a binary search to get the address
601         (main): added an option to debug the jit (-d)
602
603 Tue Sep 18 13:19:16 CEST 2001 Paolo Molaro <lupus@ximian.com>
604
605         * testjit.c: better/faster align code. Handle ldloc.s and stloc.s.
606
607 2001-09-17  Miguel de Icaza  <miguel@ximian.com>
608
609         * testjit.c (mono_compile_method): Provide better error reporting.
610
611 2001-09-17  Dietmar Maurer  <dietmar@ximian.com>
612
613         * testjit.c (tree_get_address): impl. to fix address bug
614         (tree_get_address): make sure that we can only jump to the first
615         instruction of a tree.
616
617         * x86.brg: emit real code for calls
618
619         * testjit.c (create_jit_trampoline): creates a function to trigger jit
620         compilation.
621         (mono_compile_method): reversed argument order
622
623 2001-09-15  Dietmar Maurer  <dietmar@ximian.com>
624
625         * x86.brg (stmt): don't emit unnecessary register moves
626
627         * testjit.c (tree_allocate_regs): free registers earlier
628
629 2001-09-14  Dietmar Maurer  <dietmar@ximian.com>
630
631         * x86.brg: branch addresses are now resolved
632
633         * testjit.c (compute_branches): compute address of branches
634
635         * x86.brg: emit real x86 instructions
636
637         * testjit.c: call objdump to disassemble the output
638
639 2001-09-13  Dietmar Maurer  <dietmar@ximian.com>
640
641         * x86.brg: use the right offsets to access local variables
642         and arguments.
643
644         * emit-x86.c: only save/restore callee saved registers if they are
645         really modified.
646
647         * testjit.c (tree_allocate_regs): use the new MonoRegSet to
648         allocate registers.
649         (mono_compile_method): changed the tree for mothod calls
650
651         * regset.h: impl.
652         
653         * regset.c: impl.
654         
655
656 2001-09-10  Miguel de Icaza  <miguel@ximian.com>
657
658         * x86.brg: Use Unix assembly syntax.
659
660         * emit-x86.c: support code, should be moved
661
662         * testjit.c: Use GPtrArrays instead of GLists, as those are very
663         inefficient at appends.
664
665         * Renamed `create_new_leave' to `create_new_leaf'
666
667         
668