Damien George
7d4b6cc868
py/emitnative: Place const objs for native code in separate const table.
...
This commit changes native code to handle constant objects like bytecode:
instead of storing the pointers inside the native code they are now stored
in a separate constant table (such pointers include objects like bignum,
bytes, and raw code for nested functions). This removes the need for the
GC to scan native code for root pointers, and takes a step towards making
native code independent of the runtime (eg so it can be compiled offline by
mpy-cross).
Note that the changes to the struct scope_t did not increase its size: on a
32-bit architecture it is still 48 bytes, and on a 64-bit architecture it
decreased from 80 to 72 bytes.
2018-09-27 23:39:08 +10:00
..
2018-09-20 14:33:10 +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-09-16 01:50:45 +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-09-16 00:43:24 +10:00
2018-09-16 00:43:24 +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-27 23:39:08 +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
2018-09-20 14:33:10 +10:00
2018-09-20 14:33:10 +10:00
2018-09-04 14:31:28 +10:00
2018-09-27 23:39:08 +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-09-20 14:41:35 +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
2018-09-26 15:03:04 +10: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-26 15:03:04 +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
2018-09-20 14:33:10 +10:00
2018-09-26 15:34:59 +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
2018-09-20 14:33:10 +10:00
2018-05-11 13:44:50 +10:00
2018-09-27 15:14:12 +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-09-27 15:21:25 +10:00
2018-09-15 22:39:27 +10:00
2018-07-10 16:33:57 +10:00
2018-09-27 15:18:24 +10:00
2017-07-31 18:35:40 +10:00
2017-10-04 12:37:50 +11:00
2018-09-20 14:33:10 +10:00
2018-09-20 14:33:10 +10:00
2018-09-27 15:15:29 +10: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-09-27 15:16:24 +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
2018-09-27 11:23:31 +10:00
2018-09-26 15:29:41 +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-09-20 14:33:10 +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
2018-09-20 14:33:10 +10:00
2017-07-31 18:35:40 +10:00
2018-09-20 22:06:41 +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-09-20 14:41:35 +10: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-27 23:39:08 +10:00
2017-12-05 00:38:41 +02:00
2018-09-20 14:33:10 +10:00
2018-09-26 15:34:59 +10:00
2017-03-20 15:20:26 +11:00
2017-07-31 18:35:40 +10:00
2018-09-27 23:39:08 +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-27 15:17:37 +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