]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.debug] cmd/compile: rename dwarf.Var.Offset to StackOffset
authorHeschi Kreinick <heschi@google.com>
Fri, 21 Jul 2017 21:55:41 +0000 (17:55 -0400)
committerHeschi Kreinick <heschi@google.com>
Tue, 25 Jul 2017 19:33:14 +0000 (19:33 +0000)
After we track decomposition, offset could mean stack offset or offset
in recomposed variable. Disambiguate.

Change-Id: I4d810b8c0dcac7a4ec25ac1e52898f55477025df
Reviewed-on: https://go-review.googlesource.com/50875
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/compile/internal/gc/pgen.go
src/cmd/compile/internal/gc/scope.go
src/cmd/internal/dwarf/dwarf.go

index 66e4a10ee88f32b339652621e0e50e8f44cf4b99..d301ae19c8dd7e7426e36b733578f232615f03a7 100644 (file)
@@ -358,10 +358,10 @@ func debuginfo(fnsym *obj.LSym, curfn interface{}) []dwarf.Scope {
 
                typename := dwarf.InfoPrefix + gotype.Name[len("type."):]
                dwarfVars = append(dwarfVars, &dwarf.Var{
-                       Name:   n.Sym.Name,
-                       Abbrev: abbrev,
-                       Offset: int32(offs),
-                       Type:   Ctxt.Lookup(typename),
+                       Name:        n.Sym.Name,
+                       Abbrev:      abbrev,
+                       StackOffset: int32(offs),
+                       Type:        Ctxt.Lookup(typename),
                })
 
                var scope ScopeID
index b0bc7f6908632cad2115da0bb6d184d5903dfb12..ebdaa19994ae3ebbcaa6878e8bc37aee6c995fdb 100644 (file)
@@ -168,7 +168,7 @@ func (v varsByScopeAndOffset) Less(i, j int) bool {
        if v.scopes[i] != v.scopes[j] {
                return v.scopes[i] < v.scopes[j]
        }
-       return v.vars[i].Offset < v.vars[j].Offset
+       return v.vars[i].StackOffset < v.vars[j].StackOffset
 }
 
 func (v varsByScopeAndOffset) Swap(i, j int) {
index a617c389f92ab7e1a477272515f072b4ed56fbb2..325836119f9c8e0ba0778fbb149e60e8428dce15 100644 (file)
@@ -25,11 +25,11 @@ type Sym interface {
 
 // A Var represents a local variable or a function parameter.
 type Var struct {
-       Name   string
-       Abbrev int // Either DW_ABRV_AUTO or DW_ABRV_PARAM
-       Offset int32
-       Scope  int32
-       Type   Sym
+       Name        string
+       Abbrev      int // Either DW_ABRV_AUTO or DW_ABRV_PARAM
+       StackOffset int32
+       Scope       int32
+       Type        Sym
 }
 
 // A Scope represents a lexical scope. All variables declared within a
@@ -749,9 +749,9 @@ func putvar(ctxt Context, s Sym, v *Var, encbuf []byte) {
        Uleb128put(ctxt, s, int64(v.Abbrev))
        putattr(ctxt, s, v.Abbrev, DW_FORM_string, DW_CLS_STRING, int64(len(n)), n)
        loc := append(encbuf[:0], DW_OP_call_frame_cfa)
-       if v.Offset != 0 {
+       if v.StackOffset != 0 {
                loc = append(loc, DW_OP_consts)
-               loc = AppendSleb128(loc, int64(v.Offset))
+               loc = AppendSleb128(loc, int64(v.StackOffset))
                loc = append(loc, DW_OP_plus)
        }
        putattr(ctxt, s, v.Abbrev, DW_FORM_block1, DW_CLS_BLOCK, int64(len(loc)), loc)
@@ -759,9 +759,9 @@ func putvar(ctxt Context, s Sym, v *Var, encbuf []byte) {
 }
 
 // VarsByOffset attaches the methods of sort.Interface to []*Var,
-// sorting in increasing Offset.
+// sorting in increasing StackOffset.
 type VarsByOffset []*Var
 
 func (s VarsByOffset) Len() int           { return len(s) }
-func (s VarsByOffset) Less(i, j int) bool { return s[i].Offset < s[j].Offset }
+func (s VarsByOffset) Less(i, j int) bool { return s[i].StackOffset < s[j].StackOffset }
 func (s VarsByOffset) Swap(i, j int)      { s[i], s[j] = s[j], s[i] }