]> Cypherpunks repositories - gostls13.git/commit
cmd/internal/obj/arm64: make assembler almost concurrency-safe
authorJosh Bleecher Snyder <josharian@gmail.com>
Mon, 10 Apr 2017 18:17:49 +0000 (11:17 -0700)
committerJosh Bleecher Snyder <josharian@gmail.com>
Tue, 11 Apr 2017 14:34:00 +0000 (14:34 +0000)
commitb5931020b71999db77109088e00b63ede19829c8
tree314042eeddf760c56f3f81bdac8d55eef950bfd7
parentc4135d61bbf5b1b0f8bd88cf5f9dc6d3a13f8830
cmd/internal/obj/arm64: make assembler almost concurrency-safe

CL 39922 made the arm assembler concurrency-safe.
This CL does the same, but for arm64.
The approach is similar: introduce ctxt7 to hold
function-local state and thread it through
the assembler as necessary.

One race remains after this CL, deep in aclass,
in the check that a Prog does not take the address
of a TLS variable.

That race is conceptually unrelated to this refactoring,
and will be addressed in a separate CL.

Passes toolstash-check -all.

Updates #15756

Change-Id: Icab1ef70008468f9a5b8bf728a77c4520bbcb67d
Reviewed-on: https://go-review.googlesource.com/40252
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Cherry Zhang <cherryyz@google.com>
src/cmd/internal/obj/arm64/asm7.go
src/cmd/internal/obj/arm64/obj7.go
src/cmd/internal/obj/link.go