* src/mm/tlh.c (tlh_alloc): Correctly zero memory.
* src/mm/tlh.h: Added include guardians.
* src/threads/posix/thread-posix.c [ENABLE_TLH] (threads_tlh_add_frame, threads_tlh_remove_frame): New symbols.
* src/threads/posix/thread-posix.h: Likewise, [ENABLE_ESCAPE_REASON] (threadobject): New field escape_reasons for passing escape reasons to builtin_escape_reasons_new.
* src/vm/builtin.c [ENABLE_TLH] (builtin_tlh_new): new symbol, [ENABLE_ESCAPE_REASON] (builtin_escape_reason_new): new symbol.
* src/vm/builtin.h: Likewise.
* src/vm/builtintable.inc: [ENABLE_TLH] added builtin_tlh_new builtintable entry, [ENABLE_ESCAPE_REASON] added builtin_escape_reasons_new builtintable entry.
* src/vm/global.h (ACC_METHOD_MONOMORPHY_USED, ACC_METHOD_PARENT_MONOMORPHY_USED): New symbols.
* src/vm/jit/code.h (CODE_FLAG_TLH): New symbol.
* src/vm/jit/i386/codegen.c [ENABLE_ESCAPE_REASON] (codegen_emit): Pass escape reasons to BUILTIN_escape_reason_new.
* src/vm/jit/jit.c (jit_compile_intern): move fix_exception_handlers and cfg_build after inline pass, as inline modifies the cfg.
* src/vm/jit/jit.h [ENABLE_ESCAPE_REASON] (struct instruction): added escape_reasons field. This wastes space, but it does not matter, as ENABLE_ESCAPE_REASON has never to be used in a producetion environment.
* src/vm/jit/optimizing/bytecode_escape.c,
src/vm/jit/optimizing/escape.c,
src/vm/jit/optimizing/escape.h,
src/vm/jit/optimizing/ssa3.c: Changed a lot.
* src/vm/jit/replace.c [__I386__] (md_push_stackframe): destroying stackslot 0, so it does not contain a garbage argument 0, that would break patching the virtual function table later (as argument registers are not restored during replacement), (replace_me_wrapper): added rt timing,
* src/vm/jit/show.c (show_basicblock) [ENABLE_SSA]: display phi functions, (show_icmd) [ENABLE_SSA]: display phi functions.
* src/vmcore/linker.c [ENABLE_TLH] (linker_overwrite_method) set ACC_METHOD_PARENT_MONOMORPHY_USED method flag, if a method overwrites some monomorphic method, who's monomorphy information has already been used.
* src/vmcore/method.c [ENABLE_TLH] (method_break_assumption_monomorphic): Hack.
* src/vmcore/rt-timing.c,
src/vmcore/rt-timing.h: (RT_TIMING_REPLACE): timing for replacement, (RT_TIMING_1, ..., RT_TIMING_4): 4 new timers for ad-hoc timing.
22 files changed: