Commit 2122fc63 authored by Josh Bleecher Snyder's avatar Josh Bleecher Snyder

cmd/internal/obj/arm64: don't immediate dereference new prog

Noticed by Cherry while reviewing CL 40252.

The alternative to this is to place t on the stack, like

t := obj.Prog{Ctxt: ctxt}

However, there are only a couple of places where we
manually construct Progs, which is useful.

This isn't hot enough code to warrant
breaking abstraction layers to avoid an allocation.

Passes toolstash-check.

Change-Id: I46c79090b60641c90ee977b750ba5c708aca8ecf
Reviewed-on: https://go-review.googlesource.com/40373
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
Reviewed-by: 's avatarCherry Zhang <cherryyz@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
parent 1e692454
......@@ -732,7 +732,7 @@ func (c *ctxt7) flushpool(p *obj.Prog, skip int) {
func (c *ctxt7) addpool(p *obj.Prog, a *obj.Addr) {
cls := c.aclass(a)
lit := c.instoffset
t := *c.newprog()
t := c.newprog()
t.As = AWORD
sz := 4
......@@ -804,7 +804,7 @@ func (c *ctxt7) addpool(p *obj.Prog, a *obj.Addr) {
}
q := c.newprog()
*q = t
*q = *t
q.Pc = int64(c.pool.size)
if c.blitrl == nil {
c.blitrl = q
......
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