This patch adds a new template function to the MacroAssembler which generates
the code to call a VMFunction from JIT code.
This new function takes as arguments the register, addresses or immediate values
which are holding the values necessary to make a call to the desired VMFunction,
while properly managing the arguments based on their type and allocations. It
would produce code similar to the callVM and its associated VMWrapper, while
avoiding the making a call and pushing non-rooted elements to the stack.