Refactor how embedded pointers are visited.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 12 Oct 2011 15:43:41 +0000 (15:43 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 12 Oct 2011 15:43:41 +0000 (15:43 +0000)
commit1da890af547a8d9217a8286b42abfc6e2ea23b34
treef38e2177a9b2be599bc4d8f35e59b51011ab0a37
parentd32c330ecf22cabb5b3bb167e6dd5acaf921031c
Refactor how embedded pointers are visited.

This refactoring (almost) gets rid of the requirement to get the target
object address for an object pointer embedded in code objects. This is
not possible on MIPS as pointers are encoded using two instructions. All
usages of RelocInfo::target_object_address() are (almost) obsoleted by
this change. The serializer still uses it, so MIPS will not yet work
with snapshots turned on.

R=danno@chromium.org,vegorov@chromium.org

Review URL: http://codereview.chromium.org/8245007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/assembler-arm-inl.h
src/assembler.h
src/ia32/assembler-ia32-inl.h
src/incremental-marking.cc
src/mark-compact.cc
src/mark-compact.h
src/objects.cc
src/objects.h
src/x64/assembler-x64-inl.h