MIPS64: Fix hidden bug in relocations for j and jal.
authordusan.milosavljevic <dusan.milosavljevic@imgtec.com>
Sat, 1 Aug 2015 17:04:28 +0000 (10:04 -0700)
committerPaul Lind <paul.lind@imgtec.com>
Sat, 1 Aug 2015 17:04:48 +0000 (17:04 +0000)
commit38501327599ae6ac7c255205c61c00aeed09da13
treeafd2833c0331e0f7987ed727f39fdb3adb617ea4
parente6e3c6a840035588811f0a208cbe6f9c0f3d53cc
MIPS64: Fix hidden bug in relocations for j and jal.

Introduce new mechanism for relocating j/jal.

Resolves flaky failures of mozilla regress tests.

Additionally:

- internal encoded references are not relocated during code generation phase.
- remove asserts from j and jal which are not
valid because addresses are not final and valid in code generation phase.

TEST=mozilla/js1_5/Regress/regress-280769-2, regress-367561-01,
     mozilla/ecma_3/Statements/regress-444979
BUG=
R=paul.lind@imgtec.com

Review URL: https://codereview.chromium.org/1216823003 .

Patch from dusan.milosavljevic <dusan.milosavljevic@imgtec.com>.

Cr-Commit-Position: refs/heads/master@{#29962}
src/mips/assembler-mips.cc
src/mips64/assembler-mips64.cc
src/mips64/assembler-mips64.h
src/mips64/constants-mips64.h
src/mips64/macro-assembler-mips64.cc