Add support for adding an external and a tagged pointer
authorjochen <jochen@chromium.org>
Mon, 20 Jul 2015 15:17:53 +0000 (08:17 -0700)
committerCommit bot <commit-bot@chromium.org>
Mon, 20 Jul 2015 15:18:00 +0000 (15:18 +0000)
commit4e263bc581081c1fa925554943693f3e386fc815
tree8388e7534449ca4e8af364e6aded230066ebacc1
parentdf2d1ef979bfb11e7001b238aecadb88791bc8d9
Add support for adding an external and a tagged pointer

This will be used to compute the base pointer of the new unified
representation for both on-heap and external typed arrays. The idea is
that either the external or the tagged pointer is 0 (although in
practice, if the tagged pointer is non-0, the external pointer will
contain the offset from the start of the on-heap typed array to the data
in the on-heap typed array).

The HAdd is marked as depending on new-space promotion, as the tagged
pointer might move during GC, and so the result of the addition needs to
be recomputed.

BUG=v8:3996
R=jarin@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#29760}
src/arm/lithium-arm.cc
src/arm64/lithium-arm64.cc
src/hydrogen-instructions.cc
src/hydrogen-instructions.h
src/ia32/lithium-ia32.cc
src/mips/lithium-mips.cc
src/mips64/lithium-mips64.cc
src/ppc/lithium-ppc.cc
src/x64/lithium-x64.cc
src/x87/lithium-x87.cc