machenbach@chromium.org [Mon, 18 Aug 2014 14:04:11 +0000 (14:04 +0000)]
[Auto-roll] Bump up version to 3.29.5.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
480993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 18 Aug 2014 13:28:10 +0000 (13:28 +0000)]
Finish TODO in Schedule. s/entry/start/g and s/exit/end/g to be more regular.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
484653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 18 Aug 2014 13:09:06 +0000 (13:09 +0000)]
Move some methods from OperatorProperties into Scheduler that are only related to scheduling. Now these methods take a Node* parameter, as decisions relating floating control need distinguish not just operators but nodes.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
474983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 18 Aug 2014 12:35:34 +0000 (12:35 +0000)]
Parse 'super' keyword.
BUG=v8:3330
LOG=N
R=arv@chromium.org, marja@chromium.org
Review URL: https://codereview.chromium.org/
480543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 18 Aug 2014 11:36:06 +0000 (11:36 +0000)]
[turbofan] Add new ControlEffect and Finish operators.
Fix the ChangeLowering to properly use ControlEffect nodes
to turn the control output of IfTrue nodes into an effect
input for the Load nodes, and to properly use Finish nodes
to ensure that allocation and store were both performed
prior to actually using the allocated heap number.
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
479163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 18 Aug 2014 11:10:01 +0000 (11:10 +0000)]
[arm] Recognize comparisons of shifts with zero.
For example, recognize
0 == r1 << r2
and generate a single
MOVS rt, r1, lsl r2
instruction.
TEST=cctest,compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
478233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 18 Aug 2014 09:34:17 +0000 (09:34 +0000)]
[Auto-roll] Bump up version to 3.29.4.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
482693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 18 Aug 2014 09:12:12 +0000 (09:12 +0000)]
Work-around weird GCC 4.6 linker issue with SmiTagging template.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
485653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 18 Aug 2014 08:59:55 +0000 (08:59 +0000)]
Remove dead data structure in Scheduler.
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
478253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 18 Aug 2014 08:51:35 +0000 (08:51 +0000)]
Correctly handle holes when concat()ing double arrays
BUG=chromium:403409
LOG=y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
468863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Aug 2014 08:43:11 +0000 (08:43 +0000)]
Fix PromiseHasRejectHandler.
The odd-numbered items in the queue are deferred objects, not promises.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/
473803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 18 Aug 2014 07:56:14 +0000 (07:56 +0000)]
[arm] Shorter test names for parameterized tests.
See https://codereview.chromium.org/
475823002 for the discussion.
TEST=compiler-unittests
R=jarin@chromium.org
BUG=v8:3489
LOG=n
Review URL: https://codereview.chromium.org/
483643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Aug 2014 07:54:19 +0000 (07:54 +0000)]
Purge unused internalized string accessors.
R=marja@chromium.org
Review URL: https://codereview.chromium.org/
471923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 18 Aug 2014 06:54:07 +0000 (06:54 +0000)]
Refactor ChangeLowering class to avoid template specialization.
Also refactor the unit tests and add support to easily
match DAGs using CaptureEq() matcher.
TEST=compiler-unittests
BUG=v8:3489
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
480863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Sat, 16 Aug 2014 21:34:13 +0000 (21:34 +0000)]
[Auto-roll] Bump up version to 3.29.3.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
482523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Sat, 16 Aug 2014 18:58:13 +0000 (18:58 +0000)]
During graph scheduling, traverse the roots in one go.
This makes the scheduler more than 30x faster on zlib.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
474963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 15 Aug 2014 17:04:18 +0000 (17:04 +0000)]
[Auto-roll] Bump up version to 3.29.2.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
479563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Fri, 15 Aug 2014 14:35:00 +0000 (14:35 +0000)]
[turbofan]: Fix TurboFan for out-of-line constant pool on Arm.
Use LeaveFrame so that the constant pool pointer register is correctly restored
when using the out-of-line constant pool. Also clean up duplicate code in
builtins-arm.cc.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
469283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23134
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 14 Aug 2014 15:34:12 +0000 (15:34 +0000)]
[Auto-roll] Bump up version to 3.29.1.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
473943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23132
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Thu, 14 Aug 2014 15:23:01 +0000 (15:23 +0000)]
MIPS: Fix deoptimization entry table when branch cannot reach.
This fixes failures when table has more than 8192 entries, and preserves
optimization to have 2 instructions per entry.
TEST=mozilla/regress-398085-01
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
477623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Aug 2014 13:24:57 +0000 (13:24 +0000)]
Enable access check tests that no longer fail with TF.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
473873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 14 Aug 2014 13:02:49 +0000 (13:02 +0000)]
Rewrite GetAccessor using the LookupIterator
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
467293003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Aug 2014 12:24:37 +0000 (12:24 +0000)]
Deprecate LoweringBuilder in favor of Reducer.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
476733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 14 Aug 2014 11:31:42 +0000 (11:31 +0000)]
Remove the flaky store buffer test for maps.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
471953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 14 Aug 2014 10:24:19 +0000 (10:24 +0000)]
Fix OrderedHashTabelIterator accessors.
They might be undefined for uninitialized iterators.
The rest of the code is ready for this eventuality.
R=arv@chromium.org, adamk@chromium.org
BUG=403292
LOG=N
Review URL: https://codereview.chromium.org/
468813003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 14 Aug 2014 09:52:21 +0000 (09:52 +0000)]
Enable more tests for simplified lowering after assuming signed for word32.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
461933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 14 Aug 2014 09:31:52 +0000 (09:31 +0000)]
Really fix windows now.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
472783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 14 Aug 2014 09:24:40 +0000 (09:24 +0000)]
Fix MSVC build.
And while we are at it, use the stupid MSVC compiler intrinsics.
TEST=base-unittests/BitTest
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
473773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23123
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 14 Aug 2014 09:19:54 +0000 (09:19 +0000)]
Unify MachineType and RepType.
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.
These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.
R=bmeurer@chromium.org, mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
470593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 14 Aug 2014 09:07:58 +0000 (09:07 +0000)]
[turbofan] Introduce WordRor machine operator.
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.
TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
469213002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 14 Aug 2014 09:05:28 +0000 (09:05 +0000)]
Fast-forward version number on bleeding_edge to 3.29.0
BUG=none
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
470083002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 14 Aug 2014 08:40:11 +0000 (08:40 +0000)]
Revert 23058 - "Allow externalizing cons and sliced string."
Reason for revert: broke inspector
| Fulfill overdue TODO.
|
| R=mstarzinger@chromium.org
|
| Review URL: https://codereview.chromium.org/
460643002
TBR=yangguo@chromium.org,mstarzinger@chromium.org
BUG=403521
LOG=n
Review URL: https://codereview.chromium.org/
470913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Thu, 14 Aug 2014 07:41:33 +0000 (07:41 +0000)]
Fix pointer iteration for maps.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
475463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Aug 2014 07:11:44 +0000 (07:11 +0000)]
Fix test expectations.
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
461233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 14 Aug 2014 06:57:48 +0000 (06:57 +0000)]
Ignore default reject handler when looking for reject handlers.
LOG=N
BUG=v8:3093
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/
461023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Thu, 14 Aug 2014 06:33:50 +0000 (06:33 +0000)]
[turbofan] Refactor the InstructionSelector tests.
Also fix some issues and improve test coverage.
TEST=compiler-unittests
BUG=v8:3489
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
469743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 14:47:32 +0000 (14:47 +0000)]
Fix non-TF target build after r23107.
TBR=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/
473453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Wed, 13 Aug 2014 14:43:22 +0000 (14:43 +0000)]
MIPS: Fix DCHECK failure in simulator for fp32 mode.
TEST=mjsunit tests in debug
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
467203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Wed, 13 Aug 2014 14:34:15 +0000 (14:34 +0000)]
ES6: Make Map/Set constructors support iterable values
Same for WeakMap/WeakSet
https://bugs.ecmascript.org/show_bug.cgi?id=3111
The change from the reverted version is that LoadIC_Miss now uses Name
instead of String.
BUG=v8:3508
LOG=Y
R=adamk@chromium.org, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
464093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23108
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 14:09:50 +0000 (14:09 +0000)]
Move %IsOptimized runtime helper into test case.
R=jarin@chromium.org
TEST=cctest/test-run-deopt
Review URL: https://codereview.chromium.org/
468153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 14:05:37 +0000 (14:05 +0000)]
Simplify public pipeline interface.
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/
471563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
aandrey@chromium.org [Wed, 13 Aug 2014 13:06:30 +0000 (13:06 +0000)]
Expose Value::IsArgumentsObject in V8 API.
R=yangguo@chromium.org, svenpanne@chromium.org, yangguo
Review URL: https://codereview.chromium.org/
460333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 12:38:22 +0000 (12:38 +0000)]
Temporary workaround for scheduler running OOM.
R=titzer@chromium.org
TEST=benchmarks/octane/zlib
Review URL: https://codereview.chromium.org/
468863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 12:36:09 +0000 (12:36 +0000)]
Allow use of phase-local zone in GenericGraphVisit.
R=titzer@chromium.org, bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
467103003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 13 Aug 2014 11:46:05 +0000 (11:46 +0000)]
Remove a brittle assertion from Turbofan lazy deoptimization handling.
As discussed in person with Benedikt, it is better to remove the assertion because it is too brittle. The assertion says that the continuation block should immediately follow the call. However, there are exceptions - such as nop or constant pool in-between being fine - that make the assertion brittle.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
471523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 13 Aug 2014 11:14:35 +0000 (11:14 +0000)]
Move Promise tracking from debug to isolate.
This prepares for tracking promise rejections when debugger is off.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/
462413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23101
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 13 Aug 2014 10:30:00 +0000 (10:30 +0000)]
Add FOR_INT32_SHIFTS to value-helper.h
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
470533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Wed, 13 Aug 2014 10:29:22 +0000 (10:29 +0000)]
ARM64: unit tests for instruction selection.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
464773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 13 Aug 2014 10:23:17 +0000 (10:23 +0000)]
Disable some deoptimization tests on ARM64 no-snap.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
471483002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 13 Aug 2014 10:22:53 +0000 (10:22 +0000)]
Revert "Refactor building of lazy bailouts in AstGraphBuilder."
This reverts commit r23096.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
470573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Wed, 13 Aug 2014 09:23:35 +0000 (09:23 +0000)]
Refactor building of lazy bailouts in AstGraphBuilder.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
464033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 12 Aug 2014 21:42:27 +0000 (21:42 +0000)]
Revert "ES6: Make Map/Set constructors support iterable values"
Reason for revert:
TestSetConstructorIterableValue(WeakSet) fails on x64.debug
TBR=adamk@chromium.org,dslomov@chromium.org
LOG=Y
BUG=
Review URL: https://codereview.chromium.org/
461193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 12 Aug 2014 20:09:40 +0000 (20:09 +0000)]
ES6: Make Map/Set constructors support iterable values
Same for WeakMap/WeakSet
https://bugs.ecmascript.org/show_bug.cgi?id=3111
BUG=v8:3508
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
466003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
arv@chromium.org [Tue, 12 Aug 2014 19:54:52 +0000 (19:54 +0000)]
WeakMap/WeakSet: Add test for non object keys
Add test for non object keys in the iterable passed to the constructor.
BUG=v8:3399
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
451033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Aug 2014 19:34:16 +0000 (19:34 +0000)]
[Auto-roll] Bump up version to 3.28.72.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
466863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Tue, 12 Aug 2014 19:04:15 +0000 (19:04 +0000)]
Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Fixing gclient runhooks failure caused by reverted commit r23050.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
467583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Aug 2014 17:54:41 +0000 (17:54 +0000)]
Fix predictable mode to make time pass faster.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
460413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 12 Aug 2014 15:29:03 +0000 (15:29 +0000)]
Old space cannot be assumed to be iterable between GCs, even if swept precisely.
This is because allocation folding can cause uninitialized and hence uniterable fragments. Trying to inspect them causes SizeFromMap() crashes.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
467693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 12 Aug 2014 15:28:20 +0000 (15:28 +0000)]
Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.
R=hpayer@chromium.org, verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=23056
Review URL: https://codereview.chromium.org/
464473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 12 Aug 2014 13:36:33 +0000 (13:36 +0000)]
Implement Math.log1p using port from fdlibm.
Port contributed by Raymond Toy <rtoy@google.com>.
R=rtoy@chromium.org
LOG=N
BUG=v8:3481
Review URL: https://codereview.chromium.org/
457643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Aug 2014 13:33:35 +0000 (13:33 +0000)]
Fix newly discovered presubmit errors.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
462033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Tue, 12 Aug 2014 13:09:09 +0000 (13:09 +0000)]
Add print-to-file for turbofan tracing.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
460723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 12 Aug 2014 12:53:14 +0000 (12:53 +0000)]
Revert 23077 - "Use CommonNodeCache for heap constants in ChangeLowering."
Breaks compilation on Mac64
| TEST=compiler-unittests
| R=jarin@chromium.org
|
| Committed: https://code.google.com/p/v8/source/detail?r=23077
TBR=bmeurer@chromium.org,jarin@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
456843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 12 Aug 2014 12:41:50 +0000 (12:41 +0000)]
Fix presubmit error with explicit constructor in test.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
462813003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Aug 2014 12:37:50 +0000 (12:37 +0000)]
Use CommonNodeCache for heap constants in ChangeLowering.
TEST=compiler-unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
466673004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Tue, 12 Aug 2014 12:30:45 +0000 (12:30 +0000)]
ARM64: Enable TF tests.
Updated the test status file accordingly.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
459093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Aug 2014 12:30:22 +0000 (12:30 +0000)]
Reduce redundant phi nodes after graph building.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
461003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sigurds@chromium.org [Tue, 12 Aug 2014 12:20:39 +0000 (12:20 +0000)]
Provide mutators in NodeProperties instead of exposing indicies.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
462633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Aug 2014 11:46:46 +0000 (11:46 +0000)]
Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Aug 2014 10:48:37 +0000 (10:48 +0000)]
Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Aug 2014 09:52:39 +0000 (09:52 +0000)]
Tests for ChangeLowering are target tests since they use the Linkage.
This fixes MIPS.
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/
463803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Aug 2014 09:48:52 +0000 (09:48 +0000)]
Rename COMPILER_TEST to TARGET_TARGET.
The name COMPILER_TEST is misleading here.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
465913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Aug 2014 08:30:13 +0000 (08:30 +0000)]
Fix windows build.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/
464773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 12 Aug 2014 08:24:20 +0000 (08:24 +0000)]
Initial import of ChangeLowering.
ChangeLowering is a Reducer to lower simplified change operators
to machine subgraphs. This initial version supports ChangeBitToBool,
ChangeBoolToBit, ChangeTaggedToFloat64 and ChangeInt32ToTagged.
TEST=compiler-unittests/change-lowering-unittest
BUG=v8:3489
LOG=n
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
460593003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 12 Aug 2014 08:09:24 +0000 (08:09 +0000)]
Assume signed for converting to word32/float64 unless use or output is explicitly unsigned.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
461653002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 12 Aug 2014 08:06:02 +0000 (08:06 +0000)]
Disable code generation in tests that use GraphBuilderTester on platforms that have no TF backend.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
457343003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 12 Aug 2014 02:04:25 +0000 (02:04 +0000)]
[Auto-roll] Bump up version to 3.28.70.0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
466603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 11 Aug 2014 22:17:19 +0000 (22:17 +0000)]
Fix presubmit error.
No idea why they suddenly started to appear.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
458743005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 11 Aug 2014 21:44:08 +0000 (21:44 +0000)]
Revert "Add "own" symbols support."
This reverts commit r23056 for breaking Mac x64 test.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
460803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 11 Aug 2014 19:44:33 +0000 (19:44 +0000)]
Skip test with TF on GC stress.
BUG=
Review URL: https://codereview.chromium.org/
465643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Aug 2014 19:38:01 +0000 (19:38 +0000)]
Allow externalizing cons and sliced string.
Fulfill overdue TODO.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
460643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 11 Aug 2014 19:24:05 +0000 (19:24 +0000)]
ToNumber(Symbol) should throw TypeError
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tonumber
Based on patch from caitp <caitpotter88@gmail.com>
https://codereview.chromium.org/
454233002/
BUG=v8:3499
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
458753004
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 11 Aug 2014 18:59:38 +0000 (18:59 +0000)]
Add "own" symbols support.
"Own" symbols are symbols that can only denote own properties of
objects.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
464473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
paul.lind@imgtec.com [Mon, 11 Aug 2014 18:54:40 +0000 (18:54 +0000)]
MIPS: Fix test-simplified-lowering to pass without tf implemention.
GenerateCode() only for SupportedTarget() in 3 places, as in the
other tests here.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
459913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 11 Aug 2014 18:28:54 +0000 (18:28 +0000)]
Revert "Enable C++11 tests on windows."
This reverts commit r23052. This sets a new landmine.
TBR=jochen@chromium.org
BUG=400033
LOG=n
Review URL: https://codereview.chromium.org/
465583002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 11 Aug 2014 16:18:49 +0000 (16:18 +0000)]
Revert "Reland "MIPS: Add support for arch. revision 6 to mips32 port.""
This reverts commit r23050 for breaking runhooks on chromium.
See e.g.:
http://build.chromium.org/p/client.v8/builders/Chrome%20Linux%20Perf/builds/1438/steps/runhooks/logs/stdio
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/
458983003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 11 Aug 2014 16:10:29 +0000 (16:10 +0000)]
Enable C++11 tests on windows.
This also adds a landmine as windows bots need a clobber.
BUG=400033
LOG=n
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
457413003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 11 Aug 2014 15:55:28 +0000 (15:55 +0000)]
Move MachineRepresentation to machine-type.h and rename to MachineType in preparation for merging it with RepType.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
456333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dusan.milosavljevic@imgtec.com [Mon, 11 Aug 2014 15:46:32 +0000 (15:46 +0000)]
Reland "MIPS: Add support for arch. revision 6 to mips32 port."
Original commit r23028 breaks ARM64 build due to conflicting FP64 symbolic constant definition in src/globals.h and src/arm64/constants-arm64.h.
TEST=
BUG=
R=jkummerow@chromium.org, paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/
457313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@arm.com [Mon, 11 Aug 2014 15:40:11 +0000 (15:40 +0000)]
ARM64: minor corrections for TF.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
462573002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 11 Aug 2014 14:54:15 +0000 (14:54 +0000)]
Change the type of the cache so we can check whether it is there
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
457333003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 11 Aug 2014 14:22:24 +0000 (14:22 +0000)]
Move store-buffer to heap and remove some unnecessary includes.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
463523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 11 Aug 2014 14:16:43 +0000 (14:16 +0000)]
When dumping the stack, try to print contents as ASCII
This makes it easier to find strings that are on the stack for debugging
BUG=none
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
132503005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 11 Aug 2014 14:07:08 +0000 (14:07 +0000)]
Skip gmock and gtest in presubmit.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
454693004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 11 Aug 2014 14:04:37 +0000 (14:04 +0000)]
Small clean up of externalizing strings.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
462643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 11 Aug 2014 14:00:58 +0000 (14:00 +0000)]
Tag all prototypes as proto, except those set using __proto__
BUG=
R=ishell@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
450303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 11 Aug 2014 13:45:00 +0000 (13:45 +0000)]
Fix precisely sweeping asserts.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
463503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 11 Aug 2014 13:10:54 +0000 (13:10 +0000)]
Fix clang build; remove dead private field.
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
460683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 11 Aug 2014 13:07:32 +0000 (13:07 +0000)]
Remove duplication in Scheduler and simplify interface. Make ComputeSchedule() and ComputeSpecialRPO() the only interface used by clients.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
460633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 11 Aug 2014 12:57:25 +0000 (12:57 +0000)]
Replace Strings with Names in load and store ICs.
Mostly mechanical, the only interesting change is in KeyedLoadIC::Load, where we now handle x[symbol] in the same way we handle x['string']
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
461603002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00