* src/vm/jit/stack.h (COPY): Prevent setting varkind to STACKVAR for stackslots copied by DUPx and SWAP.
(DUP) Likewise.
* src/vm/jit/stack.c (analyse_stack): Copy elimination and needed conflict resolution was implemented as
described in the CACAO paper. As "potential exception throwing instruction" for now only INVOKE*s are
regarded. Conflict resolution over DUPx and SWAP should be refined to be less conservative.
* src/vm/jit/jit.c (jit_init): Stackreq for JAVA_IINC is set to 0 again, since no dummy stackslot is
needed anymore for conflict resolution with XSTORE.
* src/vm/jit/allocator/simplereg.c (interface_regalloc): Reuse unused float and int argument registers
for interfaces, too.
(reg_free_temp): Regard the new stackslot flag STCOPY, before freeing a register/memory location.
(reg_alloc_dup): New function to allocate, if possible, the same register/memory location for stackslot
copied by DUPx and SWAP.
(allocate_scratch_registers): The new function reg_alloc_dup is used now for allocation at ICMD_DUPx and
ICMD_SWAP, if possible.
* src/vm/jit/jit.h: Added STCOPY as stackslot flag to mark simultanously live stackslots with same
register after DUPx and SWAP.
* doc/stack.txt: Updated invariants to show the change with IINC (no dummy stacklot anymore).