saam barati
7157db4ca9
Don't allocate tuples unnecessarily for calls with multiple arguments
...
#rb markus.breyer
This patch makes it so calls with multiple arguments don't require a tuple allocation. We just allow functions to have multiple arguments and be called normally. However, when such functions are invoked with a tuple, we'll unbox the tuple into the argument slots.
We also allow functions with single-param-as-tuple to be invoked with multiple arguments. And such functions will box the arguments into a tuple when being called.
A function with N arguments now take up the first N register slots in the frame.
This patch also fills out some more of the bytecode generator to make some tests I wrote work.
[CL 27510491 by saam barati in ue5-main branch]
2023-08-30 20:56:02 -04:00
..
2023-08-10 15:38:17 -04:00
2023-07-21 07:13:36 -04:00
2023-07-21 14:58:45 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-06-05 13:22:14 -04:00
2023-05-30 18:38:07 -04:00
2023-05-31 13:37:21 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 19:55:37 -04:00
2023-06-08 03:49:07 -04:00
2023-05-31 13:37:21 -04:00
2023-08-24 14:59:44 -04:00
2023-07-21 12:08:09 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-08-08 12:52:41 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 18:59:32 -04:00
2023-05-31 13:37:21 -04:00
2023-05-31 13:37:21 -04:00
2023-08-08 12:26:25 -04:00
2023-05-30 18:38:07 -04:00
2023-05-31 13:37:21 -04:00
2023-07-21 12:08:09 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-07-31 18:02:16 -04:00
2023-08-08 12:52:41 -04:00
2023-08-08 12:52:41 -04:00
2023-05-30 18:38:07 -04:00
2023-08-21 14:31:25 -04:00
2023-05-30 19:55:37 -04:00
2023-06-02 13:42:59 -04:00
2023-08-08 12:52:41 -04:00
2023-08-08 12:52:41 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 18:38:07 -04:00
2023-05-31 23:29:01 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-05-31 13:37:21 -04:00
2023-08-25 09:08:53 -04:00
2023-08-08 12:26:25 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-06-27 12:59:22 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-05-31 13:37:21 -04:00
2023-05-30 18:38:07 -04:00
2023-08-10 12:45:45 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 19:55:37 -04:00
2023-05-31 13:37:21 -04:00
2023-05-31 13:37:21 -04:00
2023-08-10 14:19:38 -04:00
2023-05-31 13:37:21 -04:00
2023-08-07 19:49:26 -04:00
2023-08-30 20:56:02 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:59:32 -04:00
2023-05-30 18:38:07 -04:00
2023-05-30 19:55:37 -04:00