768a8bd238
Avoid punning TypedValue* to String&/Array&/Object& in FCallBuiltin (all three implementations). Our native function calling conventions require passing pointers into a TypedValue for these types, and pointers-to-scratch for return values. In the HHIR case, I removed the optional "return pointer" argument from the IR CallBuiltin instruction. The C++ value-passing ABI details are now handled in cgCallBuiltin and are no longer exposed in the IR. The argument types are still PtrTo*, but we handle the address fixups in CodeGenerator.