[turbofan] remove redundant '& 0x1F' for shifts.

JavaScript shifts perform an implicit '& 0x1F' on their right operand, this
patch removes it when the underlying architecture already does it.

BUG=
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25438}
[turbofan]: More optimizations to add and subtract operations on x64

- Use "leal" for subtraction of integer constant when non-constant input to
  subtract is used more than once.
- Use "incl", "decl", and "addl" when they are smaller/cheaper than their
  leal/addl/subl equivalant.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25439}
[turbofan] More aggressive reuse of spill slots in the register allocator.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25440}
Reserve code range block for evacuation.

If we run out of code range, then GC wouldn't be able to compact code space,
because it wouldn't be able to allocate a new page. This can cause code space
fragmentation and OOM crashes.

BUG=chromium:430118
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25441}
Fix Regress3540 after r25441.

BUG=
TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25442}
[turbofan] use double temp registers for stack-stack swap on arm64

TBR=vogelheim@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25443}
When optimizing deserialized code, make sure IC state is preserved.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25444}
Remove superflous SharedFunctionInfo::uses_super call.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25445}
[turbofan] Clean up and factor out branch generation logic.

R=dcarney@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25446}
Do not bailout from optimizing functions that use f(x, arguments)
if there is not enough type-feedback to detect that f is Function.prototype.apply.

BUG=v8:3709
LOG=N
TEST=mjsunit/regress/regress-3709

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

Cr-Commit-Position: refs/heads/master@{#25447}
Rename String.prototype.contains to 'includes'.

Per TC39 Nov 2014 decison.

R=arv@chromium.org,yangguo@chromium.org
LOG=Y

Committed: https://chromium.googlesource.com/v8/v8/+/b5379216e23ff0ec734e70361dd07057c2421c96

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

Cr-Commit-Position: refs/heads/master@{#25448}
Do not put D8 and TEST natives into the external snapshot.

D8 natives, in particular, will cause Windows static builds to not link due to another definition in the generated file d8-js.cc.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25449}
Cache template literal callSiteObj

BUG=v8:3230
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#25450}
MIPS: [turbofan] Clean up and factor out branch generation logic.

Port aed26c05a50b2a1257ef8accc67143825f2e1f60

BUG=
R=paul.lind@imgtec.com

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

Cr-Commit-Position: refs/heads/master@{#25451}
Fix the compilation issue for turbofan unsupported backend which
is introduced by https://chromium.googlesource.com/v8/v8/+/aed26c05a50b2a1257ef8accc67143825f2e1f60.
( [turbofan] Clean up and factor out branch generation logic.)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25452}
dump compiler stats from d8 on direct exit from js

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25453}
[turbofan] Avoid useless zero-extension on arm64.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25454}
Fix for 435073: CHECK failure in CHECK(p->IsSmi()) failed.

The bug was an error when copying arrays in crankshaft. If it's a holey smi
array, the copy must be done as FAST_HOLEY_ELEMENTS to prevent representation
changes from being inserted that deopt on encountering the hole.

Also, prevent inlining array pop() and shift() if the length is read-only.

BUG=435073
LOG=N
R=verwaest@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25455}
Assert to protect against polymorphic string loads fires on valid stores.

BUG=435477
LOG=N
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25456}
Correctly escape RegExp source.

R=ulan@chromium.org
BUG=v8:3229
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25457}