Damien George
265500c5c8
py/objnamedtuple: Simplify and remove use of alloca building namedtuple.
...
Prior to this patch there were 2 paths for creating the namedtuple, one for
when no keyword args were passed, and one when there were keyword args.
And alloca was used in the keyword-arg path to temporarily create the array
of elements for the namedtuple, which would then be copied to a
heap-allocated object (the namedtuple itself).
This patch simplifies the code by combining the no-keyword and keyword
paths, and removing the need for the alloca by constructing the namedtuple
on the heap before populating it.
Heap usage in unchanged, stack usage is reduced, use of alloca is removed,
and code size is not increased and is actually reduced by between 20-30
bytes for most ports.
2017-06-29 17:40:25 +10:00
..
2017-03-28 22:37:26 +11:00
2017-01-03 15:40:50 +11:00
2016-12-09 16:51:49 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2017-05-29 11:36:05 +03:00
2016-12-09 16:51:49 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:54:45 +11:00
2016-12-09 22:50:58 +11:00
2016-12-09 22:50:58 +11:00
2017-02-08 10:48:51 +11:00
2017-04-22 23:39:20 +10:00
2017-06-09 13:36:33 +10:00
2017-06-09 13:36:33 +10:00
2017-05-09 10:41:00 +10:00
2017-01-22 11:56:16 +11:00
2017-03-29 12:56:45 +11:00
2017-01-22 12:12:54 +11:00
2017-06-28 12:21:29 +10:00
2017-06-22 15:05:58 +10:00
2016-12-09 17:06:21 +11:00
2017-04-22 23:39:20 +10:00
2017-05-25 20:42:30 +10:00
2016-09-30 13:53:00 +10:00
2016-12-21 11:52:05 +11:00
2016-11-16 16:14:14 +11:00
2017-02-24 13:43:43 +11:00
2016-12-09 21:23:17 +11:00
2017-04-22 23:39:20 +10:00
2017-06-13 13:36:56 +10:00
2017-05-03 01:47:08 +03:00
2017-06-28 00:51:45 +03:00
2017-04-12 13:52:04 +10:00
2016-07-01 00:09:55 +03:00
2017-04-22 21:46:32 +10:00
2017-05-12 15:14:24 +10:00
2017-02-17 12:44:24 +11:00
2016-09-02 14:32:47 +10:00
2017-06-09 13:42:13 +10:00
2016-08-26 15:35:26 +10:00
2017-03-03 11:21:19 +11:00
2017-05-29 11:36:05 +03:00
2017-05-29 11:36:05 +03:00
2017-05-26 13:12:42 +10:00
2016-09-22 00:23:16 +10:00
2017-06-15 11:54:41 +10:00
2016-09-22 00:23:16 +10:00
2016-09-22 00:23:16 +10:00
2016-09-22 00:23:16 +10:00
2017-05-06 18:42:35 +03:00
2017-06-15 11:54:41 +10:00
2017-04-18 17:24:30 +10:00
2017-01-17 22:53:06 +03:00
2017-06-08 00:41:27 +10:00
2017-06-14 14:43:50 +10:00
2017-02-22 12:58:11 +11:00
2017-06-26 12:29:20 +10:00
2017-06-04 12:30:41 +03:00
2016-10-14 20:14:01 +03:00
2017-03-15 17:25:12 +11:00
2017-05-14 18:24:50 +03:00
2017-04-10 16:02:56 +10:00
2017-04-25 12:22:04 +10:00
2017-02-16 16:51:16 +11:00
2017-04-22 23:39:20 +10:00
2017-04-30 14:28:37 +03:00
2017-04-12 13:50:31 +10:00
2016-07-21 00:54:21 +03:00
2017-03-08 22:36:02 +11:00
2017-03-26 00:33:23 +03:00
2017-03-06 17:13:16 +11:00
2017-06-15 11:54:41 +10:00
2017-04-22 12:14:04 +10:00
2017-03-28 22:37:26 +11:00
2017-02-16 16:51:16 +11:00
2017-02-16 16:51:16 +11:00
2016-09-30 17:02:07 +10:00
2016-11-22 01:33:55 +03:00
2017-02-16 16:51:17 +11:00
2017-06-15 11:54:41 +10:00
2017-04-12 13:22:21 +10:00
2017-02-16 18:38:06 +11:00
2017-04-12 13:22:21 +10:00
2017-02-16 16:51:17 +11:00
2017-02-16 18:38:06 +11:00
2017-04-21 16:21:56 +10:00
2017-06-09 13:36:33 +10:00
2017-06-09 13:36:33 +10:00
2017-02-16 18:38:06 +11:00
2017-06-15 11:54:41 +10:00
2017-04-21 16:43:21 +03:00
2017-06-15 14:21:02 +10:00
2017-04-04 16:45:49 +10:00
2017-03-29 12:56:17 +11:00
2017-02-16 16:51:16 +11:00
2017-03-27 12:19:24 +11:00
2017-01-26 23:30:38 +11:00
2017-01-26 23:30:38 +11:00
2017-06-29 17:40:25 +10:00
2016-09-19 12:28:55 +10:00
2017-03-28 22:37:26 +11:00
2017-02-16 18:38:06 +11:00
2016-08-12 22:39:03 +03:00
2017-05-18 17:32:42 +10:00
2017-02-16 18:38:06 +11:00
2017-02-16 19:11:34 +11:00
2017-06-08 00:40:38 +10:00
2017-02-16 16:51:16 +11:00
2017-06-09 17:33:01 +03:00
2017-06-09 17:33:01 +03:00
2017-06-15 11:54:41 +10:00
2017-04-05 12:38:02 +10:00
2017-02-16 18:38:06 +11:00
2017-04-22 23:39:20 +10:00
2017-03-30 22:58:08 +11:00
2017-02-24 14:56:37 +11:00
2016-11-15 16:48:48 +11:00
2017-03-28 22:37:26 +11:00
2017-06-08 00:28:28 +10:00
2016-11-16 18:13:50 +11:00
2017-05-29 11:36:05 +03:00
2016-11-02 23:15:41 +11:00
2017-01-27 17:19:06 +11:00
2017-03-14 11:52:05 +11:00
2017-03-14 11:52:05 +11:00
2017-03-29 12:56:45 +11:00
2017-05-29 11:36:05 +03:00
2017-04-22 23:39:20 +10:00
2017-04-10 17:07:26 +10:00
2017-04-22 23:39:20 +10:00
2017-03-20 15:20:26 +11:00
2016-09-30 13:53:00 +10:00
2016-09-30 13:53:00 +10:00
2017-05-18 17:32:42 +10:00
2017-04-22 23:39:20 +10:00
2017-06-15 11:54:41 +10:00
2016-12-02 16:37:29 +11:00
2016-12-28 17:50:10 +11:00
2017-06-09 13:36:33 +10:00
2017-04-22 23:39:20 +10:00
2016-10-14 16:46:34 +11:00
2016-10-31 23:21:15 +03:00