aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/internal
diff options
context:
space:
mode:
authorDavid Lazar <lazard@golang.org>2016-12-09 12:34:01 -0500
committerDavid Lazar <lazard@golang.org>2016-12-09 20:25:10 +0000
commitad4efedc6ce317aa9eb1208950daee4c31b023cc (patch)
tree3ee14f959718fbb0b6a4fc5f79d9c6421db217fb /src/cmd/internal
parent4b8895e2ddb8b9aa324417a0d01e6c09c9822e75 (diff)
downloadgo-ad4efedc6ce317aa9eb1208950daee4c31b023cc.tar.xz
[dev.inline] cmd/internal/obj: use src.Pos in obj.Prog
This will let us use the src.Pos struct to thread inlining information through to obj. Change-Id: I96a16d3531167396988df66ae70f0b729049cc82 Reviewed-on: https://go-review.googlesource.com/34195 Run-TryBot: David Lazar <lazard@golang.org> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Robert Griesemer <gri@golang.org> Reviewed-by: Austin Clements <austin@google.com>
Diffstat (limited to 'src/cmd/internal')
-rw-r--r--src/cmd/internal/obj/link.go3
-rw-r--r--src/cmd/internal/obj/pcln.go4
-rw-r--r--src/cmd/internal/obj/util.go2
3 files changed, 5 insertions, 4 deletions
diff --git a/src/cmd/internal/obj/link.go b/src/cmd/internal/obj/link.go
index 2ab2aec926..e428d1747d 100644
--- a/src/cmd/internal/obj/link.go
+++ b/src/cmd/internal/obj/link.go
@@ -32,6 +32,7 @@ package obj
import (
"bufio"
+ "cmd/internal/src"
"cmd/internal/sys"
"fmt"
)
@@ -238,7 +239,7 @@ type Prog struct {
Forwd *Prog // for x86 back end
Rel *Prog // for x86, arm back ends
Pc int64 // for back ends or assembler: virtual or actual program counter, depending on phase
- Lineno int32 // line number of this instruction
+ Lineno src.Pos // line number of this instruction
Spadj int32 // effect of instruction on stack pointer (increment or decrement amount)
As As // assembler opcode
Reg int16 // 2nd source operand
diff --git a/src/cmd/internal/obj/pcln.go b/src/cmd/internal/obj/pcln.go
index d9893e42cd..408bb2bfe7 100644
--- a/src/cmd/internal/obj/pcln.go
+++ b/src/cmd/internal/obj/pcln.go
@@ -138,10 +138,10 @@ func funcpctab(ctxt *Link, dst *Pcdata, func_ *LSym, desc string, valfunc func(*
// Because p->lineno applies to p, phase == 0 (before p)
// takes care of the update.
func pctofileline(ctxt *Link, sym *LSym, oldval int32, p *Prog, phase int32, arg interface{}) int32 {
- if p.As == ATEXT || p.As == ANOP || p.As == AUSEFIELD || p.Lineno == 0 || phase == 1 {
+ if p.As == ATEXT || p.As == ANOP || p.As == AUSEFIELD || p.Lineno.Line() == 0 || phase == 1 {
return oldval
}
- f, l := linkgetline(ctxt, p.Lineno)
+ f, l := linkgetline(ctxt, p.Lineno.Line())
if f == nil {
// print("getline failed for %s %v\n", ctxt->cursym->name, p);
return oldval
diff --git a/src/cmd/internal/obj/util.go b/src/cmd/internal/obj/util.go
index bc5d1c5d5a..472e13bc44 100644
--- a/src/cmd/internal/obj/util.go
+++ b/src/cmd/internal/obj/util.go
@@ -59,7 +59,7 @@ func Getgoextlinkenabled() string {
}
func (p *Prog) Line() string {
- return p.Ctxt.LineHist.LineString(int(p.Lineno))
+ return p.Ctxt.LineHist.LineString(int(p.Lineno.Line()))
}
var armCondCode = []string{