Use variable length arrays on the stack for intermediates while param value
convertion.

This avoids malloc/free overhead, frees the memory before the function call
and ensures proper GC protection.