Skip to content
Snippets Groups Projects
  • Russ Cox's avatar
    c45313bf
    [dev.regabi] cmd/compile: remove prealloc map · c45313bf
    Russ Cox authored
    The prealloc map seems to exist to avoid adding a field to all nodes.
    Now we can add a field to just the nodes that need the field,
    so let's do that and avoid having a magic global with extra node state
    that isn't preserved by operations like Copy nor printed by Dump.
    
    This also makes clear which nodes can be prealloc'ed.
    In particular, the code in walkstmt looked up an entry in
    prealloc using an ONAME node, but there's no code that
    ever stores such an entry, so the lookup never succeeded.
    Having fields makes that kind of thing easier to see and fix.
    
    Passes buildall w/ toolstash -cmp.
    
    Change-Id: I418ad0e2847615c08868120c13ee719dc0b2eacb
    Reviewed-on: https://go-review.googlesource.com/c/go/+/278915
    
    
    Trust: Russ Cox <rsc@golang.org>
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Go Bot <gobot@golang.org>
    Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
    c45313bf
    History
    [dev.regabi] cmd/compile: remove prealloc map
    Russ Cox authored
    The prealloc map seems to exist to avoid adding a field to all nodes.
    Now we can add a field to just the nodes that need the field,
    so let's do that and avoid having a magic global with extra node state
    that isn't preserved by operations like Copy nor printed by Dump.
    
    This also makes clear which nodes can be prealloc'ed.
    In particular, the code in walkstmt looked up an entry in
    prealloc using an ONAME node, but there's no code that
    ever stores such an entry, so the lookup never succeeded.
    Having fields makes that kind of thing easier to see and fix.
    
    Passes buildall w/ toolstash -cmp.
    
    Change-Id: I418ad0e2847615c08868120c13ee719dc0b2eacb
    Reviewed-on: https://go-review.googlesource.com/c/go/+/278915
    
    
    Trust: Russ Cox <rsc@golang.org>
    Run-TryBot: Russ Cox <rsc@golang.org>
    TryBot-Result: Go Bot <gobot@golang.org>
    Reviewed-by: default avatarMatthew Dempsky <mdempsky@google.com>
Code owners
Assign users and groups as approvers for specific file changes. Learn more.