diff options
author | Ron Yorston <rmy@pobox.com> | 2020-01-18 10:12:22 +0000 |
---|---|---|
committer | Ron Yorston <rmy@pobox.com> | 2020-01-18 10:12:22 +0000 |
commit | a52570a15241be7378484a4d88a1099cb60aec1b (patch) | |
tree | a0ca1e2de193833edc19f355b15a11e5411ed89b /shell | |
parent | 8e3dd0852bb87a41705cdd1fa0bf5336f1df4c1c (diff) | |
download | busybox-w32-a52570a15241be7378484a4d88a1099cb60aec1b.tar.gz busybox-w32-a52570a15241be7378484a4d88a1099cb60aec1b.tar.bz2 busybox-w32-a52570a15241be7378484a4d88a1099cb60aec1b.zip |
ash: reorder SAVE_PTR macros
Group together the code to mark pointers in the relocation map and
that to store annotations. This allows some optimisations when
forkshell debugging is enabled, saving 32 bytes.
Diffstat (limited to 'shell')
-rw-r--r-- | shell/ash.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/shell/ash.c b/shell/ash.c index 8e80a5228..19babb80e 100644 --- a/shell/ash.c +++ b/shell/ash.c | |||
@@ -9449,15 +9449,14 @@ static union node *copynode(union node *); | |||
9449 | } | 9449 | } |
9450 | # define SAVE_PTR2(dst1,note1,flag1,dst2,note2,flag2) { \ | 9450 | # define SAVE_PTR2(dst1,note1,flag1,dst2,note2,flag2) { \ |
9451 | if (relocate) { \ | 9451 | if (relocate) { \ |
9452 | MARK_PTR(dst1,flag1); ANNOT(dst1,note1); \ | 9452 | MARK_PTR(dst1,flag1); MARK_PTR(dst2,flag2); \ |
9453 | MARK_PTR(dst2,flag2); ANNOT(dst2,note2); \ | 9453 | ANNOT(dst1,note1); ANNOT(dst2,note2); \ |
9454 | } \ | 9454 | } \ |
9455 | } | 9455 | } |
9456 | # define SAVE_PTR3(dst1,note1,flag1,dst2,note2,flag2,dst3,note3,flag3) { \ | 9456 | # define SAVE_PTR3(dst1,note1,flag1,dst2,note2,flag2,dst3,note3,flag3) { \ |
9457 | if (relocate) { \ | 9457 | if (relocate) { \ |
9458 | MARK_PTR(dst1,flag1); ANNOT(dst1,note1); \ | 9458 | MARK_PTR(dst1,flag1); MARK_PTR(dst2,flag2); MARK_PTR(dst3,flag3); \ |
9459 | MARK_PTR(dst2,flag2); ANNOT(dst2,note2); \ | 9459 | ANNOT(dst1,note1); ANNOT(dst2,note2); ANNOT(dst3,note3); \ |
9460 | MARK_PTR(dst3,flag3); ANNOT(dst3,note3); \ | ||
9461 | } \ | 9460 | } \ |
9462 | } | 9461 | } |
9463 | #else | 9462 | #else |
@@ -15508,13 +15507,12 @@ spawn_forkshell(struct forkshell *fs, struct job *jp, union node *n, int mode) | |||
15508 | MARK_PTR(dst,flag); ANNOT(dst,note); \ | 15507 | MARK_PTR(dst,flag); ANNOT(dst,note); \ |
15509 | } | 15508 | } |
15510 | # define SAVE_PTR2(dst1,note1,flag1,dst2,note2,flag2) { \ | 15509 | # define SAVE_PTR2(dst1,note1,flag1,dst2,note2,flag2) { \ |
15511 | MARK_PTR(dst1,flag1); ANNOT(dst1,note1); \ | 15510 | MARK_PTR(dst1,flag1); MARK_PTR(dst2,flag2); \ |
15512 | MARK_PTR(dst2,flag2); ANNOT(dst2,note2); \ | 15511 | ANNOT(dst1,note1); ANNOT(dst2,note2); \ |
15513 | } | 15512 | } |
15514 | # define SAVE_PTR3(dst1,note1,flag1,dst2,note2,flag2,dst3,note3,flag3) { \ | 15513 | # define SAVE_PTR3(dst1,note1,flag1,dst2,note2,flag2,dst3,note3,flag3) { \ |
15515 | MARK_PTR(dst1,flag1); ANNOT(dst1,note1); \ | 15514 | MARK_PTR(dst1,flag1); MARK_PTR(dst2,flag2); MARK_PTR(dst3,flag3); \ |
15516 | MARK_PTR(dst2,flag2); ANNOT(dst2,note2); \ | 15515 | ANNOT(dst1,note1); ANNOT(dst2,note2); ANNOT(dst3,note3); \ |
15517 | MARK_PTR(dst3,flag3); ANNOT(dst3,note3); \ | ||
15518 | } | 15516 | } |
15519 | 15517 | ||
15520 | static int align_len(const char *s) | 15518 | static int align_len(const char *s) |