platform/upstream/v8.git
10 years agoRemove dead FixedSpace class from the spaces hierarchy.
mstarzinger@chromium.org [Tue, 12 Nov 2013 16:36:14 +0000 (16:36 +0000)]
Remove dead FixedSpace class from the spaces hierarchy.

R=verwaest@chromium.org

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

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

10 years agoMIPS: Add initial hydrogenized NewStringAddStub.
plind44@gmail.com [Tue, 12 Nov 2013 16:24:13 +0000 (16:24 +0000)]
MIPS: Add initial hydrogenized NewStringAddStub.

Port r17635 (14180b1)

Original commit message:
The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.

BUG=v8:2990
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

10 years agoFix implementation of compare-minus-zero-and-branch on ia32 and x64.
yangguo@chromium.org [Tue, 12 Nov 2013 15:11:06 +0000 (15:11 +0000)]
Fix implementation of compare-minus-zero-and-branch on ia32 and x64.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoReland "Implement Math.sin, cos and tan using table lookup and spline interpolation."
yangguo@chromium.org [Tue, 12 Nov 2013 14:43:18 +0000 (14:43 +0000)]
Reland "Implement Math.sin, cos and tan using table lookup and spline interpolation."

This relands r17594 with necessary fixes.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoUse %_IsMinusZero where applicable to replace hackery.
yangguo@chromium.org [Tue, 12 Nov 2013 14:20:53 +0000 (14:20 +0000)]
Use %_IsMinusZero where applicable to replace hackery.

R=jarin@chromium.org
BUG=

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

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

10 years agoRemove dead Space::ReserveSpace implementations.
mstarzinger@chromium.org [Tue, 12 Nov 2013 14:15:29 +0000 (14:15 +0000)]
Remove dead Space::ReserveSpace implementations.

R=ishell@chromium.org

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

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

10 years agoAdd more test coverage to push-to-trunk script.
machenbach@chromium.org [Tue, 12 Nov 2013 13:11:15 +0000 (13:11 +0000)]
Add more test coverage to push-to-trunk script.

Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.

BUG=
R=jkummerow@chromium.org

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

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

10 years agoCLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.
bmeurer@chromium.org [Tue, 12 Nov 2013 12:30:59 +0000 (12:30 +0000)]
CLOCK_REALTIME is 0 on Linux, use -1 for invalid clock id.

TBR=svenpanne@chromium.org

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

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

10 years ago[Sheriff] Mark flaky test on windows.
machenbach@chromium.org [Tue, 12 Nov 2013 12:28:48 +0000 (12:28 +0000)]
[Sheriff] Mark flaky test on windows.

BUG=v8:2999
TBR=yangguo@chromium.org

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

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

10 years agolinux: use CLOCK_{REALTIME,MONOTONIC}_COARSE
bmeurer@chromium.org [Tue, 12 Nov 2013 12:18:35 +0000 (12:18 +0000)]
linux: use CLOCK_{REALTIME,MONOTONIC}_COARSE

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

10 years agoFix compilation with GCC 4.8
jkummerow@chromium.org [Tue, 12 Nov 2013 12:09:38 +0000 (12:09 +0000)]
Fix compilation with GCC 4.8

BUG=v8:2767,v8:2149
R=bmeurer@chromium.org

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

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

10 years agoIntroduce %_IsMinusZero.
yangguo@chromium.org [Tue, 12 Nov 2013 11:53:13 +0000 (11:53 +0000)]
Introduce %_IsMinusZero.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoAdd explicit Isolate parameter to External::New
jochen@chromium.org [Tue, 12 Nov 2013 11:44:58 +0000 (11:44 +0000)]
Add explicit Isolate parameter to External::New

We can't deprecate the non-Isolate version yet but soon will.

R=svenpanne@chromium.org, svenpanne@google.com
BUG=266838

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

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

10 years ago[Sheriff] Skip failing test on nacl.
machenbach@chromium.org [Tue, 12 Nov 2013 11:36:20 +0000 (11:36 +0000)]
[Sheriff] Skip failing test on nacl.

TBR=danno@chromium.org
BUG=v8:2998

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

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

10 years agoAdd initial hydrogenized NewStringAddStub.
bmeurer@chromium.org [Tue, 12 Nov 2013 10:21:08 +0000 (10:21 +0000)]
Add initial hydrogenized NewStringAddStub.

The new stub is enabled via the --new-string-add flag, which is
disabled by default. For now, it's only a stripped down version
of the native StringAddStub, it's still work-in-progress.

BUG=v8:2990
R=mvstanton@chromium.org

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

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

10 years agoRefine CopyBytes macro instruction in IA32/X64
svenpanne@chromium.org [Tue, 12 Nov 2013 09:08:51 +0000 (09:08 +0000)]
Refine CopyBytes macro instruction in IA32/X64

Use DWORD/QWORD copy for more short cases

BUG=
R=svenpanne@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

10 years agoPrepare push to trunk. Now working on version 3.23.3.
machenbach@chromium.org [Tue, 12 Nov 2013 09:03:08 +0000 (09:03 +0000)]
Prepare push to trunk.  Now working on version 3.23.3.

R=jkummerow@chromium.org
BUG=

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

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

10 years agoHave mercy and don't kill the Context::Scope immediately after birth.
svenpanne@chromium.org [Tue, 12 Nov 2013 07:03:59 +0000 (07:03 +0000)]
Have mercy and don't kill the Context::Scope immediately after birth.

BUG=v8::2994
R=dcarney@chromium.org

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

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

10 years agoSimplify current inline allocation tracking mechanism.
mstarzinger@chromium.org [Mon, 11 Nov 2013 18:00:52 +0000 (18:00 +0000)]
Simplify current inline allocation tracking mechanism.

R=yurys@chromium.org

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

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

10 years agoMove old-space allocation tracking into Heap::AllocateRaw.
mstarzinger@chromium.org [Mon, 11 Nov 2013 17:46:08 +0000 (17:46 +0000)]
Move old-space allocation tracking into Heap::AllocateRaw.

R=yurys@chromium.org

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

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

10 years agoFix invalid reuse of weak global handle in GetScriptWrapper.
mstarzinger@chromium.org [Mon, 11 Nov 2013 16:27:36 +0000 (16:27 +0000)]
Fix invalid reuse of weak global handle in GetScriptWrapper.

This fixes a direct usage of a weak global handle in GetScriptWrapper
that just casted it to a strong local handle, while a subsequent GC
might clear it. Handlepocalypse anyone?

R=machenbach@chromium.org
BUG=v8:2988
TEST=mjsunit/regress/regress-2988

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

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

10 years agoFix potential assertion failure.
yangguo@chromium.org [Mon, 11 Nov 2013 15:28:47 +0000 (15:28 +0000)]
Fix potential assertion failure.

R=mvstanton@chromium.org
BUG=

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

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

10 years agoFix potential assertion failure in ConvertCase.
yangguo@chromium.org [Mon, 11 Nov 2013 14:51:56 +0000 (14:51 +0000)]
Fix potential assertion failure in ConvertCase.

IsOneByteRepresentationUnderneath requires the string to be flat, which is not
guaranteed in this case.  Using IsOneByteRepresentation is sufficient here.

R=mvstanton@chromium.org
BUG=

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

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

11 years agoTame mjsunit/fast-literal after fixing allocations.
mstarzinger@chromium.org [Mon, 11 Nov 2013 10:22:46 +0000 (10:22 +0000)]
Tame mjsunit/fast-literal after fixing allocations.

Not that allocations go through Heap::AllocateRaw and actually respect
the allocation timeout, the runtime of this test spiked. This adjusts
the limit to sane values now that the values are actually respected.

R=mvstanton@chromium.org
TEST=mjsunit/fast-literal

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

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

11 years agoRevert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."
bmeurer@chromium.org [Mon, 11 Nov 2013 08:46:45 +0000 (08:46 +0000)]
Revert "Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available."

This reverts commit r17611 for breaking the host toolchain build
for Android (missing clock_gettime() and clock_getres() functions).

TBR=ulan@chromium.org

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

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

11 years agoRemove unused ParserMessage class.
bmeurer@chromium.org [Mon, 11 Nov 2013 08:07:37 +0000 (08:07 +0000)]
Remove unused ParserMessage class.

R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

11 years agoUse CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.
bmeurer@chromium.org [Mon, 11 Nov 2013 07:49:18 +0000 (07:49 +0000)]
Use CLOCK_MONOTONIC_COARSE and CLOCK_REALTIME_COARSE on Linux if available.

R=bmeurer@chromium.org

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

Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

11 years agoSet at least PTHREAD_STACK_MIN stack size when creating threads.
palfia@homejinni.com [Sat, 9 Nov 2013 00:14:21 +0000 (00:14 +0000)]
Set at least PTHREAD_STACK_MIN stack size when creating threads.

This patch makes sure, that the stack size of the new threads are never
less than PTHREAD_STACK_MIN, otherwise the pthread_attr_setstacksize()
function sets the default stack size (8MB), which leads to failure
in the BootUpMemoryUse test.

TEST=cctest/test-mark-compact/BootUpMemoryUse
BUG=
R=yangguo@chromium.org

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

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

11 years agoMIPS: Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft.
plind44@gmail.com [Fri, 8 Nov 2013 19:35:37 +0000 (19:35 +0000)]
MIPS: Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft.

Port r17606 (bc5ef55)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoRevert "Reland [Object.observe] Don't force normalization of elements for observed...
rafaelw@chromium.org [Fri, 8 Nov 2013 19:33:05 +0000 (19:33 +0000)]
Revert "Reland [Object.observe] Don't force normalization of elements for observed objects"

TBR=danno
BUG=

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

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

11 years agoReland [Object.observe] Don't force normalization of elements for observed objects
rafaelw@chromium.org [Fri, 8 Nov 2013 19:12:43 +0000 (19:12 +0000)]
Reland [Object.observe] Don't force normalization of elements for observed objects

Original Issue: https://codereview.chromium.org/29353003/

TBR=danno
BUG=v8:2946

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

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

11 years agoReland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft
danno@chromium.org [Fri, 8 Nov 2013 17:35:58 +0000 (17:35 +0000)]
Reland 17588: Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft

R=ulan@chromium.org

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

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

11 years agoMove new-space allocation tracking into Heap::AllocateRaw.
mstarzinger@chromium.org [Fri, 8 Nov 2013 17:23:25 +0000 (17:23 +0000)]
Move new-space allocation tracking into Heap::AllocateRaw.

R=yurys@chromium.org

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

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

11 years ago[Sheriff] Mark flaky webkit tests.
machenbach@chromium.org [Fri, 8 Nov 2013 17:14:54 +0000 (17:14 +0000)]
[Sheriff] Mark flaky webkit tests.

BUG=v8:2989
R=jkummerow@chromium.org

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

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

11 years agoMake runtime new-space allocations go through Heap::AllocateRaw.
mstarzinger@chromium.org [Fri, 8 Nov 2013 17:09:14 +0000 (17:09 +0000)]
Make runtime new-space allocations go through Heap::AllocateRaw.

R=ulan@chromium.org, ishell@chromium.org

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

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

11 years agoRevert "[Object.observe] Don't force normalization of elements for observed objects"
rafaelw@chromium.org [Fri, 8 Nov 2013 15:36:22 +0000 (15:36 +0000)]
Revert "[Object.observe] Don't force normalization of elements for observed objects"

Broke ARM build

TBR=danno
BUG=

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

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

11 years ago[Object.observe] Don't force normalization of elements for observed objects
rafaelw@chromium.org [Fri, 8 Nov 2013 14:55:13 +0000 (14:55 +0000)]
[Object.observe] Don't force normalization of elements for observed objects

BUG=v8:2946
R=danno@chromium.org

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

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

11 years agoAdd push-to-trunk python port.
machenbach@chromium.org [Fri, 8 Nov 2013 14:27:16 +0000 (14:27 +0000)]
Add push-to-trunk python port.

Preliminary version.

TODO: Add wrapper script in tools dir.
TODO: Some refactoring.

R=jkummerow@chromium.org

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

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

11 years agoDo not add values to HGraph in Lithium.
ulan@chromium.org [Fri, 8 Nov 2013 14:16:34 +0000 (14:16 +0000)]
Do not add values to HGraph in Lithium.

Lithium uses indexes after the maximium value ID in the HGraph as indexes
of virtual registers and assumes that the maximum value ID does not change.

The IsStandardConstant and GetConstantXX functions could add constants to
HGraph, which aliased virtual registers with real values. This could confuse
the register allocator to think that a value in a virtual register is tagged
and to incorrectly set it in the pointer map.

BUG=298269
TEST=mjsunit/regress/regress-298269.js
R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/66693002

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

11 years agoRevert "Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft"
verwaest@chromium.org [Fri, 8 Nov 2013 13:54:34 +0000 (13:54 +0000)]
Revert "Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft"
Revert "Fix ARM build"
Revert "Fix ARM build (again)"

TBR=danno@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/66553004

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

11 years agoRevert "Implement Math.sin, cos and tan using table lookup and spline interpolation."
yangguo@chromium.org [Fri, 8 Nov 2013 13:44:27 +0000 (13:44 +0000)]
Revert "Implement Math.sin, cos and tan using table lookup and spline interpolation."

This reverts commit r17594.

BUG=
R=verwaest@chromium.org

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

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

11 years agoImplement Math.sin, cos and tan using table lookup and spline interpolation.
yangguo@chromium.org [Fri, 8 Nov 2013 13:10:39 +0000 (13:10 +0000)]
Implement Math.sin, cos and tan using table lookup and spline interpolation.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoFix ARM build (again)
danno@chromium.org [Fri, 8 Nov 2013 12:41:02 +0000 (12:41 +0000)]
Fix ARM build (again)

R=yangguo@chromium.org
TBR=yangguo@chromium.org

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

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

11 years agoFix ARM build
danno@chromium.org [Fri, 8 Nov 2013 12:23:48 +0000 (12:23 +0000)]
Fix ARM build

TBR=yangguo@chromium.org

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

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

11 years agoAdd signed/unsigned 8-bit and 16-bit Representations to Crankshaft
danno@chromium.org [Fri, 8 Nov 2013 11:50:23 +0000 (11:50 +0000)]
Add signed/unsigned 8-bit and 16-bit Representations to Crankshaft

R=yangguo@chromium.org

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

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

11 years agoFix error message wording when instanceof throws.
yangguo@chromium.org [Fri, 8 Nov 2013 11:45:56 +0000 (11:45 +0000)]
Fix error message wording when instanceof throws.

R=bmeurer@chromium.org
BUG=82797, v8:1593

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

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

11 years agoFixed build.
svenpanne@chromium.org [Fri, 8 Nov 2013 11:20:18 +0000 (11:20 +0000)]
Fixed build.

TBR=bmeurer@chromium.org

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

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

11 years agoUse register allocator for context on x64.
yangguo@chromium.org [Fri, 8 Nov 2013 10:58:51 +0000 (10:58 +0000)]
Use register allocator for context on x64.

BUG=
R=mvstanton@chromium.org

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

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

11 years agoRemoved dead function V8::FillHeapNumberWithRandom.
svenpanne@chromium.org [Fri, 8 Nov 2013 10:55:01 +0000 (10:55 +0000)]
Removed dead function V8::FillHeapNumberWithRandom.

Removed a useless test case along the way.

R=bmeurer@chromium.org

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

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

11 years agoUse nearlabel AFAP in lithium codegen
jkummerow@chromium.org [Fri, 8 Nov 2013 10:52:07 +0000 (10:52 +0000)]
Use nearlabel AFAP in lithium codegen

BUG=
R=jkummerow@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.23.2.
machenbach@chromium.org [Fri, 8 Nov 2013 09:10:19 +0000 (09:10 +0000)]
Prepare push to trunk.  Now working on version 3.23.2.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRemove unused ValueInfo struct
bmeurer@chromium.org [Fri, 8 Nov 2013 07:45:15 +0000 (07:45 +0000)]
Remove unused ValueInfo struct

BUG=
R=bmeurer@chromium.org

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

Patch from Adrian Perez de Castro <aperez@igalia.com>.

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

11 years agoMIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.
palfia@homejinni.com [Fri, 8 Nov 2013 00:47:34 +0000 (00:47 +0000)]
MIPS: Proper support for deopt_every_n_times option on the x64 and ARM architectures.

Port r17564 (b928ddeb)

BUG=
R=plind44@gmail.com

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

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

11 years agoMIPS: Add new HSeqStringGetChar instruction.
palfia@homejinni.com [Thu, 7 Nov 2013 21:59:45 +0000 (21:59 +0000)]
MIPS: Add new HSeqStringGetChar instruction.

Port r17565 (dce7927c)

Original commit message:
This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=
R=plind44@gmail.com

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

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

11 years agoMIPS: Turn Load/StoreGlobal into a handler.
plind44@gmail.com [Thu, 7 Nov 2013 20:11:18 +0000 (20:11 +0000)]
MIPS: Turn Load/StoreGlobal into a handler.

Port r17550 (3e0015e)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Refine CountOperation of FullCodeGen.
plind44@gmail.com [Thu, 7 Nov 2013 19:28:58 +0000 (19:28 +0000)]
MIPS: Refine CountOperation of FullCodeGen.

Port r17547 (a4b59e4)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoAllow redirecting disassembly and deoptimization traces into a file.
vegorov@chromium.org [Thu, 7 Nov 2013 16:35:27 +0000 (16:35 +0000)]
Allow redirecting disassembly and deoptimization traces into a file.

This is controlled by two flags:

--redirect_code_traces
--redirect_code_traces_to=<filename>

When redirection is enabled but --redirect_code_traces_to is not specified traces are written to a file code-<pid>-<isolate>.asm. This mangling scheme matches hydrogen.cfg and allows easy discovery of compilation artifacts in a multi-V8 environment (e.g. when compilation is traced from inside Chromium).

D8 defines --redirect_code_traces_to=code.asm similar to hydrogen.cfg redirection.

BUG=
R=danno@chromium.org

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

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

11 years agoDisable concurrent osr when concurrent recompilation is disabled.
yangguo@chromium.org [Thu, 7 Nov 2013 16:25:20 +0000 (16:25 +0000)]
Disable concurrent osr when concurrent recompilation is disabled.

Also introduce a flag for a quick check that concurrency is on.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoMake HCapturedObjects non-deletable for DCE.
mstarzinger@chromium.org [Thu, 7 Nov 2013 16:07:19 +0000 (16:07 +0000)]
Make HCapturedObjects non-deletable for DCE.

R=jkummerow@chromium.org
BUG=v8:2987
TEST=mjsunit/regress/regress-2987

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

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

11 years agoSpeed up typed array constructors.
dslomov@chromium.org [Thu, 7 Nov 2013 14:56:40 +0000 (14:56 +0000)]
Speed up typed array constructors.
 - Avoid calls into ToPositiveInteger for valid cases of 'undefined' arguments.
  (Otherwise it calls into runtime).
 - Reduce the checks performed in case offset for TypedArrayFromArrayBuffer
  constructor is called with no offset argument.

R=yangguo@chromium.org

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

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

11 years agoFix clang debug build.
yangguo@chromium.org [Thu, 7 Nov 2013 14:45:17 +0000 (14:45 +0000)]
Fix clang debug build.

BUG=
R=rafaelw@chromium.org

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

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

11 years agoAdd new HSeqStringGetChar instruction.
bmeurer@chromium.org [Thu, 7 Nov 2013 13:43:03 +0000 (13:43 +0000)]
Add new HSeqStringGetChar instruction.

This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=v8:2990
R=svenpanne@chromium.org

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

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

11 years agoProper support for deopt_every_n_times option on the x64 and ARM architectures.
jarin@chromium.org [Thu, 7 Nov 2013 13:09:48 +0000 (13:09 +0000)]
Proper support for deopt_every_n_times option on the x64 and ARM architectures.

R=danno@chromium.org
BUG=

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

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

11 years agoRevert "Add new HSeqStringGetChar instruction."
bmeurer@chromium.org [Thu, 7 Nov 2013 13:03:03 +0000 (13:03 +0000)]
Revert "Add new HSeqStringGetChar instruction."

This reverts commit r17562 for invalid usage of movw to load string
characters. Will reland with fix.

TBR=svenpanne@chromium.org

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

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

11 years agoAdd new HSeqStringGetChar instruction.
bmeurer@chromium.org [Thu, 7 Nov 2013 12:59:35 +0000 (12:59 +0000)]
Add new HSeqStringGetChar instruction.

This instruction is required for copying characters from sequential
strings in the hydrogenized StringAddStub.

BUG=v8:2990
R=svenpanne@chromium.org

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

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

11 years agoHandlify Runtime::SetObjectProperty
rafaelw@chromium.org [Thu, 7 Nov 2013 12:35:57 +0000 (12:35 +0000)]
Handlify Runtime::SetObjectProperty

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoDisable stress-gc for memento-related test.
verwaest@chromium.org [Thu, 7 Nov 2013 12:20:45 +0000 (12:20 +0000)]
Disable stress-gc for memento-related test.

R=mvstanton@chromium.org

Review URL: https://chromiumcodereview.appspot.com/64003004

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

11 years agoDefer allocation of constant literal properties.
mstarzinger@chromium.org [Thu, 7 Nov 2013 12:08:37 +0000 (12:08 +0000)]
Defer allocation of constant literal properties.

This moves building of constant properties and elements arrays for all
materialized literals into the compiler. The parser no longer allocates
while parsing ObjectLiteral and ArrayLiteral expressions.

R=ulan@chromium.org

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

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

11 years agoUse a fixed random seed per default.
svenpanne@chromium.org [Thu, 7 Nov 2013 12:01:26 +0000 (12:01 +0000)]
Use a fixed random seed per default.

To get back the old behavior, use "make randomseed=0 ...".

BUG=v8:1880,v8:2885
R=jkummerow@chromium.org

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

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

11 years agoCleanup stub-cache's obsolete ComputeLoad/Store interface.
verwaest@chromium.org [Thu, 7 Nov 2013 10:52:41 +0000 (10:52 +0000)]
Cleanup stub-cache's obsolete ComputeLoad/Store interface.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/64023003

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

11 years agoRemove DisallowHeapAllocation requirement now that the target() is cached on the IC.
verwaest@chromium.org [Thu, 7 Nov 2013 10:18:56 +0000 (10:18 +0000)]
Remove DisallowHeapAllocation requirement now that the target() is cached on the IC.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/61773004

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

11 years agoTurn Load/StoreGlobal into a handler.
verwaest@chromium.org [Thu, 7 Nov 2013 10:17:13 +0000 (10:17 +0000)]
Turn Load/StoreGlobal into a handler.

BUG=
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/26968004

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

11 years agoRefine CountOperation of FullCodeGen
haitao.feng@intel.com [Thu, 7 Nov 2013 09:34:52 +0000 (09:34 +0000)]
Refine CountOperation of FullCodeGen

R=danno@chromium.org

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

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

11 years agoFix y-umlaut to uppercase.
yangguo@chromium.org [Thu, 7 Nov 2013 09:08:34 +0000 (09:08 +0000)]
Fix y-umlaut to uppercase.

R=dcarney@chromium.org
BUG=v8:2984

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

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

11 years agoRemoved useless getter/setter.
svenpanne@chromium.org [Thu, 7 Nov 2013 08:23:09 +0000 (08:23 +0000)]
Removed useless getter/setter.

R=bmeurer@chromium.org

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

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

11 years agoRefactor loading a pointer and loading an integer64 into a register instructions...
haitao.feng@intel.com [Thu, 7 Nov 2013 08:14:27 +0000 (08:14 +0000)]
Refactor loading a pointer and loading an integer64 into a register instructions for X64

R=danno@chromium.org

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

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

11 years agoRefactored ObjectSerializer::VisitFoo functions.
svenpanne@chromium.org [Thu, 7 Nov 2013 07:37:28 +0000 (07:37 +0000)]
Refactored ObjectSerializer::VisitFoo functions.

Tiny superficial cleanup to make the similarities more visible.
Removed a few useless assertions on the way.

R=bmeurer@chromium.org

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

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

11 years agoFix WIN64 build
svenpanne@chromium.org [Thu, 7 Nov 2013 07:17:57 +0000 (07:17 +0000)]
Fix WIN64 build

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

Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoMove movq(Register, ExternalReference) into X64 MacroAssembler
haitao.feng@intel.com [Thu, 7 Nov 2013 02:08:53 +0000 (02:08 +0000)]
Move movq(Register, ExternalReference) into X64 MacroAssembler

R=danno@chromium.org

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

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

11 years agoMIPS: Improve implementation of HSeqStringSetChar.
plind44@gmail.com [Wed, 6 Nov 2013 23:52:37 +0000 (23:52 +0000)]
MIPS: Improve implementation of HSeqStringSetChar.

Port r17521 (c51c75e)

Original commit message:
This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.

A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).

Also improves the test case.

TEST=mjsunit/string-natives
BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Correct handling of arrays with callbacks in the prototype chain.
plind44@gmail.com [Wed, 6 Nov 2013 21:22:41 +0000 (21:22 +0000)]
MIPS: Correct handling of arrays with callbacks in the prototype chain.

Port r17525 (55b95f3)

Original commit message:
Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.

This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.

In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).

Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.

(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoRevert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due...
verwaest@chromium.org [Wed, 6 Nov 2013 18:19:26 +0000 (18:19 +0000)]
Revert "Landing https://codereview.chromium.org/40133004 for mnita@google.com." due to test failures.

R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/62563002

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

11 years agoLanding https://codereview.chromium.org/40133004 for mnita@google.com.
cira@chromium.org [Wed, 6 Nov 2013 17:27:31 +0000 (17:27 +0000)]
Landing https://codereview.chromium.org/40133004 for mnita@google.com.

Implements ES6 String.prototype.normalize method.

BUG=v8:2943
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.
TBR=svenpanne@chromium.org

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

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

11 years agoAdd three string constants from parser to the root-set.
mstarzinger@chromium.org [Wed, 6 Nov 2013 17:05:50 +0000 (17:05 +0000)]
Add three string constants from parser to the root-set.

R=ulan@chromium.org

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

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

11 years agoChange test expectations for webkit/fast/js/object-slow-put and friends.
mvstanton@chromium.org [Wed, 6 Nov 2013 16:38:40 +0000 (16:38 +0000)]
Change test expectations for webkit/fast/js/object-slow-put and friends.

R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

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

11 years agoHandlify ForceSetObjectProperty
rafaelw@chromium.org [Wed, 6 Nov 2013 16:32:47 +0000 (16:32 +0000)]
Handlify ForceSetObjectProperty

Note that I've left the layering as is to make the diffs clear. Is it worth moving ForceSetObjectProperty to objects.cc? This code is clearly implementing part of the DefineOrRedefine steps from the spec, but it's still odd that it lives in Runtime. Note that handles.cc exposes a ForceSetProperty which just performs a CALL_HEAP_FUNCTION on the Runtime::ForceSetObjectProperty -- which is exposed to the api as v8::Object::ForceSet

BUG=
R=mstarzinger@chromium.org

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

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

11 years agoEnsure that typed array constructors are crankshaftable.
dslomov@chromium.org [Wed, 6 Nov 2013 16:28:38 +0000 (16:28 +0000)]
Ensure that typed array constructors are crankshaftable.

Also, do not allocate sub-closures for every call to typed array constructor.

R=yangguo@chromium.org

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

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

11 years agoAge ICs on context dispose notification.
yangguo@chromium.org [Wed, 6 Nov 2013 15:47:05 +0000 (15:47 +0000)]
Age ICs on context dispose notification.

R=ulan@chromium.org
BUG=309723

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

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

11 years agoCorrect handling of arrays with callbacks in the prototype chain.
mvstanton@chromium.org [Wed, 6 Nov 2013 15:45:43 +0000 (15:45 +0000)]
Correct handling of arrays with callbacks in the prototype chain.

Our generic KeyedStoreIC doesn't handle the case when a callback is
set on array elements in the prototype chain of the object, nor do
we recognize that we need to avoid the monomorphic case if these
callbacks exist.

This CL addresses the issue by looking for dictionary elements in
the prototype chain on IC misses and crankshaft element store
instructions. When found, the generic IC is used. The generic IC is
changed to go to the runtime in this case too.

In general, keyed loads are immune from this problem because they
won't return the hole: discovery of the hole goes to the runtime where
the callback will be found in the prototype chain. Double array loads
in crankshaft can return the hole but only if the prototype chain is
unaltered (we will catch such alterations).

Includes the following patch as well (already reviewed by bmeurer):
Performance regression found in test regress-2185-2.js. The problem was
that the bailout method for TransitionAndStoreStub was not performing
the appropriate transition.

(Review URL for the ElementsTransitionAndStoreIC_Miss change:
https://codereview.chromium.org/26911007)

R=danno@chromium.org

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

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

11 years agoAnother fix for windows breakage after r17521.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:42:00 +0000 (13:42 +0000)]
Another fix for windows breakage after r17521.

TBR=mstarzinger@chromium.org

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

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

11 years agoFix windows build after r17521.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:20:14 +0000 (13:20 +0000)]
Fix windows build after r17521.

TBR=mstarzinger@chromium.org

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

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

11 years agoImprove implementation of HSeqStringSetChar.
bmeurer@chromium.org [Wed, 6 Nov 2013 13:09:22 +0000 (13:09 +0000)]
Improve implementation of HSeqStringSetChar.

This improves the generated code for HSeqStringSetChar across
all platforms, taking advantage of constant operands whenever
possible. It also drops the unused DefineSameAsFirst constraint
for the register allocator on x64 and ia32, where it caused
unnecessary spills when the string operand was live across the
HSeqStringSetChar instruction.

A new GVN flag StringChars is introduced to express dependencies
between HSeqStringSetChar, HStringCharCodeAt and the upcoming
HSeqStringGetChar (the GVNFlags type is now 64bit in size).

Also improves the test case.

TEST=mjsunit/string-natives
R=mstarzinger@chromium.org, yangguo@chromium.org

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

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

11 years ago[Object.observe] rename intrinsic change record types for consitency.
rafaelw@chromium.org [Wed, 6 Nov 2013 12:14:24 +0000 (12:14 +0000)]
[Object.observe] rename intrinsic change record types for consitency.

Note the spec now reflects the updated naming:

http://wiki.ecmascript.org/doku.php?id=harmony:observe_spec_changes

R=rossberg@chromium.org, rossberg
BUG=v8:2940

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

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

11 years agoRevert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""
jochen@chromium.org [Wed, 6 Nov 2013 12:13:01 +0000 (12:13 +0000)]
Revert r17152 - "Revert r17018 - "Turn on handle zapping for release builds""

Apparently, this wasn't the cause for dromaeo regressions.

> BUG=none
> R=jkummerow@chromium.org
>
> Review URL: https://codereview.chromium.org/26457002

R=verwaest@chromium.org, jkummerow@chromium.org

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

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

11 years agoPrepare push to trunk. Now working on version 3.23.1.
verwaest@chromium.org [Wed, 6 Nov 2013 12:01:03 +0000 (12:01 +0000)]
Prepare push to trunk.  Now working on version 3.23.1.

R=jkummerow@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/60513010

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

11 years agoAdd support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_st...
mstarzinger@chromium.org [Wed, 6 Nov 2013 09:29:09 +0000 (09:29 +0000)]
Add support for tracking NotExectuted/ExecutedOnceCodeAge's when --track_gc_object_stats flag is set.

BUG=None
R=mstarzinger@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

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

11 years agoAdd isolate parameter to SetResourceConstraints, and deprecate version which depends...
bmeurer@chromium.org [Wed, 6 Nov 2013 06:59:32 +0000 (06:59 +0000)]
Add isolate parameter to SetResourceConstraints, and deprecate version which depends on current isolate.

BUG=None
R=bmeurer@chromium.org

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

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

11 years agoMIPS: Avoid using dd() in Prologue when --optimize-for-size.
plind44@gmail.com [Tue, 5 Nov 2013 20:48:35 +0000 (20:48 +0000)]
MIPS: Avoid using dd() in Prologue when --optimize-for-size.

Port: r17485 (0d82025)

Original commit message:
When --optimize-for-size is true, the prologue generation outputs the
pre-aging code stub address directly to the instruction stream. Previously
this was done using dd() which failed if there was any pending constant
pool entries left to be written. This CL introduces an emit_code_stub_address()
for this purpose instead.

BUG=v8:2968

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years agoMIPS: Try to use Push instead of push sequences whenever possible.
plind44@gmail.com [Tue, 5 Nov 2013 19:56:40 +0000 (19:56 +0000)]
MIPS: Try to use Push instead of push sequences whenever possible.

Port r17466 (e519285)

BUG=
R=plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

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

11 years ago[Sheriff] Mark flaky test on windows.
machenbach@chromium.org [Tue, 5 Nov 2013 19:29:58 +0000 (19:29 +0000)]
[Sheriff] Mark flaky test on windows.

It was marked as flaky on linux nosnap, arm and nacl before. Now it's marked universally flaky since windows joined the list.

BUG=v8:2921
R=jkummerow@chromium.org

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

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