Yinan Zhang
c9d56cddf2
Optimize meld in qr module
...
The goal of `qr_meld()` is to change the following four fields
`(a->prev, a->prev->next, b->prev, b->prev->next)` from the values
`(a->prev, a, b->prev, b)` to `(b->prev, b, a->prev, a)`.
This commit changes
```
a->prev->next = b;
b->prev->next = a;
temp = a->prev;
a->prev = b->prev;
b->prev = temp;
```
to
```
temp = a->prev;
a->prev = b->prev;
b->prev = temp;
a->prev->next = a;
b->prev->next = b;
```
The benefit is that we can use `b->prev->next` for `temp`, and so
there's no need to pass in `a_type`.
The restriction is that `b` cannot be a `qr_next()` macro, so users
of `qr_meld()` must pay attention. (Before this change, neither `a`
nor `b` could be a `qr_next()` macro.)
2020-04-06 09:50:27 -07:00
..
2020-03-12 11:54:19 -07:00
2020-03-12 11:54:19 -07:00
2020-02-17 10:50:51 -08:00
2019-12-20 10:18:40 -08:00
2020-02-17 10:50:51 -08:00
2020-02-17 10:50:51 -08:00
2017-03-06 15:08:43 -08:00
2017-03-03 13:40:59 -08:00
2019-07-30 11:37:56 -07:00
2018-10-24 11:18:55 -07:00
2017-03-03 13:40:59 -08:00
2019-03-09 12:52:06 -08:00
2020-02-18 11:22:09 -08:00
2018-05-15 12:25:23 -07:00
2019-09-13 09:23:57 -07:00
2019-12-20 10:18:40 -08:00
2020-02-18 11:22:09 -08:00
2019-09-23 23:06:27 -07:00
2019-11-21 11:08:36 -08:00
2019-12-20 10:18:40 -08:00
2019-12-20 10:18:40 -08:00
2018-11-14 07:09:11 -08:00
2019-09-23 23:06:27 -07:00
2020-04-01 09:41:20 -07:00
2020-03-12 11:54:19 -07:00
2017-05-01 10:49:56 -07:00
2020-01-29 09:57:55 -08:00
2019-11-21 11:08:36 -08:00
2017-12-21 14:25:43 -08:00
2019-12-20 10:18:40 -08:00
2020-03-12 11:58:09 -07:00
2019-12-30 15:58:57 -08:00
2020-02-25 10:21:03 -08:00
2020-02-18 11:22:09 -08:00
2020-01-29 09:57:55 -08:00
2019-12-20 10:18:40 -08:00
2017-05-31 13:08:45 -07:00
2017-05-31 13:08:45 -07:00
2020-02-17 10:50:51 -08:00
2020-02-13 12:25:26 -08:00
2018-05-18 11:43:03 -07:00
2019-12-20 10:18:40 -08:00
2020-02-25 10:21:03 -08:00
2019-04-15 16:48:12 -07:00
2020-03-12 11:54:19 -07:00
2020-02-18 11:22:09 -08:00
2020-03-12 11:54:19 -07:00
2020-03-12 11:54:19 -07:00
2020-02-17 10:50:51 -08:00
2019-11-12 13:50:25 -08:00
2020-02-18 11:22:09 -08:00
2019-04-15 16:48:12 -07:00
2020-03-12 11:54:19 -07:00
2017-10-02 20:44:43 -07:00
2020-01-10 11:59:02 -08:00
2017-05-31 13:08:45 -07:00
2019-09-13 09:23:57 -07:00
2019-09-13 09:23:57 -07:00
2019-12-30 15:58:57 -08:00
2018-03-08 13:08:06 -08:00
2017-03-07 10:25:33 -08:00
2017-05-11 23:06:54 -07:00
2017-05-11 23:06:54 -07:00
2017-04-24 10:33:21 -07:00
2019-12-23 11:14:15 -08:00
2020-03-24 21:39:57 -07:00
2019-11-04 15:21:16 -08:00
2020-03-12 13:55:00 -07:00
2019-12-23 11:14:15 -08:00
2020-01-10 12:01:01 -08:00
2020-01-29 09:57:55 -08:00
2020-01-29 09:57:55 -08:00
2017-01-20 21:45:53 -08:00
2014-01-16 17:38:01 -08:00
2017-04-11 11:52:30 -07:00
2020-04-06 09:50:27 -07:00
2018-07-12 20:53:06 -07:00
2017-04-11 11:52:30 -07:00
2018-07-09 21:40:42 -07:00
2020-02-18 11:22:09 -08:00
2020-01-31 00:04:22 -08:00
2019-09-23 23:06:27 -07:00
2018-05-18 11:43:03 -07:00
2019-09-23 23:06:27 -07:00
2017-05-25 16:52:10 -07:00
2017-05-25 16:52:10 -07:00
2017-10-04 18:37:23 -07:00
2020-01-29 09:57:55 -08:00
2020-02-18 11:22:09 -08:00
2020-03-12 11:54:19 -07:00
2020-03-12 11:54:19 -07:00
2020-03-12 11:54:19 -07:00
2019-12-04 13:45:17 -08:00
2018-05-18 11:43:03 -07:00
2020-03-12 13:55:00 -07:00
2018-10-18 08:32:19 -07:00
2018-07-09 21:40:42 -07:00
2019-04-16 11:07:15 -07:00
2019-04-16 11:07:15 -07:00
2017-05-01 10:49:56 -07:00
2017-05-01 10:49:56 -07:00
2020-02-04 13:07:05 -08:00
2020-02-17 10:50:51 -08:00
2020-02-17 10:50:51 -08:00