diff options
author | Austin Clements <austin@google.com> | 2014-11-19 14:24:41 -0500 |
---|---|---|
committer | Austin Clements <austin@google.com> | 2014-11-19 14:24:41 -0500 |
commit | 9a7a6cdead943e05114d54daf86b075397a32029 (patch) | |
tree | f604bb2ae79f95e49b7367cb2e52843f850df850 /src/runtime/race1.go | |
parent | c2f443bf7b05a302c662c52a77dc8111471ff65c (diff) | |
download | go-9a7a6cdead943e05114d54daf86b075397a32029.tar.gz |
[dev.cc] runtime: decode power64 branch instructions the way the CPU does
Previously, this used the top 8 bits of an instruction as a
sort-of opcode and ignored the top two bits of the relative
PC. This worked because these jumps are always negative and
never big enough for the top two bits of the relative PC (also
the bottom 2 bits of the sort-of opcode) to be anything other
than 0b11, but the code is confusing because it doesn't match
the actual structure of the instruction.
Instead, use the real 6 bit opcode and use all 24 bits of
relative PC.
LGTM=rsc
R=rsc, dave
CC=golang-codereviews
https://codereview.appspot.com/179960043
Diffstat (limited to 'src/runtime/race1.go')
0 files changed, 0 insertions, 0 deletions