Revert "Remove deprecated ShouldSelfOptimize machinery."

This reverts commit 9da92c1a336e because of performance regressions.

R=danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25467}
harmony-scoping: Disallow cross-script assignment to const

R=rossberg@chromium.org
BUG=v8:2198
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25468}
Enable inobject double fields unboxing for 64-bit archs.

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

Cr-Commit-Position: refs/heads/master@{#25469}
Revert of Enable inobject double fields unboxing for 64-bit archs. (patchset #3 id:40001 of https://codereview.chromium.org/753503002/)

Reason for revert:
GCMole and gc-stress issues.

Original issue's description:
> Enable inobject double fields unboxing for 64-bit archs.

TBR=verwaest@chromium.org
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#25470}
remove some isolate::currents from api.cc

R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25471}
Fix alignment of Code::kConstantPoolOffset.

This is needed for 64bit alignment sensitive platforms (PowerPC)
Exposed bugs with new GC compare and swap changes updating the
field.

Example failing test:
out/ppc64.debug/cctest  test-decls/ExistsInPrototype

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25472}
don't use to-be-deprecated Value::To* without isolate parameter

R=svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25473}
Added test cases for truncating stores.

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

Cr-Commit-Position: refs/heads/master@{#25474}
[turbofan] Recognize sign extension of 8-bit and 16-bit values on arm64.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25475}
Fix RegExp.source for uncompiled regexp.

R=jkummerow@chromium.org
BUG=435825
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25476}
[turbofan] Dump graph in RPO order as text.

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#25477}
Don't verify evacuation when it is not completed.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#25478}
[turbofan] Combine Word32And with Int32Add and negative power of two.

TEST=unittests
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25479}
The file snapshot_blob_host.bin was supposed to be generated when building the host toolset. However, the file snapshot_blob.bin was being generated instead, under every set of conditions.

Because of this, every time we build the host toolset, snapshot_blob_host.bin is not found. This causes the target (v8_external_snapshot) that generates such file to be run. This target generates snapshot_blob.bin instead of snapshot_blob_host.bin. This in turn causes all the targets that depend on snapshot_blob.bin to run again.

After this, we still don't have snapshot_blob_host.bin. So the next time we build, the whole process described above happens again.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25480}
Ensure external snapshot is only set once.

BUG=421063

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

Cr-Commit-Position: refs/heads/master@{#25481}
Reland of "TransitionArray::Search() now returns insertion index if the entry was not found."

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

Cr-Commit-Position: refs/heads/master@{#25482}
Reland of "Enable inobject double fields unboxing for 64-bit archs."

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

Cr-Commit-Position: refs/heads/master@{#25483}
Dictionary-mode PropertyDetails printing fixed.

BUG=chromium:435974
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25484}
Make use of post-scoping information to compute feedback vector requirements.

This avoids allocating vector ic slots that we don't use.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#25485}
Correctly find shared function info for debugging when compiling eagerly.

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

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

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