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 | |
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.
-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) |