Use kRegisterSize when passing arguments to the C++ runtime for X64

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Replace movq with movp for X64 when the operand size is kPointerSize

R=verwaest@chromium.org

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

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

Currently there are two kinds of "vtables" used in the load/store stub
compilers: kind() and C++'s own vtables. This is a bit confusing, and
this is a step towards simplifying things.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Prepare push to trunk.  Now working on version 3.24.20.

R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
We no longer need to recover type cells from the oracle.

We only need the values within them. Function calls to Array from optimized code needed the cell in the past, but no longer.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
String:WriteUtf8: Add REPLACE_INVALID_UTF8 option

This patch makes String::WriteUtf8 replace invalid code points (i.e. unmatched
surrogates) with the unicode replacement character when REPLACE_INVALID_UTF8 is
set.  This is done to avoid creating invalid UTF-8 output which can lead to
compatibility issues with software requiring valid UTF-8 inputs (e.g. the
WebSocket protocol requires valid UTF-8 and terminates connections when invalid
UTF-8 is encountered).

R=dcarney@chromium.org

BUG=

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

Patch from Felix Geisendörfer <haimuiba@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
ES6: Implement Object.setPrototypeOf

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof

This just exposes the internal %SetPrototype and adds all the required
type checks as specified.

BUG=v8:2675
LOG=Y
R=dslomov@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Revert "ES6: Implement Object.setPrototypeOf"

This reverts commit r18685 for breaking WebKit tests.

TBR=arv@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
DoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it

This previous change broke DoubleToIStub on armv6:
https://code.google.com/p/v8/source/detail?r=16322

The problem is that DoubleToIStub::Generate assumed that it could safely use the ip register, but on armv6 the ubfx implementation will clobber any previous value stored there.  So instead, pick another register.

Test case:
for (var i=0; i<2; i++) {
	v = 4294967295;
	v &= -2;
	print(v)
	}

This should print -2 twice, but on armv6 without this patch, it prints -2 followed by 2046.

This problem causes sunspider's bitops-nsieve-bit, crypto-md5 and crypto-sha1 tests to generate incorrect results (but the results are not checked for validity in sunspider-1.0 as available in chromium, but are checked and reported as incorrect in sunspider-1.0.2).

Thanks to Tomasz Kilarski for helping out with this.

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

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Explicitly initialize MarkCompactCollector and ExternalStringTable

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Enable incremental marking when --expose-gc is turned on.

BUG=
R=mstarzinger@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Update Isolate::RequestGarbageCollection after r18691

BUG=none
R=hpayer@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Turn ArrayPush into a stub specialized on the elements kind and argc.

BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Fix representation requirement in HReturn.

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
[Sheriff] Temporarily mark two mjsunit tests as flaky.

The tests are blocking the v8 lkgr. They will be unmarked again after there is infrastructure to disable them on GC stress only.

TBR=mvstanton@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@18698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Merge remote-tracking branch 'upstream/bleeding_edge' into bleeding_edge