fn emit_function<W: Write>( w: &mut W, func: &Function, callee_args: &BTreeMap<u32, u8>, is_entry: bool, non_volatile_count: u16, volatile_count: u16, ) -> Result<()>