X87: Use shared function info for eval cache key.

port r24927.

original commit message:

 Use shared function info for eval cache key.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

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

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
X87: Classes: Add basic support for properties.

commit r24934.

original commit message:

  This adds the properties to the prototype and the constructor.

BUG=
R=weiliang.lin@intel.com

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
In PrepareForBreakPoints, also purge shared function info not referenced by functions.

R=ulan@chromium.org
BUG=chromium:424142
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "X87: Classes: Add basic support for properties."

This reverts r24964.

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "In PrepareForBreakPoints, also purge shared function info not referenced by functions."

This reverts commit r24964.

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland "X87: Classes: Add basic support for properties."

TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Switch scheduler to iterative floating control placement.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add performance tests for Map/Set with String and Object keys

The big change here is to split out each key type into its own
benchmark suite, since optimizations for different key types
are likely to be disjoint. ForEach tests have also been split
into separate "Iteration" suites, again with the thought that
iteration performance is likely separable from key type.

As part of adding the new tests, rejiggered the existing tests:
  - Map.set and Set.add (along with their Weak variants) no longer
    include construction costs in their scores
  - Moved key logic into the shared common.js

R=arv@chromium.org, machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Reland "In PrepareForBreakPoints, also purge shared function info not referenced by functions."

BUG=chromium:424142
LOG=N
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Eager compile for debugging when debug is active.

Scenario:
On reload, Devtools restores previously set break points. At this point,
since Devtools is already opened, all code is compiled with debug break
slots. No break points exist yet, so we would lazily compile inner
functions, even ones that cannot be compiled lazily without a context.
So when we use Debug::FindSharedFunctionInfoInScript to find the break
positions, those lazily compiled functions are skipped.

By eagerly compiling when debug is active, we make sure that whenever
Devtools is open, functions that cannot be compiled lazily without a
context are always compiled with its outer function.

R=ulan@chromium.org
BUG=chromium:424142
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Various cleanup/simplification in object-observe.js

The biggest change is the removal of the map wrapper objects: we now operate
directly on the observation weak map, since there are already Get/GetOrCreate/Set
functions for each info map. Various other small cleanups as well, including the
deletion of unnecessary forwarding functions and making use of standard macros.

R=arv@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
allow disabling of ArrayBuffer neutering

BUG=
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[arm64] Turn Word64And into tst instruction when possible.

Also add corresponding unit tests.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
harmony-scoping: Correct dynamic lookups on a top level.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Classes: Add super support in methods and accessors

This is done by installing the [[HomeObject]] on the method and the
accessor functions.

BUG=v8:3330
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Various cleanup/simplification in object-observe.js"

It broke the context snapshot by trying to get ahold of the
per-isolate observation_state object too early.

This reverts commit a137cb74fb8f89fabcb0396bebb0bdf248c4b0ae.

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] cleanup register allocator interface a little

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
MIPS: Classes: Add super support in methods and accessors.

Port r24976 (5cb743f)

Original commit message:
This is done by installing the [[HomeObject]] on the method and the
accessor functions.

BUG=v8:3330
LOG=Y
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] Introduce new Select operator to improve bounds checking.

TEST=mjsunit,unittests
R=dcarney@chromium.org

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

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