Commit 9f4fb681 authored by Matthew Dempsky's avatar Matthew Dempsky

cmd/compile: remove PDISCARD class

This pseudo-Class was previously used by the importer code to optimize
processing duplicate inline bodies, since we didn't actually care
about the declarations in those contexts.

This functionality is no longer needed with indexed exports, since we
now only process function bodies as needed (and never more than once).

Passes toolstash-check.

Change-Id: I7eab0cb16925ab777079c2a20731dbcfd63cf195
Reviewed-on: https://go-review.googlesource.com/c/go/+/200899Reviewed-by: default avatarBrad Fitzpatrick <bradfitz@golang.org>
Run-TryBot: Matthew Dempsky <mdempsky@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent e49ecaaa
...@@ -15,12 +15,11 @@ func _() { ...@@ -15,12 +15,11 @@ func _() {
_ = x[PPARAM-4] _ = x[PPARAM-4]
_ = x[PPARAMOUT-5] _ = x[PPARAMOUT-5]
_ = x[PFUNC-6] _ = x[PFUNC-6]
_ = x[PDISCARD-7]
} }
const _Class_name = "PxxxPEXTERNPAUTOPAUTOHEAPPPARAMPPARAMOUTPFUNCPDISCARD" const _Class_name = "PxxxPEXTERNPAUTOPAUTOHEAPPPARAMPPARAMOUTPFUNC"
var _Class_index = [...]uint8{0, 4, 11, 16, 25, 31, 40, 45, 53} var _Class_index = [...]uint8{0, 4, 11, 16, 25, 31, 40, 45}
func (i Class) String() string { func (i Class) String() string {
if i >= Class(len(_Class_index)-1) { if i >= Class(len(_Class_index)-1) {
......
...@@ -60,10 +60,6 @@ var declare_typegen int ...@@ -60,10 +60,6 @@ var declare_typegen int
// declare records that Node n declares symbol n.Sym in the specified // declare records that Node n declares symbol n.Sym in the specified
// declaration context. // declaration context.
func declare(n *Node, ctxt Class) { func declare(n *Node, ctxt Class) {
if ctxt == PDISCARD {
return
}
if n.isBlank() { if n.isBlank() {
return return
} }
......
...@@ -60,17 +60,10 @@ const ( ...@@ -60,17 +60,10 @@ const (
PPARAMOUT // output results PPARAMOUT // output results
PFUNC // global function PFUNC // global function
PDISCARD // discard during parse of duplicate import
// Careful: Class is stored in three bits in Node.flags. // Careful: Class is stored in three bits in Node.flags.
// Adding a new Class will overflow that. _ = uint((1 << 3) - iota) // static assert for iota <= (1 << 3)
) )
func init() {
if PDISCARD != 7 {
panic("PDISCARD changed; does all Class values still fit in three bits?")
}
}
// note this is the runtime representation // note this is the runtime representation
// of the compilers arrays. // of the compilers arrays.
// //
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment