Make NextCodeLink pointer 8-byte aligned after GC pointer updating uses atomics.
authordusan.milosavljevic@imgtec.com <dusan.milosavljevic@imgtec.com>
Mon, 27 Oct 2014 18:24:05 +0000 (18:24 +0000)
committerdusan.milosavljevic@imgtec.com <dusan.milosavljevic@imgtec.com>
Mon, 27 Oct 2014 18:24:39 +0000 (18:24 +0000)
commit05effbaadfd4d61aa534d141fb9212950721d2cd
tree60dcc92bfdff06387c4b106c78994c8e25bc5ed1
parent3a26fc111b567dd5fbb5775bdf21565f67556535
Make NextCodeLink pointer 8-byte aligned after GC pointer updating uses atomics.

After r24737 pointer updating is done by atomic operations which strictly
require target address to be 8-byte alignment on MIPS64.

The alignment is broken on 64-bit arches because InstructionSize is first field
and has Int size.

Order of fields in object layout are changed to make kNextCodeLinkOffset
divisible by 8. The size of code object header remains the same.

TEST=cctest/test-debug/* on MIPS64
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#24914}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/mips64/builtins-mips64.cc
src/mips64/macro-assembler-mips64.cc
src/objects.h