New array bounds check elimination pass (focused on induction variables and bitwise operations).

R=titzer@chromium.org

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

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

BUG=
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Setting the thread name may fail, so don't assert that the result is 0.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Drop leftover unused kNoThread in platform-openbsd.cc.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
move 32 bit heap hint on sunos

Setting the V8 heap at or near 0x20000000 on 32bit sunos only allows
512 MB of heap space, instead on sunos move this to 0x80000000.

To quote the comment

For our Solaris/illumos mmap hint, we pick a random address in the bottom
half of the top half of the address space (that is, the third quarter).
Because we do not MAP_FIXED, this will be treated only as a hint -- the
system will not fail to mmap() because something else happens to already
be mapped at our random address. We deliberately set the hint high enough
to get well above the system's break (that is, the heap); Solaris and
illumos will try the hint and if that fails allocate as if there were
no hint at all. The high hint prevents the break from getting hemmed in
at low values, ceding half of the address space to the system heap.

BUG=
R=yangguo@chromium.org

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

Patch from Timothy J. Fontaine <tjfontaine@joyent.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Removed pointer space to pointer space compaction check when migrating objects.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't duplicate ceiling() for every POSIX platform.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't duplicate OS::CpuFeaturesImpliedByPlatform for every POSIX platform.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Drop redundant GetRandomMmapAddr() in platform-openbsd.cc.

TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move representation into HObjectAccess and remove from HLoadNamedField and HStoreNamedField.

BUG=
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Don't duplicate OS::ActivationFrameAlignment() for every POSIX platform.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Adding Smi support to Add, Sub, Mul, and Bitwise

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Ignore external strings in old pointer space migration invariant check.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Remove support for smi-based keyed accesses on 64bit.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Make standalone D8 trace to single hydrogen.cfg file.

R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland "Flush parallel recompilation queues on context dispose notification."

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix JSArray-specific length lookup in polymorphic array handling

BUG=chromium:263276
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ARM: Make double registers low/high safe

This patch prevents taking the low/high part of a double-precision VFP register that has no corresponding single-precision VFP registers.

BUG=none
TEST=Added to test-disasm-arm.cc, test-assembler-arm.cc

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Put object templates of the i18n extension on the heap object.

Using function local statics doesn't work, as we need the templates per
isolate.

I'm not #ifdef'ing the definitions out, because kEmptyStringRootIndex
changes depending on whether the two additional slots are present or
not.

BUG=v8:2745
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@15888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Migrate more tests from blink repository.

The stand-alone test driver is changed a bit:
- Don't use the errorMessage list. It is used differently in the embedded driver. There it collects parser errors - instead of failure messages.
- Remove html links in description texts. Some test descriptions print a web reference.

The migrated tests fall into 3 categories:
1. Tests outside fast/js
2. Tests that print FAIL messages (and also expect those) - these tests should be examined later if they make sense at all
3. Tests with html links in the test description

R=jkummerow@chromium.org

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

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