Convert `obj` ToObject in Object.keys()

BUG=v8:3587
LOG=Y
R=arv@chromium.org, dslomov@chromium.org

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

Patch from Caitlin Potter <caitpotter88@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Move string-related runtime functions into separate files.

R=bmeurer@chromium.org

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

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

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] basic block profiler

R=titzer@chromium.org, mstarzinger@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "Convert `obj` ToObject in Object.keys()"

This reverts commit r24260 for breaking test262 tests.

TBR=arv@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
build fix - add missing inl include
TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Do not serialize non-lazy compiled function literals.

... and some small refactorings.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] add new x64 addressing modes

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

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Stores and compound assignments for named super properties.

R=ishell@chromium.org, arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ArrayConcat regression recover after r20312 (appeared on dromaeo benchmarks).

BUG=chromium:358561
LOG=N
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] add some simplifications in the machine operator reducer

Simplify the '+', '-' and '%' operators with some basic constants (0, 1 or NaN).

R=titzer@chromium.org, bmeurer@chromium.org, titzer@google.com

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
X87:  fix the Sqrt issue.

   The test mjsunit/regress/regress-sqrt compares the result of Math.sqrt function
   when using full-compiler and crankshaft compiler seperately. But according to
   glibc bug fixing(https://sourceware.org/bugzilla/show_bug.cgi?id=14032). The
   glibc implementation of std::sqrt() (It is invoked in the generated code when
   full-compiler is used.) will change since glibc 2.19.

   In order to keep consistence of Math.sqrt translation in crankshaft compiler
   and the pass of mjsunit/regress/regress-sqrt. we translate the Math.sqrt func
   by calling the runtime function.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
fix win compilation after r24267

TBR=marja@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Access checks test for stores to 'super'.

R=dcarney@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Split more runtime functions into seperate files.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix initialization of assert scopes.

The thread local key for assert scopes can be lazily initialized and
should be independent of the Isolate initialization. Also cleanup the
assert-scope.{cc,h} implementation while I was at it.

R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] ARM64 support for multiply-accumulate

Add instruction selectors for multiply-accumulate, multiply-subtract and negated
multiply operations.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[turbofan] add new ia32 addressing modes

R=bmeurer@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.

R=ulan@chromium.org, yangguo@chromium.org, wingo, yangguo

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
add missing inl includes

TBR=marja@chromium.org

BUG=

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

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