GNU bug report logs -
#70398
[PATCH 0/5] Reduce the size of gnu/packages/*.go files
Previous Next
Reported by: Ludovic Courtès <ludo <at> gnu.org>
Date: Mon, 15 Apr 2024 15:29:03 UTC
Severity: normal
Tags: patch
Done: Ludovic Courtès <ludo <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
Simon Tournier <zimon.toutoune <at> gmail.com> skribis:
> On lun., 15 avril 2024 at 17:37, Ludovic Courtès <ludo <at> gnu.org> wrote:
>
>> + ((_ (list args ...))
>> + ;; As of 3.0.9, (list ...) is open-coded, which can lead to a long list
>> + ;; of instructions. To reduce code bloat in package modules where input
>> + ;; fields may create such lists, move list allocation to the callee.
>> + (add-input-labels args ...))
>
> I am not sure to understand: « (list ...) is open-coded, which can lead
> to a long list of instructions. ».
This:
--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,c (lambda () (list 1 2 3 4))
[...]
8 (allocate-words/immediate 0 2)
9 (scm-set!/immediate 0 0 2)
10 (scm-set!/immediate 0 1 1)
11 (allocate-words/immediate 2 2)
12 (scm-set!/immediate 2 0 3)
13 (scm-set!/immediate 2 1 0)
14 (allocate-words/immediate 3 2)
15 (scm-set!/immediate 3 0 4)
16 (scm-set!/immediate 3 1 2)
17 (allocate-words/immediate 4 2)
18 (scm-set!/immediate 4 0 5)
19 (scm-set!/immediate 4 1 3)
--8<---------------cut here---------------end--------------->8---
> Well, irrelevant for .go size but why not something like:
>
> ((_ (list args . rest))
> (apply add-inputs-labels (append args rest)))
That’s more code and I’m really trying hard to minimize generated code.
:-)
Ludo’.
This bug report was last modified 1 year and 7 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.