aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/compile/internal/noder/decoder.go
diff options
context:
space:
mode:
authorMatthew Dempsky <mdempsky@google.com>2021-09-07 13:23:08 -0700
committerMatthew Dempsky <mdempsky@google.com>2021-09-09 00:29:35 +0000
commit4c52eac49b7e3f2a107419583012e5251ccbfde9 (patch)
tree4d2065f74e7b06dd8ff073f1d2c78ad6219b8839 /src/cmd/compile/internal/noder/decoder.go
parente30a09013b24853cbe6d3d3a919e639df0bdf41c (diff)
downloadgo-4c52eac49b7e3f2a107419583012e5251ccbfde9.tar.xz
cmd/compile: simplify value coding for unified IR
In indexed export, values are always exported along with their type and are encoded in a type-sensitive manner, because this matches how cmd/compile handled constants internally. However, go/types intentionally differs from this, decoupling type from value representation. As unified IR strives to be more go/types-centric, it makes sense to embrace this and make values a more first-class encoding. Change-Id: If21d849c4f610358bd776d5665469d180bcd5f6e Reviewed-on: https://go-review.googlesource.com/c/go/+/348014 Trust: Matthew Dempsky <mdempsky@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> TryBot-Result: Go Bot <gobot@golang.org> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
Diffstat (limited to 'src/cmd/compile/internal/noder/decoder.go')
-rw-r--r--src/cmd/compile/internal/noder/decoder.go3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/cmd/compile/internal/noder/decoder.go b/src/cmd/compile/internal/noder/decoder.go
index 3dc61c6a69..2c18727420 100644
--- a/src/cmd/compile/internal/noder/decoder.go
+++ b/src/cmd/compile/internal/noder/decoder.go
@@ -255,7 +255,8 @@ func (r *decoder) strings() []string {
return res
}
-func (r *decoder) rawValue() constant.Value {
+func (r *decoder) value() constant.Value {
+ r.sync(syncValue)
isComplex := r.bool()
val := r.scalar()
if isComplex {