1
0
mirror of https://github.com/golang/go synced 2024-07-05 09:50:19 +00:00
go/test/typeparam
Matthew Dempsky 38edd9bd8d cmd/compile/internal/noder: shape-based stenciling for unified IR
This CL switches unified IR to use shape-based stenciling with runtime
dictionaries, like the existing non-unified frontend. Specifically,
when instantiating generic functions and types `X[T]`, we now also
instantiated shaped variants `X[shapify(T)]` that can be shared by
`T`'s with common underlying types.

For example, for generic function `F`, `F[int](args...)` will be
rewritten to `F[go.shape.int](&.dict.F[int], args...)`.

For generic type `T` with method `M` and value `t` of type `T[int]`,
`t.M(args...)` will be rewritten to `T[go.shape.int].M(t,
&.dict.T[int], args...)`.

Two notable distinctions from the non-unified frontend:

1. For simplicity, currently shaping is limited to simply converting
type arguments to their underlying type. Subsequent CLs will implement
more aggressive shaping.

2. For generic types, a single dictionary is generated to be shared by
all methods, rather than separate dictionaries for each method. I
originally went with this design because I have an idea of changing
interface calls to pass the itab pointer via the closure
register (which should have zero overhead), and then the interface
wrappers for generic methods could use the *runtime.itab to find the
runtime dictionary that corresponds to the dynamic type. This would
allow emitting fewer method wrappers.

However, this choice does have the consequence that currently even if
a method is unused and its code is pruned by the linker, it may have
produced runtime dictionary entries that need to be kept alive anyway.

I'm open to changing this to generate per-method dictionaries, though
this would require changing the unified IR export data format; so it
would be best to make this decision before Go 1.20.

The other option is making the linker smarter about pruning unneeded
dictionary entries, like how it already prunes itab entries. For
example, the runtime dictionary for `T[int]` could have a `R_DICTTYPE`
meta-relocation against symbol `.dicttype.T[go.shape.int]` that
declares it's a dictionary associated with that type; and then each
method on `T[go.shape.T]` could have `R_DICTUSE` meta-relocations
against `.dicttype.T[go.shape.T]+offset` indicating which fields
within dictionaries of that type need to be preserved.

Change-Id: I369580b1d93d19640a4b5ecada4f6231adcce3fd
Reviewed-on: https://go-review.googlesource.com/c/go/+/421821
Reviewed-by: David Chase <drchase@google.com>
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
2022-08-18 13:16:21 +00:00
..
absdiffimp.dir cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
absdiffimp2.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
aliasimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
chansimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
dedup.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
factimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
gencrawler.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
geninline.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue46461b.dir cmd/compile/internal/types2: disallow type cycles through type parameter lists 2021-11-10 00:56:09 +00:00
issue47514c.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47775.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47892.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue47892b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48094.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48094b.dir cmd/compile: fix unified IR panic when expanding nested inline function 2021-09-09 04:37:47 +00:00
issue48185a.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48185b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48280.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48306.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48337a.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48337b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48454.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48462.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48716.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue48962.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49027.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49241.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49246.dir cmd/compile: fix panic when refer to method of imported instantiated type 2021-11-02 03:09:01 +00:00
issue49497.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49524.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49536.dir cmd/compile: fix reentrancy issue in unified IR function body reading 2022-03-07 06:23:18 +00:00
issue49659.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49667.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue49893.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50121.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50121b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50437.dir cmd/compile: fix instantiation of types referenced during inlining 2022-01-07 17:55:52 +00:00
issue50481b.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50481c.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50485.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50486.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50552.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50561.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50598.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue50841.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51219.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51219b.dir test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51250a.dir cmd/compile: don't include instantiating types in type hash 2022-03-03 00:23:02 +00:00
issue51367.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
issue51423.dir cmd/compile: fix re-export closure 2022-03-11 00:42:08 +00:00
issue51836.dir cmd/compile/internal/importer: key tparams by Package instead of pkgname 2022-03-22 21:38:10 +00:00
issue52117.dir cmd/compile: set correct package for vars/params/results from nested instantiation 2022-04-28 20:14:34 +00:00
issue54302.dir cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
listimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
listimp2.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mapimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mapsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mdempsky test: test method expressions promoted to derived types 2022-08-09 16:42:12 +00:00
mincheck.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
minimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
mutualimp.dir [dev.typeparams] test/typeparam: gofmt -w 2021-07-28 21:40:40 +00:00
orderedmapsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
pairimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
recoverimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
select.dir test: add test of select inside generic function 2021-12-03 22:57:02 +00:00
setsimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
sliceimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
stringerimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
structinit.dir cmd/compile: don't re-typecheck while importing 2021-12-16 00:34:10 +00:00
valimp.dir test: use dot-relative imports where appropriate 2022-03-24 02:14:15 +00:00
absdiff.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiff2.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
absdiff3.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
absdiffimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
adder.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
aliasimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
append.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
boundmethod.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
builtins.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chans.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
chansimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
combine.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
cons.go test/typeparam: fix copyright message 2022-04-21 23:41:49 +00:00
dedup.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dedup.out [dev.typeparams] cmd/compile: put shape types in their own package 2021-08-04 17:56:00 +00:00
dictionaryCapture-noinline.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dictionaryCapture.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
dottype.out [dev.typeparams] cmd/compile: implement generic .(T) operations 2021-07-29 17:15:21 +00:00
double.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
eface.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
equal.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
fact.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
factimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
gencrawler.out cmd/compile, test: updated comments in crawler.go, added test 2022-01-10 19:51:05 +00:00
genembed.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
genembed2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
geninline.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
graph.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
ifaceconv.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
importtest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
index2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
interfacearg.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue23536.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue39755.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue42758.go cmd/compile: remove duplicate const logic from typecheck 2022-03-07 18:17:40 +00:00
issue44688.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45722.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45738.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue45817.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46461b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46472.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue46591.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47258.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47272.out cmd/compile: fix CONVIFACE case converting interface to empty interface 2021-08-17 13:23:13 +00:00
issue47514.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47514c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47631.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47676.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47684c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47708.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47710.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47713.out cmd/compile: fix naming of types inside instantiations 2021-08-24 18:30:13 +00:00
issue47716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47723.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47740.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47740.out cmd/compile/internal/types2: disallow lone type parameter on RHS of type declaration 2021-10-28 00:11:24 +00:00
issue47740b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47775b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47797.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47877.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47878.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47892b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47896.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47901.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47924.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47925d.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47929.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47948.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue47966.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48013.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48016.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48030.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48042.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48047.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48056.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48094b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48137.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48185a.go cmd/compile: fix deadlock in (*Named).load 2021-09-07 17:38:14 +00:00
issue48185b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48191.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48198.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48225.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48253.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48276a.out go/types, types2: fix implements and identical predicates 2022-01-31 20:35:07 +00:00
issue48276b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48280.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48306.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48318.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48337a.out cmd/compile: fix generic type handling in crawler 2021-09-17 19:50:04 +00:00
issue48337b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48344.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48424.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
issue48453.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48454.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48462.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48537.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48602.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48604.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48609.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48617.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48645a.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48645a.out cmd/compile: make sure shapes have proper indexes for sub-instantiation 2021-09-29 16:09:04 +00:00
issue48645b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48711.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48716.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48838.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue48962.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49027.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49049.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49241.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49246.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49295.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49309.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49421.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49432.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49497.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49516.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49524.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49536.go cmd/compile: fix reentrancy issue in unified IR function body reading 2022-03-07 06:23:18 +00:00
issue49538.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49547.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49611.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49659b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49667.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49875.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue49893.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50002.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50109.out cmd/compile: fix identity case relating to 'any' and shape types 2021-12-13 06:35:06 +00:00
issue50109b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50121b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50147.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50177.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50193.out cmd/compile: upgrade ssa to do (int or float) -> complex 2021-12-16 00:33:58 +00:00
issue50259.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50264.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50317.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50417.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50417b.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50419.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50437.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50481c.out cmd/compile: make sure multiple blank typeparams remain unique 2022-01-21 00:39:55 +00:00
issue50485.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50486.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50552.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50561.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50598.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50642.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50690a.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690a.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50690b.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690b.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50690c.go go/types, types2: disable field accesses through type parameters 2022-03-09 21:26:42 +00:00
issue50690c.out cmd/compile: distinguish bound calls/field access in getInstInfo 2022-01-24 17:07:30 +00:00
issue50833.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50841.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue50993.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51219.out test: add new test case for 51219 that triggers the types2 issue 2022-02-28 14:59:04 +00:00
issue51219b.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51232.go go/types, types2: disable inference for type instances 2022-03-07 21:18:15 +00:00
issue51233.go go/types, types2: disable inference for type instances 2022-03-07 21:18:15 +00:00
issue51236.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51245.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51250a.go cmd/compile: don't include instantiating types in type hash 2022-03-03 00:23:02 +00:00
issue51303.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51303.out cmd/compile: deal with constructed types that have shapes in them 2022-02-28 19:38:22 +00:00
issue51355.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51367.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
issue51423.go cmd/compile: fix re-export closure 2022-03-11 00:42:08 +00:00
issue51521.go test: add test case for #51521 2022-03-07 14:07:18 +00:00
issue51522a.go cmd/compile: fix transform of OEQ/ONE when one arg is a type param 2022-03-10 18:50:50 +00:00
issue51522b.go cmd/compile: fix expression switches using type parameters 2022-03-10 19:30:33 +00:00
issue51700.go cmd/compile: always write fun[0] in incomplete itab 2022-04-12 17:06:19 +00:00
issue51733.go cmd/compile: pointers to notinheap types need their own shape 2022-03-18 19:22:30 +00:00
issue51765.go cmd/compile: replace Type.OrigSym with Type.OrigType 2022-03-21 21:57:24 +00:00
issue51832.go cmd/compile: catch pointless recursion on function types 2022-05-24 20:35:40 +00:00
issue51836.go cmd/compile/internal/importer: key tparams by Package instead of pkgname 2022-03-22 21:38:10 +00:00
issue51840.go test: add test case for #51840 2022-05-10 19:40:04 +00:00
issue51909.go cmd/compile: don't inline fn with shape params, but passed no shape arg 2022-05-14 00:29:30 +00:00
issue51925.go cmd/compile: don't inline fn with shape params, but passed no shape arg 2022-05-14 00:29:30 +00:00
issue52026.go cmd/compile: use dictionary to convert type to shaped interface type 2022-05-03 21:36:22 +00:00
issue52117.go cmd/compile: set correct package for vars/params/results from nested instantiation 2022-04-28 20:14:34 +00:00
issue52124.go test: extend issue52124.go to also test #52139 2022-04-07 19:16:46 +00:00
issue52228.go cmd/compile: always write fun[0] in incomplete itab 2022-04-12 17:06:19 +00:00
issue52241.go cmd/compile: allow exporting .rcvr ident 2022-05-06 21:07:37 +00:00
issue53254.go cmd/compile: don't use dictionary convert to shaped empty interface 2022-06-22 22:14:02 +00:00
issue53390.go cmd/compile: skip substituting closures in unsafe builtins arguments 2022-06-18 00:48:50 +00:00
issue53406.go cmd/compile: fix assert condition in generic method call 2022-06-22 16:25:18 +00:00
issue53419.go test: add regress test for #53419 2022-06-17 22:44:22 +00:00
issue53477.go test: add regress test for #53477 2022-06-21 15:00:37 +00:00
issue53762.go cmd/compile: fix type assert in dict pass 2022-07-13 16:06:45 +00:00
issue54135.go test: improve generic type assertion test 2022-08-01 20:44:41 +00:00
issue54302.go cmd/compile: fix import/export of ODYNAMICDOTTYPE 2022-08-06 15:20:00 +00:00
issue376214.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
list2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
listimp2.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
lockable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
map.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
maps.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
metrics.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
min.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mincheck.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
minimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
mutualimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
nested.go cmd/compile/internal/noder: shape-based stenciling for unified IR 2022-08-18 13:16:21 +00:00
nested.out cmd/compile: ensure we replace package placeholder in type names 2021-11-14 17:38:42 +00:00
ordered.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmap.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
orderedmapsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pair.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pairimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
pragma.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
recoverimp.out test: add test for export/import of recover & defer 2021-10-05 20:53:02 +00:00
select.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sets.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
setsimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
settable.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
shape1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
shape1.out [dev.typeparams] cmd/compile: make all pointer types have the same shape 2021-07-31 17:03:07 +00:00
sliceimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
slices.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smallest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
smoketest.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringable.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringer.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
stringerimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
struct.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
structinit.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
subdict.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
sum.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
tparam1.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typelist.go go/types, types2: correctly consider ~ (tilde) in constraint type inference 2022-03-01 23:48:58 +00:00
typeswitch1.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch1.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch2.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch2.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch3.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch3.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch4.go test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch4.out test: additional generic type switch test coverage 2022-03-07 13:47:58 +00:00
typeswitch5.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch5.out [dev.typeparams] cmd/compile: implement generic type switches 2021-08-09 18:41:45 +00:00
typeswitch6.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch6.out [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
typeswitch7.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
typeswitch7.out [dev.typeparams] cmd/compile: handle interface type parameters in type switches 2021-08-10 01:56:50 +00:00
valimp.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00
value.go all: avoid use of cmd/compile -G flag in tests 2022-03-01 19:45:34 +00:00