improvements to `@asyncCall`

* `await @asyncCall` generates better code. See #3065
 * `@asyncCall` works with a real `@Frame(func)` in addition to
   a byte slice. Closes #3072
 * `@asyncCall` allows passing `{}` (a void value) as the result
   pointer, which uses the result location inside the frame.
   Closes #3068
 * support `await @asyncCall` on a non-async function. This is in
   preparation for safe recursion (#1006).
5c3a9a1a3eAndrew Kelley committed on 8/31/2019, 10:50:16 PMparenta223063
6 files changedLine totals unavailable