Commit Graph

17985 Commits

Author SHA1 Message Date
yangguo@chromium.org
84edfa3d0c 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
2014-08-18 07:54:19 +00:00
bmeurer@chromium.org
d32fa64d33 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
2014-08-18 06:54:07 +00:00
machenbach@chromium.org
e5a24048f6 [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
2014-08-16 21:34:13 +00:00
jarin@chromium.org
bf5114736c 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
2014-08-16 18:58:13 +00:00
machenbach@chromium.org
f32b9ca516 [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
2014-08-15 17:04:18 +00:00
rmcilroy@chromium.org
ee26e273cb [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
2014-08-15 14:35:00 +00:00
machenbach@chromium.org
10b0c6d36a [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
2014-08-14 15:34:12 +00:00
dusan.milosavljevic@imgtec.com
6dee88849a 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
2014-08-14 15:23:01 +00:00
mstarzinger@chromium.org
5c7edb7e2b 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
2014-08-14 13:24:57 +00:00
verwaest@chromium.org
5bbb3a236d 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
2014-08-14 13:02:49 +00:00
mstarzinger@chromium.org
3adac582b0 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
2014-08-14 12:24:37 +00:00
jarin@chromium.org
0caf06dbd2 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
2014-08-14 11:31:42 +00:00
dslomov@chromium.org
eebb61a3f9 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
2014-08-14 10:24:19 +00:00
titzer@chromium.org
8741997982 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
2014-08-14 09:52:21 +00:00
bmeurer@chromium.org
bf56be001e 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
2014-08-14 09:31:52 +00:00
bmeurer@chromium.org
964ec21e53 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
2014-08-14 09:24:40 +00:00
titzer@chromium.org
9803a72417 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
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b [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
2014-08-14 09:07:58 +00:00
jochen@chromium.org
d9e671b5e4 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
2014-08-14 09:05:28 +00:00
jochen@chromium.org
2de0692a6e 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
2014-08-14 08:40:11 +00:00
jarin@chromium.org
18a10e3482 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
2014-08-14 07:41:33 +00:00
yangguo@chromium.org
efde48fb30 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
2014-08-14 07:11:44 +00:00
yangguo@chromium.org
0ae0b81cdb 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
2014-08-14 06:57:48 +00:00
bmeurer@chromium.org
f4b5224ae9 [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
2014-08-14 06:33:50 +00:00
mstarzinger@chromium.org
76a49573f3 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
2014-08-13 14:47:32 +00:00
dusan.milosavljevic@imgtec.com
c9879cfb34 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
2014-08-13 14:43:22 +00:00
arv@chromium.org
fdd094abcf 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
2014-08-13 14:34:15 +00:00
mstarzinger@chromium.org
8b7dd630da 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
2014-08-13 14:09:50 +00:00
mstarzinger@chromium.org
e3d028f5df 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
2014-08-13 14:05:37 +00:00
aandrey@chromium.org
3a3d6bd4f6 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
2014-08-13 13:06:30 +00:00
mstarzinger@chromium.org
a240fd6296 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
2014-08-13 12:38:22 +00:00
mstarzinger@chromium.org
2dfa9f97ae 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
2014-08-13 12:36:09 +00:00
jarin@chromium.org
b80e76841e 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
2014-08-13 11:46:05 +00:00
yangguo@chromium.org
1b17f59b5d 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
2014-08-13 11:14:35 +00:00
titzer@chromium.org
07ab6791a1 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
2014-08-13 10:30:00 +00:00
rodolph.perfetta@arm.com
b5b4e2c0b9 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
2014-08-13 10:29:22 +00:00
mstarzinger@chromium.org
7f628527d8 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
2014-08-13 10:23:17 +00:00
jarin@chromium.org
e0c1ee1591 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
2014-08-13 10:22:53 +00:00
jarin@chromium.org
89984f7241 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
2014-08-13 09:23:35 +00:00
arv@chromium.org
0a35d53f7d 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
2014-08-12 21:42:27 +00:00
arv@chromium.org
f95b81a6ef 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
2014-08-12 20:09:40 +00:00
arv@chromium.org
6c209206f5 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
2014-08-12 19:54:52 +00:00
machenbach@chromium.org
5ae2276f5a [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
2014-08-12 19:34:16 +00:00
dusan.milosavljevic@imgtec.com
8804736ba3 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
2014-08-12 19:04:15 +00:00
mstarzinger@chromium.org
1d2a0759f2 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
2014-08-12 17:54:41 +00:00
jkummerow@chromium.org
2c6d5cfb27 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
2014-08-12 15:29:03 +00:00
dslomov@chromium.org
d2fe3e68ea 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
2014-08-12 15:28:20 +00:00
yangguo@chromium.org
0f81d7698a 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
2014-08-12 13:36:33 +00:00
mstarzinger@chromium.org
44247036a7 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
2014-08-12 13:33:35 +00:00
sigurds@chromium.org
867c0d8e2a 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
2014-08-12 13:09:09 +00:00