Call Sites
Extracted from emails from Paolo Molaro


There are 3 basic different kinds of call sites:

	1) normal calls:
	        call relative_displacement
	
	2) virtual calls:
	        call *positive_offset(%register)
	
	3) interface calls:
	        mov constant, %imt_register
	        call *negative_offset(%register)
	
The above is what happens on x86 and amd64, with different values of
%imt_register for each arch (this register is a constant, but it could
change with different mono builds, it should be likely one of
constants the runtime comunicates to the debugger). %register can
change depending on the callsite based on the register allocator
choices.  Note that the constant for the interface calls won't
necessarily be a MonoMethod address: this could change in the future
to a simple number.

In all the 3 cases the JIT trampolines will need to inspect the call
site, but only in the first case the call site will be changed.
