1 * use a pool of MBState structures to speedup monoburg instead of using a
3 * the decode tables in the burg-generated could use short instead of int
4 (this should save about 1 KB)
5 * track the use of ESP, so that we can avoid the x86_lea in the epilog
10 * the ORP people avoids optimizations inside catch handlers - just to save
11 memory (for example allocation of strings - instead they allocate strings when
12 the code is executed (like the --shared option)). But there are only a few
13 functions using catch handlers, so I consider this a minor issue.
15 * some performance critical functions should be inlined. These include:
16 - mono_mempool_alloc and mono_mempool_alloc0
17 - EnterCriticalSection and LeaveCriticalSection
19 - mono_metadata_row_col
20 - mono_g_hash_table_lookup
23 * if a function which involves locking is called from another function which
24 acquires the same lock, it might be useful to create a separate _inner
25 version of the function which does not re-acquire the lock. This is a perf
26 win only if the function is called a lot of times, like mono_get_method.
28 * we can avoid calls to class init trampolines if the are multiple calls to the
29 same trampoline in the same basic block. See:
31 http://bugzilla.ximian.com/show_bug.cgi?id=51096
36 * Remove the various optimization list of flags description, have an
37 extra --help-optimizations flag.
39 * Remove the various graph options, have a separate --help-graph for