• Matthew Dempsky's avatar
    cmd/compile: simplify reexport logic · bcc8edfd
    Matthew Dempsky authored
    Currently, we reexport any package-scope constant, function, type, or
    variable declarations needed by an inlineable function body. However,
    now that we have an early pass to walk inlineable function bodies
    (golang.org/cl/74110), we can simplify the logic for finding these
    declarations.
    
    The binary export format supports writing out type declarations
    in-place at their first use. Also, it always writes out constants by
    value, so their declarations never need to be reexported.
    
    Notably, we attempted this before (golang.org/cl/36170) and had to
    revert it (golang.org/cl/45911). However, this was because while
    writing out inline bodies, we could discover variable/function
    dependencies. By collecting variable/function dependencies during
    inlineable function discovery, we avoid this problem.
    
    While here, get rid of isInlineable. We already typecheck inlineable
    function bodies during inlFlood, so it's become a no-op. Just move the
    comment explaining parameter numbering to its caller.
    
    Change-Id: Ibbfaafce793733675d3a2ad98791758583055666
    Reviewed-on: https://go-review.googlesource.com/103864Reviewed-by: 's avatarRobert Griesemer <gri@golang.org>
    bcc8edfd
Name
Last commit
Last update
.github Loading commit data...
api Loading commit data...
doc Loading commit data...
lib/time Loading commit data...
misc Loading commit data...
src Loading commit data...
test Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
CONTRIBUTING.md Loading commit data...
CONTRIBUTORS Loading commit data...
LICENSE Loading commit data...
PATENTS Loading commit data...
README.md Loading commit data...
favicon.ico Loading commit data...
robots.txt Loading commit data...