platform/upstream/v8.git
10 years agoRevert broken ArrayPop changes
jkummerow@chromium.org [Fri, 24 Jan 2014 08:32:50 +0000 (08:32 +0000)]
Revert broken ArrayPop changes

This reverts:
r18749 "Reland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."",
r18790 "Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.", and
r18798 "MIPS: Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft."

For causing crashes on Canary.

BUG=chromium:337686
LOG=N
R=bmeurer@chromium.org

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

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

10 years agoRevert some movq->movp changes under the _WIN64 macro for X64
haitao.feng@intel.com [Fri, 24 Jan 2014 01:59:00 +0000 (01:59 +0000)]
Revert some movq->movp changes under the _WIN64 macro for X64

R=verwaest@chromium.org

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

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

10 years agoIntroduce Assembler::RelocInfoNone function for X64
haitao.feng@intel.com [Fri, 24 Jan 2014 01:45:53 +0000 (01:45 +0000)]
Introduce Assembler::RelocInfoNone function for X64

R=verwaest@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.24.
machenbach@chromium.org [Fri, 24 Jan 2014 01:04:58 +0000 (01:04 +0000)]
Prepare push to trunk.  Now working on version 3.24.24.

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

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

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

10 years agoMIPS: Remove ArrayPush from the custom call generators, and instead call directly...
palfia@homejinni.com [Thu, 23 Jan 2014 19:33:42 +0000 (19:33 +0000)]
MIPS: Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.

Port r18790 (0d675eeb)

BUG=
R=plind44@gmail.com

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

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

10 years agoDisable SetAllocationTimeout in fuzz-natives test since it has varargs.
machenbach@chromium.org [Thu, 23 Jan 2014 16:33:35 +0000 (16:33 +0000)]
Disable SetAllocationTimeout in fuzz-natives test since it has varargs.

BUG=
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org

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

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

10 years agoRemove ArrayPush from the custom call generators, and instead call directly to the...
verwaest@chromium.org [Thu, 23 Jan 2014 16:20:25 +0000 (16:20 +0000)]
Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.

R=mvstanton@chromium.org

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

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

10 years agoFix syntax check for SetAllocationTimeout.
machenbach@chromium.org [Thu, 23 Jan 2014 16:16:26 +0000 (16:16 +0000)]
Fix syntax check for SetAllocationTimeout.

This is missing in r18787.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoAllow to enable/disable inline allocation via runtime function.
machenbach@chromium.org [Thu, 23 Jan 2014 15:57:14 +0000 (15:57 +0000)]
Allow to enable/disable inline allocation via runtime function.

This will allow to artificially trigger GCs on all allocations for testing purposes.

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoDon't hardcode GCC_VERSION for Xcode in standalone.gypi.
jkummerow@chromium.org [Thu, 23 Jan 2014 15:55:20 +0000 (15:55 +0000)]
Don't hardcode GCC_VERSION for Xcode in standalone.gypi.

This fixes standalone command-line Xcode compilation with Xcode 5.x.

R=machenbach@chromium.org

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

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

10 years agoMIPS: Turn FastNewContextStub into a HydrogenCodeStub.
plind44@gmail.com [Thu, 23 Jan 2014 15:42:02 +0000 (15:42 +0000)]
MIPS: Turn FastNewContextStub into a HydrogenCodeStub.

Port r18764 (c40563f)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoMIPS: Reland r18714 'Unify calling to GenerateFastApiCallBody before stubbing it'.
plind44@gmail.com [Thu, 23 Jan 2014 15:38:12 +0000 (15:38 +0000)]
MIPS: Reland r18714 'Unify calling to GenerateFastApiCallBody before stubbing it'.

Port r18762 (e8954e8)

BUG=
R=plind44@gmail.com

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

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

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

10 years agoIn HObjectAccess::ForField pass property name down into HObjectAccess for in-object...
vegorov@chromium.org [Thu, 23 Jan 2014 14:20:48 +0000 (14:20 +0000)]
In HObjectAccess::ForField pass property name down into HObjectAccess for in-object fields.

This makes hydrogen.cfg more readable (property name becomes visible in addition to offset).

R=mvstanton@chromium.org
BUG=

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

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

10 years agoShow v8 bleeding edge revision in trunk and Chromium commit message.
machenbach@chromium.org [Thu, 23 Jan 2014 13:44:52 +0000 (13:44 +0000)]
Show v8 bleeding edge revision in trunk and Chromium commit message.

This allows to map from a V8 Chromium roll to the bleeding_edge revision used for the roll.

This CL also improves some test code:
 - Don't loose assertion exceptions in mocked git on retry.
 - Remove an unused method

BUG=337167
LOG=n
R=jkummerow@chromium.org

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

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

10 years agoRemove Heap::MaxRegularSpaceAllocationSize and use Page::MaxRegularHeapObjectSize...
hpayer@chromium.org [Thu, 23 Jan 2014 13:02:27 +0000 (13:02 +0000)]
Remove Heap::MaxRegularSpaceAllocationSize and use Page::MaxRegularHeapObjectSize instead.

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

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

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

10 years agoMake the full object memory size of a page available for a single allocation.
hpayer@chromium.org [Thu, 23 Jan 2014 12:13:20 +0000 (12:13 +0000)]
Make the full object memory size of a page available for a single allocation.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoLet push-to-trunk script retry failing svn writes.
machenbach@chromium.org [Thu, 23 Jan 2014 10:55:40 +0000 (10:55 +0000)]
Let push-to-trunk script retry failing svn writes.

BUG=
TEST=python -m unittest test_scripts
R=ulan@chromium.org

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

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

10 years ago[Sheriff] Temporarily mark test as flaky.
machenbach@chromium.org [Thu, 23 Jan 2014 10:54:30 +0000 (10:54 +0000)]
[Sheriff] Temporarily mark test as flaky.

BUG=
TBR=mvstanton@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.23.
machenbach@chromium.org [Thu, 23 Jan 2014 09:38:00 +0000 (09:38 +0000)]
Prepare push to trunk.  Now working on version 3.24.23.

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

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

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

10 years agoTurn FastNewContextStub into a HydrogenCodeStub.
bmeurer@chromium.org [Thu, 23 Jan 2014 08:36:22 +0000 (08:36 +0000)]
Turn FastNewContextStub into a HydrogenCodeStub.

R=svenpanne@chromium.org

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

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

10 years agoReland r18714 'Unify calling to GenerateFastApiCallBody before stubbing it'
dcarney@chromium.org [Thu, 23 Jan 2014 08:14:00 +0000 (08:14 +0000)]
Reland r18714 'Unify calling to GenerateFastApiCallBody before stubbing it'

TBR=verwaest@chromium.org

BUG=

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

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

10 years agoAdd jarin to OWNERS file.
bmeurer@chromium.org [Thu, 23 Jan 2014 07:55:58 +0000 (07:55 +0000)]
Add jarin to OWNERS file.

R=danno@chromium.org

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

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

10 years agoFix compilation on x64 architectures
bmeurer@chromium.org [Thu, 23 Jan 2014 06:31:05 +0000 (06:31 +0000)]
Fix compilation on x64 architectures

Contributed by Mathias Bynens <mathiasb@opera.com>.

BUG=v8:3110
LOG=Y
R=bmeurer@chromium.org, jarin@chromium.org

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

Patch from Mathias Bynens <mathiasb@opera.com>.

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

10 years agoAdd missing OWNERs
danno@chromium.org [Wed, 22 Jan 2014 15:36:00 +0000 (15:36 +0000)]
Add missing OWNERs

R=jkummerow@chromium.org

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

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

10 years agoFix clang build.
dslomov@chromium.org [Wed, 22 Jan 2014 15:06:36 +0000 (15:06 +0000)]
Fix clang build.

See http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html.

TBR=rossberg@chromium.org

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

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

10 years agoEnsure we don't overwrite transitions in SetPropertyIgnoreAttributes.
verwaest@chromium.org [Wed, 22 Jan 2014 14:02:00 +0000 (14:02 +0000)]
Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes.

BUG=326155
LOG=y
R=jkummerow@chromium.org

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

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

10 years agoFix invalid memory access when initializing the command line in d8
jochen@chromium.org [Wed, 22 Jan 2014 13:59:05 +0000 (13:59 +0000)]
Fix invalid memory access when initializing the command line in d8

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

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

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

10 years agoGet rid of the unused native code StringAddStub.
bmeurer@chromium.org [Wed, 22 Jan 2014 13:48:05 +0000 (13:48 +0000)]
Get rid of the unused native code StringAddStub.

BUG=v8:2990
LOG=n
R=hpayer@chromium.org

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

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

10 years agoMIPS: Add missing cctests of DoubleToIStub (r16322).
palfia@homejinni.com [Wed, 22 Jan 2014 13:44:00 +0000 (13:44 +0000)]
MIPS: Add missing cctests of DoubleToIStub (r16322).

BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

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

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

10 years agoReland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call...
verwaest@chromium.org [Wed, 22 Jan 2014 13:22:58 +0000 (13:22 +0000)]
Reland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."

BUG=
R=mvstanton@chromium.org

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

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

10 years agoIncrease the number of allocations in OptimizedPretenuringdoubleArrayLiterals test...
hpayer@chromium.org [Wed, 22 Jan 2014 12:59:25 +0000 (12:59 +0000)]
Increase the number of allocations in OptimizedPretenuringdoubleArrayLiterals test to make sure that pretenuring decisions are not flaky on the tests bots.

BUG=

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

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

10 years agoRefactor fast path for empty constant strings in BinaryOp.
bmeurer@chromium.org [Wed, 22 Jan 2014 12:30:00 +0000 (12:30 +0000)]
Refactor fast path for empty constant strings in BinaryOp.

R=mvstanton@chromium.org

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

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

10 years agoES6: Implement Object.setPrototypeOf
dslomov@chromium.org [Wed, 22 Jan 2014 12:15:57 +0000 (12:15 +0000)]
ES6: Implement Object.setPrototypeOf

This reverts commit bdc89ae76c15f3ef2626f8849744500248aec3ba.

This is a revert of the revert with test/webkit updated as needed.

Original CL Description:

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/144193005

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

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

10 years agoRemove globale pretenuring mode from runtime.
hpayer@chromium.org [Wed, 22 Jan 2014 12:07:14 +0000 (12:07 +0000)]
Remove globale pretenuring mode from runtime.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoFixed floor-of-div optimization.
svenpanne@chromium.org [Wed, 22 Jan 2014 11:54:51 +0000 (11:54 +0000)]
Fixed floor-of-div optimization.

We removed an HDiv by hand which was still used by an HChange. The
solution is letting dead code removal do the cleanup.

Removed a fragile "optimization" (looking through an HChange), too,
this obviously never triggered and is hard to get right given all our
global invariants and state/type/... changes.

The repro is a bit tricky, because you need inlining to make our
representations and types disagree in this case.

LOG=y
BUG=334708
R=bmeurer@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.22.
machenbach@chromium.org [Wed, 22 Jan 2014 10:50:37 +0000 (10:50 +0000)]
Prepare push to trunk.  Now working on version 3.24.22.

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

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

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

10 years agoRevert "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."
mvstanton@chromium.org [Wed, 22 Jan 2014 10:41:23 +0000 (10:41 +0000)]
Revert "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."

This reverts commit r18709, due to deopt fuzzer issue.
TBR=verwaest@chromium.org

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

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

10 years agoDisable concurrent sweeping, pending investigation of failures.
mvstanton@chromium.org [Wed, 22 Jan 2014 09:14:44 +0000 (09:14 +0000)]
Disable concurrent sweeping, pending investigation of failures.

TBR=hpayer@chromium.org

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

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

10 years agoResetAllAllocationSitesDependentCode is not changing dependent code, assert removed.
hpayer@chromium.org [Wed, 22 Jan 2014 08:46:39 +0000 (08:46 +0000)]
ResetAllAllocationSitesDependentCode is not changing dependent code, assert removed.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoMIPS: Zonify types in compiler frontend
palfia@homejinni.com [Tue, 21 Jan 2014 22:31:31 +0000 (22:31 +0000)]
MIPS: Zonify types in compiler frontend

Port r18719 (13303b7a)

Original commit message:
Clean up some zone/isolate handling in AST and its visitors on the way.

(Based on https://codereview.chromium.org/103743004/)

BUG=
R=plind44@gmail.com

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

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

10 years agoFix x64 breakage.
hpayer@chromium.org [Tue, 21 Jan 2014 19:40:25 +0000 (19:40 +0000)]
Fix x64 breakage.

BUG=

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

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

10 years agoEnable concurrent sweeping. Added some extra debugging checks for concurrent sweeping.
hpayer@chromium.org [Tue, 21 Jan 2014 19:30:27 +0000 (19:30 +0000)]
Enable concurrent sweeping. Added some extra debugging checks for concurrent sweeping.

BUG=
R=titzer@chromium.org

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

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

10 years agoMIPS: Stay in fast enum case if the empty_slow_element_dictionary is used.
plind44@gmail.com [Tue, 21 Jan 2014 17:48:57 +0000 (17:48 +0000)]
MIPS: Stay in fast enum case if the empty_slow_element_dictionary is used.

Port r18705 (78b4ea3)

Original commit message:
This fixes slow for-in over frozen objects.

BUG=
R=plind44@gmail.com

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

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

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

10 years agoRevert "Unify calling to GenerateFastApiCallBody before stubbing it"
mvstanton@chromium.org [Tue, 21 Jan 2014 17:04:17 +0000 (17:04 +0000)]
Revert "Unify calling to GenerateFastApiCallBody before stubbing it"

This reverts commit r18714 for breaking webkit tests with an assert.

TBR=dcarney@chromium.org

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

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

10 years agoZonify types in compiler frontend
rossberg@chromium.org [Tue, 21 Jan 2014 16:22:52 +0000 (16:22 +0000)]
Zonify types in compiler frontend

Clean up some zone/isolate handling in AST and its visitors on the way.

(Based on https://codereview.chromium.org/103743004/)

R=jkummerow@chromium.org, titzer@chromium.org
BUG=

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

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

10 years agoOnly refill free lists for spaces that are being swept
jochen@chromium.org [Tue, 21 Jan 2014 16:19:04 +0000 (16:19 +0000)]
Only refill free lists for spaces that are being swept

BUG=v8:3104
R=hpayer@chromium.org
LOG=n

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

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

10 years agoArray constructor shouldn't require a Cell, just an AllocationSite.
mvstanton@chromium.org [Tue, 21 Jan 2014 16:04:39 +0000 (16:04 +0000)]
Array constructor shouldn't require a Cell, just an AllocationSite.

The Array constructor has a needless dependency on an input argument
that is a Cell. It uses this to walk through to an AllocationSite.
The dependency hampers future work. Instead, pass the AllocationSite
as input to the Array constructor.

R=bmeurer@chromium.org

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

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

10 years agoUnify calling to GenerateFastApiCallBody before stubbing it
dcarney@chromium.org [Tue, 21 Jan 2014 15:06:46 +0000 (15:06 +0000)]
Unify calling to GenerateFastApiCallBody before stubbing it

R=verwaest@chromium.org

BUG=

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

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

10 years agoSilence another VS warning
rossberg@chromium.org [Tue, 21 Jan 2014 14:41:48 +0000 (14:41 +0000)]
Silence another VS warning

R=titzer@chromium.org
BUG=

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

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

10 years agoRetry landing "Implement zone-allocated types"
rossberg@chromium.org [Tue, 21 Jan 2014 14:14:12 +0000 (14:14 +0000)]
Retry landing "Implement zone-allocated types"

Works around apparent scoping bug in VS, the only change to before being a method rename in the test suite:

--- a/test/cctest/test-types.cc
+++ b/test/cctest/test-types.cc
@@ -153,7 +153,7 @@ struct ZoneRep {
     return reinterpret_cast<ZoneList<ZoneType*>*>(AsTagged(t));
   }

-  static Zone* Region(Zone* zone, Isolate* isolate) { return zone; }
+  static Zone* ToRegion(Zone* zone, Isolate* isolate) { return zone; }
 };

@@ -168,7 +168,7 @@ struct HeapRep {
   static Object* AsConstant(Handle<Type> t) { return Box::cast(*t)->value(); }
   static FixedArray* AsUnion(Handle<Type> t) { return FixedArray::cast(*t); }

-  static Isolate* Region(Zone* zone, Isolate* isolate) { return isolate; }
+  static Isolate* ToRegion(Zone* zone, Isolate* isolate) { return isolate; }
 };

@@ -183,7 +183,7 @@ struct Tests : Rep {
       isolate(CcTest::i_isolate()),
       scope(isolate),
       zone(isolate),
-      T(Rep::Region(&zone, isolate), isolate) {
+      T(Rep::ToRegion(&zone, isolate), isolate) {
   }

   static void CheckEqual(TypeHandle type1, TypeHandle type2) {

R=titzer@chromium.org
BUG=

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

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

10 years agoRename MarkCompactCollector::StealMemoryFromSweeperThreads to RefillFreeLists
jochen@chromium.org [Tue, 21 Jan 2014 12:48:10 +0000 (12:48 +0000)]
Rename MarkCompactCollector::StealMemoryFromSweeperThreads to RefillFreeLists

The swept memory is now collected on the foreground thread, so it's not
stealing the memory from the threads anymore

BUG=v8:3104
R=hpayer@chromium.org
LOG=n

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

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

10 years agoAdd hydrogen support for ArrayPop, and remove the handwritten call stubs.
verwaest@chromium.org [Tue, 21 Jan 2014 12:42:24 +0000 (12:42 +0000)]
Add hydrogen support for ArrayPop, and remove the handwritten call stubs.
BUG=
R=mvstanton@chromium.org

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

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

10 years agoAdd infrastructure for skipping tests in GC stress mode.
machenbach@chromium.org [Tue, 21 Jan 2014 12:41:25 +0000 (12:41 +0000)]
Add infrastructure for skipping tests in GC stress mode.

Also move the GC stress configuration from the buildbot to the test runner.

BUG=
R=jkummerow@chromium.org, mvstanton@chromium.org

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

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

10 years agoMove the temporary private freelist closer to where it's used
jochen@chromium.org [Tue, 21 Jan 2014 11:48:51 +0000 (11:48 +0000)]
Move the temporary private freelist closer to where it's used

BUG=v8:3104
R=hpayer@chromium.org
LOG=n

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

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

10 years agoMove the management of the already swept pages to MarkCompactCollector
jochen@chromium.org [Tue, 21 Jan 2014 11:41:18 +0000 (11:41 +0000)]
Move the management of the already swept pages to MarkCompactCollector

That way, MCC doesn't need to know about the state the threads are in to
steal free memory from them.

BUG=v8:3104
R=hpayer@chromium.org
LOG=n

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

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

10 years agoStay in fast enum case if the empty_slow_element_dictionary is used.
verwaest@chromium.org [Tue, 21 Jan 2014 11:20:11 +0000 (11:20 +0000)]
Stay in fast enum case if the empty_slow_element_dictionary is used.
This fixes slow for-in over frozen objects.

BUG=
R=ulan@chromium.org

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

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

10 years agoFix invalid type assumption in GenerateNumberToString().
bmeurer@chromium.org [Tue, 21 Jan 2014 10:35:20 +0000 (10:35 +0000)]
Fix invalid type assumption in GenerateNumberToString().

We don't have any type feedback in %_NumberToString(), so it's
a bug to assume Type::Number here.

R=svenpanne@chromium.org

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.21.
machenbach@chromium.org [Tue, 21 Jan 2014 09:01:39 +0000 (09:01 +0000)]
Prepare push to trunk.  Now working on version 3.24.21.

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

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

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

10 years ago[Sheriff] Temporarily mark array-literal-feedback as flaky for GC stress.
machenbach@chromium.org [Tue, 21 Jan 2014 07:58:54 +0000 (07:58 +0000)]
[Sheriff] Temporarily mark array-literal-feedback as flaky for GC stress.

The test is blocking the v8 lkgr. It will be unmarked again after there is infrastructure to disable it on GC stress only.

BUG=
TBR=mvstanton@chromium.org

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

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

10 years agoMIPS: Turn ArrayPush into a stub specialized on the elements kind and argc.
palfia@homejinni.com [Mon, 20 Jan 2014 23:08:52 +0000 (23:08 +0000)]
MIPS: Turn ArrayPush into a stub specialized on the elements kind and argc.

Port r18696 (6e4b51b4)

BUG=
R=gergely@homejinni.com

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

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

10 years ago[Sheriff] Temporarily mark two mjsunit tests as flaky.
machenbach@chromium.org [Mon, 20 Jan 2014 19:05:31 +0000 (19:05 +0000)]
[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: http://v8.googlecode.com/svn/branches/bleeding_edge@18698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix representation requirement in HReturn.
titzer@chromium.org [Mon, 20 Jan 2014 19:00:11 +0000 (19:00 +0000)]
Fix representation requirement in HReturn.

BUG=
R=verwaest@chromium.org

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

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

10 years agoTurn ArrayPush into a stub specialized on the elements kind and argc.
verwaest@chromium.org [Mon, 20 Jan 2014 17:09:24 +0000 (17:09 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUpdate Isolate::RequestGarbageCollection after r18691
jochen@chromium.org [Mon, 20 Jan 2014 15:44:03 +0000 (15:44 +0000)]
Update Isolate::RequestGarbageCollection after r18691

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

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

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

10 years agoEnable incremental marking when --expose-gc is turned on.
hpayer@chromium.org [Mon, 20 Jan 2014 14:14:07 +0000 (14:14 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExplicitly initialize MarkCompactCollector and ExternalStringTable
jochen@chromium.org [Mon, 20 Jan 2014 11:57:56 +0000 (11:57 +0000)]
Explicitly initialize MarkCompactCollector and ExternalStringTable

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

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

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

10 years agoDoubleToIStub can't use ip on armv6, because the ubfx impl will clobber it
rmcilroy@chromium.org [Mon, 20 Jan 2014 11:30:48 +0000 (11:30 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "ES6: Implement Object.setPrototypeOf"
dslomov@chromium.org [Mon, 20 Jan 2014 10:59:07 +0000 (10:59 +0000)]
Revert "ES6: Implement Object.setPrototypeOf"

This reverts commit r18685 for breaking WebKit tests.

TBR=arv@chromium.org

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

10 years agoES6: Implement Object.setPrototypeOf
dslomov@chromium.org [Mon, 20 Jan 2014 10:38:01 +0000 (10:38 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoString:WriteUtf8: Add REPLACE_INVALID_UTF8 option
dcarney@chromium.org [Mon, 20 Jan 2014 09:52:54 +0000 (09:52 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWe no longer need to recover type cells from the oracle.
mvstanton@chromium.org [Mon, 20 Jan 2014 09:48:05 +0000 (09:48 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.24.20.
machenbach@chromium.org [Mon, 20 Jan 2014 07:57:07 +0000 (07:57 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDe-virtualize GenerateNameCheck.
svenpanne@chromium.org [Mon, 20 Jan 2014 07:05:23 +0000 (07:05 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReplace movq with movp for X64 when the operand size is kPointerSize
haitao.feng@intel.com [Mon, 20 Jan 2014 04:59:40 +0000 (04:59 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse kRegisterSize when passing arguments to the C++ runtime for X64
haitao.feng@intel.com [Mon, 20 Jan 2014 01:52:21 +0000 (01:52 +0000)]
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: http://v8.googlecode.com/svn/branches/bleeding_edge@18674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation with latest Xcode toolchain.
bmeurer@chromium.org [Sun, 19 Jan 2014 12:24:25 +0000 (12:24 +0000)]
Fix compilation with latest Xcode toolchain.

TBR=jarin@chromium.org

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

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

10 years agoRemove special String.fromCharCode call IC support.
verwaest@chromium.org [Fri, 17 Jan 2014 16:08:54 +0000 (16:08 +0000)]
Remove special String.fromCharCode call IC support.

BUG=
R=dcarney@chromium.org

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

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

10 years ago--trace-hydrogen fix
ishell@chromium.org [Fri, 17 Jan 2014 15:44:40 +0000 (15:44 +0000)]
--trace-hydrogen fix

R=verwaest@chromium.org

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

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

10 years agoRemove the special MathFloor / MathAbs call handlers.
verwaest@chromium.org [Fri, 17 Jan 2014 14:21:01 +0000 (14:21 +0000)]
Remove the special MathFloor / MathAbs call handlers.

BUG=
R=svenpanne@chromium.org

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

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

10 years agoMoving logic to AstNode to determine how many type cells are required.
mvstanton@chromium.org [Fri, 17 Jan 2014 14:08:50 +0000 (14:08 +0000)]
Moving logic to AstNode to determine how many type cells are required.

With this change, we'll be able to discover how many type cells we
need at parse time, enabling future optimizations.

R=bmeurer@chromium.org

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

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

10 years agoMinor bugfix in building inlined Array: bad argument to JSArrayBuilder.
mvstanton@chromium.org [Fri, 17 Jan 2014 12:18:57 +0000 (12:18 +0000)]
Minor bugfix in building inlined Array: bad argument to JSArrayBuilder.

An HConstant pointing to a Cell rather than an AllocationSite
was passed. The argument wasn't used because of fortuitous
flags. An assert was added to protect the argument.

R=bmeurer@chromium.org

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

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

10 years agoFixed Windows build.
svenpanne@chromium.org [Fri, 17 Jan 2014 11:52:50 +0000 (11:52 +0000)]
Fixed Windows build.

TBR=dcarney@chromium.org

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

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

10 years agoActivate calling push-to-trunk in auto-roll script.
machenbach@chromium.org [Fri, 17 Jan 2014 11:29:43 +0000 (11:29 +0000)]
Activate calling push-to-trunk in auto-roll script.

- Call push-to-trunk through python not through the shell
- Restore tree state on script errors
- Mock out python call in unit tests
- The actual call stays behind a flag

BUG=
R=ulan@chromium.org

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

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

10 years agoRemove special charAt and charCodeAt handling in the ICs.
verwaest@chromium.org [Fri, 17 Jan 2014 11:28:22 +0000 (11:28 +0000)]
Remove special charAt and charCodeAt handling in the ICs.

R=mvstanton@chromium.org

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

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

10 years agoRemove special ArrayCode CallIC.
verwaest@chromium.org [Fri, 17 Jan 2014 11:24:36 +0000 (11:24 +0000)]
Remove special ArrayCode CallIC.
Once Call ICs are replaced by LoadIC + CallFunctionStub, we'll need a new way
of tracking this information.

R=mvstanton@chromium.org

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

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

10 years agoFix logic error in assert in IsUndeclaredGlobal()
mvstanton@chromium.org [Fri, 17 Jan 2014 11:08:24 +0000 (11:08 +0000)]
Fix logic error in assert in IsUndeclaredGlobal()

Recent changes in IC logic meant that CallStubs no longer use the Contextual bit. IsUndeclaredGlobal() needed to adjust for that.

In fact, now the CL has morphed to remove the notion of storing contextual state in the IC at all, it just becomes some extra ic state of the load ic. This took some adjustment in harmony code to use the global receiver for certain stores.

Now it's clearer that only LoadICs actually record any information about contextual or not.

R=verwaest@chromium.org

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

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

10 years agoVarious extension-related cleanup and simplifications.
svenpanne@chromium.org [Fri, 17 Jan 2014 10:52:00 +0000 (10:52 +0000)]
Various extension-related cleanup and simplifications.

Removes the embarrassing "static"s, shuffles some code around, doing various cleanups on the way.

R=dcarney@chromium.org

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

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

10 years agoFix stub-invoked setter callback handling.
dcarney@chromium.org [Fri, 17 Jan 2014 10:34:43 +0000 (10:34 +0000)]
Fix stub-invoked setter callback handling.

When invoking a setter callback for a property using
JSObject::SetPropertyWithCallback(),the callback arguments includes
a correct pair of receiver and holder objects.

Such a pair of _possibly different_ arguments (receiver, holder) must
also be supplied when invoking the same setter callback from JITed
code, when the setter is invoked through the StoreCallbackProperty
stub.

An example where this matters are the accessor properties kept on the
global scope of Worker (i.e., properties kept on the global object
itself, and not on its prototype.) Conflating the receiver with the
holder leads to general confusion when attempting to fetch out the
wrapper object.

LOG=N
R=dcarney@chromium.org, dcarney
BUG=239669

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

Patch from Sigbjorn Finne <sigbjornf@opera.com>.

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

10 years agoRefactor string internalization.
ulan@chromium.org [Fri, 17 Jan 2014 10:27:57 +0000 (10:27 +0000)]
Refactor string internalization.

Remove duplicate code in StringTable and Heap. Instead of having many InternalizeXXXString methods, add a general InternalizeStringWithKey that takes a string table key.

BUG=
R=dcarney@chromium.org, svenpanne@chromium.org

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

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

10 years agoIntroduce a setting to control the toolset for which d8 is compiled
jochen@chromium.org [Fri, 17 Jan 2014 09:11:22 +0000 (09:11 +0000)]
Introduce a setting to control the toolset for which d8 is compiled

BUG=v8:1775
R=machenbach@chromium.org
LOG=y

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

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

10 years agoPrepare push to trunk. Now working on version 3.24.19.
machenbach@chromium.org [Fri, 17 Jan 2014 08:10:15 +0000 (08:10 +0000)]
Prepare push to trunk.  Now working on version 3.24.19.

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

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

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

10 years agoMIPS: Implement in-heap backing store for typed arrays.
palfia@homejinni.com [Thu, 16 Jan 2014 22:45:11 +0000 (22:45 +0000)]
MIPS: Implement in-heap backing store for typed arrays.

Port r18651 (49744859)

Original commit message:
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.

BUG=
R=plind44@gmail.com

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

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

10 years agoImplement in-heap backing store for typed arrays.
dslomov@chromium.org [Thu, 16 Jan 2014 17:08:45 +0000 (17:08 +0000)]
Implement in-heap backing store for typed arrays.

This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.

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

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

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

10 years agoRevert "Implement in-heap backing store for typed arrays."
dslomov@chromium.org [Thu, 16 Jan 2014 16:00:36 +0000 (16:00 +0000)]
Revert "Implement in-heap backing store for typed arrays."

This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.

TBR=jkummerow@chromium.org

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

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

10 years agoImplement in-heap backing store for typed arrays.
dslomov@chromium.org [Thu, 16 Jan 2014 15:01:27 +0000 (15:01 +0000)]
Implement in-heap backing store for typed arrays.

This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.

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

Committed: https://code.google.com/p/v8/source/detail?r=18646

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

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

10 years agoFix tree check in merge-to-branch script.
machenbach@chromium.org [Thu, 16 Jan 2014 14:40:56 +0000 (14:40 +0000)]
Fix tree check in merge-to-branch script.

BUG=
R=ulan@chromium.org

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

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

10 years agoRevert "Implement in-heap backing store for typed arrays."
dslomov@chromium.org [Thu, 16 Jan 2014 14:26:15 +0000 (14:26 +0000)]
Revert "Implement in-heap backing store for typed arrays."

This reverts commit r18646 for breaking Win32 build.

TBR=jkummerow@chromium.org

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

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

10 years agoImplement in-heap backing store for typed arrays.
dslomov@chromium.org [Thu, 16 Jan 2014 14:18:37 +0000 (14:18 +0000)]
Implement in-heap backing store for typed arrays.

This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.

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

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

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

10 years agoRobustified extension installation a bit.
svenpanne@chromium.org [Thu, 16 Jan 2014 13:18:28 +0000 (13:18 +0000)]
Robustified extension installation a bit.

Removed ADDRESS_SANITIZER #ifdefs, the extension is so tiny that it's
not worth the clutter.

R=dcarney@chromium.org

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

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

10 years agoEnable allocation site pretenuring.
hpayer@chromium.org [Thu, 16 Jan 2014 11:59:34 +0000 (11:59 +0000)]
Enable allocation site pretenuring.

BUG=
R=bmeurer@chromium.org

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

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