Ensure that ToPositiveInteger is optimizable.

'throw %NAME(..)' cause hydrogen optimizations to be disabled for
surrounding function. This patch rectifies.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add initial auto-roll script.

To be called with a cron job.

TEST=tools/push-to-trunk/auto_roll.py

TODO: Add a revision filter to allow "MIPS" related changes to take over the lkgr.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make HTypeofIsAndBranch accept any representation input

when the input is known unbox number value, eliminate the dynamic check

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix broken pipe caused by commands in toolchain.gypi.

I sometimes observe broken pipe errors when I run gyp, which causes the gyp
process to fail. This seems to happen if gyp is executed under heavy I/O
pressure.

This change removes the pipes by replacing "echo |" with "< /dev/null".
Technically these are not the same, because "echo |" prints a newline while
"< /dev/null" doesn't, but this difference is not significant in the context of
the commands in toolchain.gypi.

BUG=
R=jkummerow@chromium.org

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

Patch from Yuta Kitamura <yutak@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Use mock ArrayBuffer allocator to avoid really allocating 1Gb.

R=jkummerow@chromium.org
BUG=v8:3014
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix data view accessors to throw execptions on offsets bigger than size_t.

R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Fix data view accessors to throw execptions on offsets bigger than size_t."

This reverts commit r17838 for breaking arm build.

TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix data view accessors to throw execptions on offsets bigger than size_t.

R=jkummerow@chromium.org
BUG=v8:3013
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Introduce addps/subps/mulps/divps for IA32/X64

BUG=
R=svenpanne@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix build on arm/x64 after r17840.

TBR=jkummerow@chromium.org
BUG=v8:3013
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Convert PatchCache (and related methods) to use types rather than objects/maps.

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/75413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reapply r11765

Add static_cast<int> in HPositionInfo::position to please Win64 build.

Improvements in positions handling in optimizing compiler.

- When building binary arithmetic op and comparison restore source position of the operation itself before building operation itself after it was changed by building operands. This ensures that position recorded for operation points to the operation token instead of pointing to the rightmost operand;

- Add support for recording operands' positions and use these positions when inserting HChange instructions;

- When generating hydrogen.cfg emit H-instruction position as BCI (previously 0 was emitted), additionally on every lithium instruction emit annotation pointing to corresponding hydrogen-instruction. This allows to easily reach from deopt_id to lithium instruction and from it to hydrogen instruction and source position.

R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Match max property descriptor length to corresponding bit fields.

Port r17823 (b1b8ae0)

BUG=v8:3010
LOG=N
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Make HTypeofIsAndBranch accept any representation input

Port r17834 (cf97fcb6)

Original commit message:
Make HTypeofIsAndBranch accept any representation input
when the input is known unbox number value, eliminate the dynamic check

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Convert PatchCache (and related methods) to use types rather than objects/maps.

Port r17847 (67c371a4)

BUG=
R=plind44@gmail.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: use vstm/vldm when possible.

R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Bugfix: dependent code field in AllocationSite was keeping code objects alive even after context death.

BUG=320532
LOG=Y
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.23.8.

R=danno@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Constant-folding through HForceRepresentation fix.

Reverts changes in HValue::IsInteger32Constant() made in https://code.google.com/p/v8/source/detail?r=17787

R=bmeurer@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Properly initialize desc->origin in the ARM assembler.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@17865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00