Damien George
43f1848bfa
py: Make viper functions have the same entry signature as native.
...
This commit makes viper functions have the same signature as native
functions, at the level of the emitter/assembler. This means that viper
functions can now be wrapped in the same uPy object as native functions.
Viper functions are now responsible for parsing their arguments (before it
was done by the runtime), and this makes calling them more efficient (in
most cases) because the viper entry code can be custom generated to suit
the signature of the function.
This change also opens the way forward for viper functions to take
arbitrary numbers of arguments, and for them to handle globals correctly,
among other things.
2018-09-15 22:39:27 +10:00
..
2018-09-14 13:39:17 +10:00
2018-08-16 13:45:24 +10:00
2018-08-16 13:45:24 +10:00
2017-12-08 19:07:00 +11:00
2016-12-09 22:50:58 +11:00
2018-08-16 13:45:24 +10:00
2018-08-16 13:45:24 +10:00
2018-09-14 17:38:09 +10:00
2018-08-16 13:45:24 +10:00
2018-09-14 17:38:09 +10:00
2018-08-16 13:45:24 +10:00
2018-08-17 14:53:58 +10:00
2018-08-17 14:53:58 +10:00
2017-10-05 10:49:44 +11:00
2017-10-10 10:37:38 +11:00
2017-10-04 12:37:50 +11:00
2017-11-16 13:17:51 +11:00
2017-08-17 16:19:35 +10:00
2018-06-27 14:54:40 +10:00
2017-10-04 12:37:50 +11:00
2018-07-08 21:31:09 +10:00
2018-02-20 18:00:44 +11:00
2018-09-15 22:39:27 +10:00
2018-09-15 12:17:09 +10:00
2018-09-15 13:00:11 +10:00
2018-09-15 13:00:11 +10:00
2018-05-23 00:22:47 +10:00
2018-09-15 22:39:27 +10:00
2018-09-15 12:17:09 +10:00
2017-07-31 18:35:40 +10:00
2016-12-09 21:23:17 +11:00
2018-09-04 14:31:28 +10:00
2018-09-15 22:39:27 +10:00
2018-09-04 14:31:28 +10:00
2018-09-04 14:31:28 +10:00
2018-09-15 22:39:27 +10:00
2018-09-04 14:31:28 +10:00
2018-03-01 17:00:02 +11:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2018-08-14 16:11:21 +10:00
2018-06-12 11:55:29 +10:00
2018-06-22 17:00:29 +10:00
2018-06-12 12:17:43 +10:00
2017-07-31 18:35:40 +10:00
2018-05-10 23:14:23 +10:00
2018-03-16 23:54:06 +11:00
2018-02-22 12:48:51 +11:00
2018-07-09 14:40:02 +10:00
2018-08-02 14:17:24 +10:00
2018-05-18 23:31:00 +10:00
2017-11-15 11:56:58 +11:00
2018-06-12 13:53:43 +10:00
2017-07-31 18:35:40 +10:00
2018-06-20 15:57:10 +10:00
2017-08-30 21:02:00 +10:00
2018-02-21 22:39:25 +11:00
2017-08-30 21:02:00 +10:00
2018-06-12 12:29:26 +10:00
2017-10-10 16:01:04 +11:00
2018-04-04 14:24:03 +10:00
2017-09-01 11:11:09 +10:00
2018-06-20 15:57:10 +10:00
2017-12-11 13:49:09 +11:00
2017-02-22 12:58:11 +11:00
2018-09-11 14:51:52 +10:00
2018-05-01 15:53:25 +10:00
2017-07-31 18:35:40 +10:00
2017-12-07 10:31:14 +02:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2018-06-12 15:06:11 +10:00
2017-07-18 11:57:39 +10:00
2018-05-21 12:48:26 +10:00
2017-12-29 14:05:48 +11:00
2018-09-15 22:39:27 +10:00
2017-12-29 22:24:53 +11:00
2017-12-29 22:24:46 +11:00
2017-12-28 16:46:30 +11:00
2018-04-27 15:10:42 +10:00
2017-12-29 22:24:46 +11:00
2018-05-15 11:17:28 +10:00
2017-12-28 16:46:30 +11:00
2017-10-04 12:37:50 +11:00
2018-09-14 13:39:17 +10:00
2018-09-11 15:10:10 +10:00
2018-06-18 13:40:53 +10:00
2017-07-31 18:35:40 +10:00
2017-10-04 12:37:50 +11:00
2017-12-11 13:49:09 +11:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2017-10-04 12:37:50 +11:00
2018-05-11 13:44:50 +10:00
2018-07-08 22:27:05 +10:00
2017-07-31 18:35:40 +10:00
2018-03-17 00:31:40 +11:00
2018-03-17 00:31:40 +11:00
2017-07-31 18:35:40 +10:00
2018-05-21 12:49:56 +10:00
2018-09-15 22:39:27 +10:00
2018-07-10 16:33:57 +10:00
2018-07-10 16:33:57 +10:00
2017-07-31 18:35:40 +10:00
2017-10-04 12:37:50 +11:00
2018-04-05 01:11:26 +10:00
2018-04-05 01:11:26 +10:00
2018-03-02 11:01:24 +11:00
2017-09-18 00:06:43 +03:00
2017-10-24 22:39:36 +11:00
2018-03-13 14:03:15 +11:00
2017-07-31 18:35:40 +10:00
2018-07-08 22:27:39 +10:00
2018-02-20 17:56:58 +11:00
2017-11-20 09:30:06 +02:00
2017-11-20 09:30:06 +02:00
2017-10-04 12:37:50 +11:00
2017-12-12 16:53:44 +11:00
2017-10-04 12:37:50 +11:00
2017-10-04 12:37:50 +11:00
2018-02-14 23:17:06 +11:00
2017-10-04 12:37:50 +11:00
2017-12-19 14:01:19 +11:00
2017-10-04 12:37:50 +11:00
2017-10-04 12:37:50 +11:00
2018-07-30 12:46:47 +10:00
2017-11-16 13:53:04 +11:00
2018-04-10 13:41:32 +10:00
2017-06-09 17:33:01 +03:00
2018-02-14 18:19:22 +11:00
2017-10-04 12:37:50 +11:00
2017-08-29 13:16:30 +10:00
2018-08-02 14:17:24 +10:00
2018-06-08 11:48:25 +10:00
2017-07-31 18:35:40 +10:00
2017-11-24 14:48:23 +11:00
2017-12-29 13:44:26 +11:00
2017-07-31 18:35:40 +10:00
2018-06-12 12:17:43 +10:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2017-07-31 18:35:40 +10:00
2018-02-14 18:41:17 +11:00
2016-11-16 18:13:50 +11:00
2018-09-08 00:07:23 +10:00
2018-02-19 00:26:14 +11:00
2017-12-11 13:49:09 +11:00
2017-11-29 17:01:39 +11:00
2018-02-19 16:12:44 +11:00
2018-02-19 00:26:14 +11:00
2018-06-06 14:28:23 +10:00
2017-03-14 11:52:05 +11:00
2018-05-18 15:23:02 +10:00
2017-07-31 18:35:40 +10:00
2017-07-18 11:57:39 +10:00
2018-09-15 22:39:27 +10:00
2017-12-05 00:38:41 +02:00
2018-09-11 00:38:31 +10:00
2018-09-14 13:39:17 +10:00
2017-03-20 15:20:26 +11:00
2017-07-31 18:35:40 +10:00
2018-09-15 13:00:11 +10:00
2017-10-04 12:37:50 +11:00
2017-10-05 10:49:44 +11:00
2017-07-31 18:35:40 +10:00
2017-12-11 22:39:12 +11:00
2017-12-11 13:49:09 +11:00
2017-07-31 18:35:40 +10:00
2018-08-14 17:36:08 +10:00
2018-08-14 17:36:08 +10:00
2018-02-14 18:19:22 +11:00
2017-09-06 16:43:09 +10:00
2018-09-03 13:08:16 +10:00
2017-10-05 10:49:44 +11:00
2017-09-21 20:29:41 +10:00
2017-09-26 11:59:11 +10:00