Skip to content

Commit 3b9b716

Browse files
authored
Merge pull request #1044 from visualfc/wasmsizes
compiler: check wasm sizes
2 parents a7c23e2 + 19417cd commit 3b9b716

File tree

2 files changed

+8
-3
lines changed

2 files changed

+8
-3
lines changed

compiler/internal/build/build.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,12 @@ func Do(args []string, conf *Config) ([]Package, error) {
153153
}
154154

155155
prog := llssa.NewProgram(target)
156-
sizes := prog.TypeSizes
156+
sizes := func(sizes types.Sizes, compiler, arch string) types.Sizes {
157+
if arch == "wasm" && os.Getenv("LLGO_WASM32") == "1" {
158+
sizes = &types.StdSizes{4, 4}
159+
}
160+
return prog.TypeSizes(sizes)
161+
}
157162
dedup := packages.NewDeduper()
158163
dedup.SetPreload(func(pkg *types.Package, files []*ast.File) {
159164
if llruntime.SkipToBuild(pkg.Path()) {

compiler/internal/packages/load.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -705,7 +705,7 @@ func refineEx(dedup Deduper, ld *loader, response *packages.DriverResponse) ([]*
705705
// return an error. Clients may need to handle such errors before
706706
// proceeding with further analysis. The PrintErrors function is
707707
// provided for convenient display of all errors.
708-
func LoadEx(dedup Deduper, sizes func(types.Sizes) types.Sizes, cfg *Config, patterns ...string) ([]*Package, error) {
708+
func LoadEx(dedup Deduper, sizes func(sizes types.Sizes, compiler, arch string) types.Sizes, cfg *Config, patterns ...string) ([]*Package, error) {
709709
ld := newLoader(cfg)
710710
response, external, err := defaultDriver(&ld.Config, patterns...)
711711
if err != nil {
@@ -732,7 +732,7 @@ func LoadEx(dedup Deduper, sizes func(types.Sizes) types.Sizes, cfg *Config, pat
732732
}
733733

734734
if sizes != nil {
735-
ld.sizes = sizes(ld.sizes)
735+
ld.sizes = sizes(ld.sizes, response.Compiler, response.Arch)
736736
}
737737
return refineEx(dedup, ld, response)
738738
}

0 commit comments

Comments
 (0)