jochen@chromium.org [Tue, 3 Dec 2013 13:12:52 +0000 (13:12 +0000)]
Tests that make a stack allocated persistent weak and rely on gc need to force gc
Otherwise, if during a fuzzer test incremental marking is running, we'll
crash in the weak callback
BUG=none
TBR=verwaest@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
101843002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 12:38:25 +0000 (12:38 +0000)]
Mock out date call in push-to-trunk script for testability.
TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98173003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 3 Dec 2013 12:32:35 +0000 (12:32 +0000)]
Make LCodeGen::RegisterDependentCodeForEmbeddedMaps platform independent.
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
99053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 11:24:56 +0000 (11:24 +0000)]
Revert "Use constant types to represent the fixed right arg of a MOD."
This reverts commit r18228 for crashing on Windows.
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
101663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18229
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 10:51:57 +0000 (10:51 +0000)]
Use constant types to represent the fixed right arg of a MOD.
R=mvstanton@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
99173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18228
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:40:13 +0000 (10:40 +0000)]
Remove deprecated Persistent::MakeWeak usage from V8
BUG=none
LOG=n
R=dcarney@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
101523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18227
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:39:21 +0000 (10:39 +0000)]
Change clang-format config to allow for two empty lines between functions
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
101543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 3 Dec 2013 10:24:41 +0000 (10:24 +0000)]
Add dcarney to V8 OWNERS
R=danno@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/
101373003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18225
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Tue, 3 Dec 2013 09:59:24 +0000 (09:59 +0000)]
Enable new string add.
BUG=v8:2990
LOG=n
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
100223003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18222
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 3 Dec 2013 09:48:30 +0000 (09:48 +0000)]
Remove HeapSnapshotsCollection class
The class added unecessary level of indirection to the heap profiler implementation. I merged some of its implementation into HeapProfiler and deleted the rest. This refactoring is also a prerequisite for keeping HeapObjectsMap alive even when all snapshots are deleted.
BUG=None
LOG=N
R=alph@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
101393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 09:13:51 +0000 (09:13 +0000)]
Fix change log generation in push-to-trunk script.
Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.
TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
99573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 3 Dec 2013 08:00:20 +0000 (08:00 +0000)]
Prepare push to trunk. Now working on version 3.23.18.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
101313002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 3 Dec 2013 03:49:41 +0000 (03:49 +0000)]
Refactor X64 movq assembler instruction
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
91333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
haitao.feng@intel.com [Tue, 3 Dec 2013 02:49:42 +0000 (02:49 +0000)]
Use ULL and LL suffix for uint64_t and int64_t constants on Mac
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
96623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:18:22 +0000 (21:18 +0000)]
MIPS: Tidy up Throw and Mod
Port r18200 (
4110d9df)
Original commit message:
Small fixes to Throw and Mod Lithium instructions.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100003003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:17:16 +0000 (21:17 +0000)]
MIPS: Refactor BinaryOpIC to be able to use different stubs.
Port r18191 (
c20c6dc1)
Original commit message:
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100023002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:16:21 +0000 (21:16 +0000)]
MIPS: Fix HInnerAllocatedObject to use an HValue for the offset.
Port r18181 (
2b41b833)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
99763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18212
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 21:15:31 +0000 (21:15 +0000)]
MIPS: Optimize WrapReceiver
Port r18180 (
56666385)
Original commit message:
Optimize register constraints and code generated for WrapReceiver Lithium instruction.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
100013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 2 Dec 2013 18:34:33 +0000 (18:34 +0000)]
Check elimination: Learn from if(CompareMap(x)) on true branch.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
99043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 2 Dec 2013 18:12:01 +0000 (18:12 +0000)]
Remove remaining HandleScope::Close usage
For some reason, this is only caught when compiling with chromium on
Mac.
BUG=none
R=verwaest@chromium.org, dslomov@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
99263002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18209
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 2 Dec 2013 17:40:06 +0000 (17:40 +0000)]
MIPS: Remove the obsolete Code::IsPregenerated flag.
Port r18172 (
cd823192)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
99323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18208
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 2 Dec 2013 15:46:41 +0000 (15:46 +0000)]
Print exit code on crash in run-tests.py
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
99363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18204
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
marja@chromium.org [Mon, 2 Dec 2013 15:41:57 +0000 (15:41 +0000)]
Fix: test-debug.cc: don't misuse C++.
The test in question (test-debug/LiveEditEnabled) is expected to fail, and it
failed, but because of the wrong reason (the test asserts that the default
isolate is not initialized, SetLiveEditEnabled initialized the default
isolate because it doesn't get one as param). Now it fails because of the right
reason.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
99043004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 2 Dec 2013 15:38:50 +0000 (15:38 +0000)]
Bug in StoreIC::GenerateMegamorphic: strict_mode/extra_ic_state mismatch.
When computing the code flags for a megamorphic store IC, we mistakenly
passed a strict_mode variable when an ExtraICState was expected.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98633005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 2 Dec 2013 15:29:31 +0000 (15:29 +0000)]
Support 'werror=no' on Mac/Xcode
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98653003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 15:27:57 +0000 (15:27 +0000)]
ARM: Tidy up Throw and Mod
Small fixes to Throw and Mod Lithium instructions.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
98603005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18200
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 2 Dec 2013 14:49:39 +0000 (14:49 +0000)]
Enable global load elimination.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
98943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18198
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 2 Dec 2013 14:27:24 +0000 (14:27 +0000)]
Simplify allocation tracker API
Deprecated separate methods for starting/stopping allocation tracking in favor of a bool param to Start/StopTrackingHeapObjects.
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96933003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18197
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 2 Dec 2013 13:49:32 +0000 (13:49 +0000)]
Move more logic from AST to oracle, pt 3
Also eliminates remaining dependencies of type-info on AST.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
95033003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18194
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:40:14 +0000 (13:40 +0000)]
Fix NaCl build.
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
99093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18193
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:14:07 +0000 (13:14 +0000)]
Refactor BinaryOpIC to be able to use different stubs.
Previously BinaryOpIC and BinaryOpStub were pretty much interdependent.
However, in order to use allocation sites for string adds on-demand,
we need to be able to use different stubs (with a different number of
register parameters, via trampolines) depending on the BinaryOpIC state.
R=hpayer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
97543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 13:12:07 +0000 (13:12 +0000)]
Fix invalid assertion with OSR in BuildBinaryOperation.
BUG=v8:3032
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
98623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 2 Dec 2013 12:56:54 +0000 (12:56 +0000)]
Make sin-cos test case compatible with --always-osr.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
98893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 2 Dec 2013 12:11:02 +0000 (12:11 +0000)]
Handle captured objects in OptimizedFrame::Summarize.
R=yangguo@chromium.org
BUG=v8:3029
TEST=mjsunit/regress/regress-3029
LOG=N
Review URL: https://codereview.chromium.org/
96773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 2 Dec 2013 11:59:44 +0000 (11:59 +0000)]
Removed pieces of extra_ic_state scattered around the stub compiler class hierarchy, and pushed down to a extra_ic_state in the base class.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
98853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 11:24:31 +0000 (11:24 +0000)]
Fix HInnerAllocatedObject to use an HValue for the offset.
R=hpayer@chromium.org, mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
98673003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 2 Dec 2013 10:56:23 +0000 (10:56 +0000)]
ARM: Optimize WrapReceiver
Optimize register constraints and code generated for WrapReceiver Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
96993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 2 Dec 2013 10:46:10 +0000 (10:46 +0000)]
Prepare push to trunk. Now working on version 3.23.17.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
98453003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 2 Dec 2013 09:53:28 +0000 (09:53 +0000)]
Add retry feature for push-to-trunk script.
Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
91733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18174
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 2 Dec 2013 09:51:37 +0000 (09:51 +0000)]
Remove special "store global proxy" IC, use as slow_stub().
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95503003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18173
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 09:46:35 +0000 (09:46 +0000)]
Remove the obsolete Code::IsPregenerated flag.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96753003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18172
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 2 Dec 2013 08:09:17 +0000 (08:09 +0000)]
Fix compilation error with latest Xcode.
The build failed because of unused private fields.
R=titzer@chromium.org
BUG=v8:3030
LOG=n
Review URL: https://codereview.chromium.org/
94793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18171
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Sun, 1 Dec 2013 11:40:02 +0000 (11:40 +0000)]
Don't run tests if build fails in quickcheck.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
97803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18170
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Sat, 30 Nov 2013 01:32:07 +0000 (01:32 +0000)]
MIPS: Drop IsPregenerated() and allow_stub_calls flag.
Port r18167 (
1e4b11e0)
Original commit message:
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
97373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18169
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 23:46:10 +0000 (23:46 +0000)]
MIPS: Fix failures on Octane 2.0 zlib benchmark.
The bug was introduced in af9504e.
The zlib benchmark triggers long branch mode on MIPS, in which
at register is clobbered after every branch.
TEST=benchmarks/octane/zlib
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
95203005
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18168
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Nov 2013 20:49:15 +0000 (20:49 +0000)]
Drop IsPregenerated() and allow_stub_calls flag.
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
96853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18167
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 19:51:52 +0000 (19:51 +0000)]
MIPS: Fix --new-string-add feature.
This commit fixes the arguments of NewStringAdd stub in full-codegen.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96593005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18166
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 19:50:38 +0000 (19:50 +0000)]
MIPS: Optimize NumberTagU
Port r18162 (
8377a09b)
Original commit message:
Optimize register constaints for NumberTagU Lithium instruction, and adjust code generated to match.
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
97083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18165
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 29 Nov 2013 15:22:16 +0000 (15:22 +0000)]
Array builtins need to be prevented from changing frozen objects, and changing structure on sealed objects.
BUG=299979
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
80623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18164
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Fri, 29 Nov 2013 13:21:43 +0000 (13:21 +0000)]
ARM: Optimize NumberTagU
Optimize register constaints for NumberTagU Lithium instruction, and adjust code
generated to match.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
94983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18162
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 29 Nov 2013 12:57:47 +0000 (12:57 +0000)]
Reupload CallIC changes.
Relands https://codereview.chromium.org/
91963003/ with fix for the invalid receiver patching in case of the global object / interceptor.
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
96763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18161
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Fri, 29 Nov 2013 12:37:35 +0000 (12:37 +0000)]
Eliminate HCheckHeapObject instructions in check elimination.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
95263005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18160
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 11:43:05 +0000 (11:43 +0000)]
Prepare push to trunk. Now working on version 3.23.16.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
96593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18157
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 11:20:59 +0000 (11:20 +0000)]
Turn off new_string_add flag.
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
95603008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18156
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 10:31:49 +0000 (10:31 +0000)]
Revert r18144, r18143.
MIPS: Fix register usage.
MIPS: Cleanup in the CallStubCompiler.
The original revisions r18131 and r18139 have been reverted.
TBR=palfia@homejinni.com
Review URL: https://codereview.chromium.org/
96743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18154
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 29 Nov 2013 10:02:32 +0000 (10:02 +0000)]
A few small refactorings and typo fixes
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
95333002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18153
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:59:35 +0000 (09:59 +0000)]
Follow-up fix for r18135 in TryCallApply.
R=yangguo@chromium.org
BUG=chromium:323942
TEST=mjsunit/regress/regress-crbug-323942
LOG=N
Review URL: https://codereview.chromium.org/
95583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18152
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 29 Nov 2013 09:54:38 +0000 (09:54 +0000)]
Do not put allocated block into HeapObjectsMap
Heap allocation reported to AllocationTracker may be later divided into several objects so it is incorrect to put the block as a new HeapObject into the map. We will match allocated block with actual HeapObjects later when iterating Heap (will be addressed in another patch). Since the objects are not assigned an id immediately after creation we need to call FindOrAddEntry when finding id for SharedFunctionInfo during stack crawling.
Removed hooks for tracking creation of AllocationMemento. AllocationMemento is not a HeapObject and should be considered as implementation overhead.
Renamed NewObjectEvent to AllocationEvent which is more precise in case of folded allocations and when a part of the new block becomes AllocationMemento.
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
95283003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18151
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 29 Nov 2013 09:47:40 +0000 (09:47 +0000)]
Fix context register allocation in LTransitionElementsKind.
R=yangguo@chromium.org
BUG=chromium:324306
LOG=N
Review URL: https://codereview.chromium.org/
95293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18150
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 29 Nov 2013 09:47:32 +0000 (09:47 +0000)]
Move heap profiler state flags to HeapProfiler
- moved is_tracking_objects_ flag to HeapProfiler and renamed it to is_tracking_objects_moves_
- Removed redundant call to UpdateHeapObjectsMap
BUG=None
LOG=N
R=loislo@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
94993004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18149
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Fri, 29 Nov 2013 09:44:54 +0000 (09:44 +0000)]
Enable --new-string-add by default.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
96513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18148
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 09:31:45 +0000 (09:31 +0000)]
Fix build.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
96623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18147
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 29 Nov 2013 09:02:00 +0000 (09:02 +0000)]
Revert r18131 and r18139 "Clean up in the CallStubCompiler".
and "Fix register usage."
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
96573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18146
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:47:48 +0000 (01:47 +0000)]
MIPS: Fetch strictmode in the interceptor setter from the IC.
Port r18140 (
9d563402)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18145
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:46:43 +0000 (01:46 +0000)]
MIPS: Fix register usage.
Port r18139 (
2d54152a)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18144
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:44:23 +0000 (01:44 +0000)]
MIPS: Cleanup in the CallStubCompiler.
Port r18131 (
b49d9992)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18143
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 29 Nov 2013 01:43:02 +0000 (01:43 +0000)]
MIPS: Use the HandlerFrontendHeader in most call compilers.
Port r18125 (
e541c68d)
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
96043002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18142
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:13:30 +0000 (18:13 +0000)]
Remove strictmode from FindHandler.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95433002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18141
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:11:15 +0000 (18:11 +0000)]
Fetch strictmode in the interceptor setter from the IC.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95373002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18140
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 18:09:05 +0000 (18:09 +0000)]
Fix register usage.
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
95333004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18139
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Nov 2013 16:14:54 +0000 (16:14 +0000)]
Remove static asserts that dont compile on windows
TBR=mvstanton
BUG=
Review URL: https://codereview.chromium.org/
95493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18138
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Nov 2013 15:50:54 +0000 (15:50 +0000)]
Implement global check elimination using the HFlowEngine.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
46883009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18137
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 28 Nov 2013 15:32:55 +0000 (15:32 +0000)]
Move responsibility for definition of ExtraICState bits into the ICs.
Currently it's in the Code object for some ICs and in ICs for other ICs.
This should make it easier to alter bits as needed.
2) Recover an extra bit in the code object to give us 6 bits for the extra ic state. We'll need it soon to store contextual state.
3) Cleanup code that treated StrictMode enum and ExtraICState enum as interchangeble.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
91803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18136
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Nov 2013 15:30:17 +0000 (15:30 +0000)]
Fix bug in inlining Function.apply.
R=jkummerow@chromium.org
BUG=323942
LOG=Y
Review URL: https://codereview.chromium.org/
95123003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18135
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Thu, 28 Nov 2013 15:27:42 +0000 (15:27 +0000)]
Fix load elimination: can only .Equals() GVN-able instructions.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
95193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18133
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 15:26:04 +0000 (15:26 +0000)]
Cleanup in the CallStubCompiler.
BUG=
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
91963003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18131
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 28 Nov 2013 15:25:38 +0000 (15:25 +0000)]
Move more logic from AST to oracle, pt 2
(More to follow)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
95163002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18130
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Thu, 28 Nov 2013 15:22:36 +0000 (15:22 +0000)]
Ensure that length is Smi in TypedArrayFromArrayLike constructor.
R=jkummerow@chromium.org
BUG=324028
LOG=Y
Review URL: https://codereview.chromium.org/
94473002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18129
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 28 Nov 2013 14:30:20 +0000 (14:30 +0000)]
Undeprecate Persistent::ClearAndLeak
We depend on this in blink, and won't be able to replace it in
the near future
R=svenpanne@google.com, svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
95003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18128
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Thu, 28 Nov 2013 14:13:47 +0000 (14:13 +0000)]
Swap cp and pp registers on Arm such for work on OOL Constant Pool.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
94723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18127
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Nov 2013 14:10:56 +0000 (14:10 +0000)]
Fix quickcheck make target.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
95073002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18126
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 28 Nov 2013 13:56:49 +0000 (13:56 +0000)]
Use the HandlerFrontendHeader in most call compilers.
R=ishell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
83753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18125
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 28 Nov 2013 13:45:23 +0000 (13:45 +0000)]
Fix allocation memento bookeeping code for js arrays.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
95053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18124
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Nov 2013 13:42:23 +0000 (13:42 +0000)]
Prepare push to trunk. Now working on version 3.23.15.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
95033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18121
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Thu, 28 Nov 2013 13:18:04 +0000 (13:18 +0000)]
Add fast make and test all target.
The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements.
Runtime from scratch (after make clean): < 8 min
Runtime tests only: < 3 min
TEST=make quickcheck
R=jkummerow@chromium.org, yangguo@chromium.org
Review URL: https://codereview.chromium.org/
94703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18120
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 28 Nov 2013 13:16:51 +0000 (13:16 +0000)]
Move more type collection logic from AST to oracle.
(More to come in follow-up CL.)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
91863003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18119
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Thu, 28 Nov 2013 11:38:40 +0000 (11:38 +0000)]
ARM: Optimize fixed double arguments
Optimize fixed double arguments to arithmetic Lithium instructions.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
91113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18118
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 28 Nov 2013 10:49:02 +0000 (10:49 +0000)]
Added tracing support for pretenuring.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
94493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18117
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 28 Nov 2013 09:29:57 +0000 (09:29 +0000)]
Fix missing bounds check in n-arguments Array constructor.
LOG=N
R=mvstanton@chromium.org
BUG=v8:3027
TEST=mjsunit/regress/regress-3027
Review URL: https://codereview.chromium.org/
92103003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18116
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 28 Nov 2013 08:59:45 +0000 (08:59 +0000)]
Shorten autogenerated error message.
R=rossberg@chromium.org
BUG=v8:3019
LOG=Y
Review URL: https://codereview.chromium.org/
88393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18115
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Thu, 28 Nov 2013 08:21:26 +0000 (08:21 +0000)]
Mark deprecated APIs with relatively little use as deprecated
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
91503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18114
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 27 Nov 2013 17:21:40 +0000 (17:21 +0000)]
Harmony promises
Based on prototype at
https://github.com/rossberg-chromium/js-promise
which informed the latest spec draft version at
https://github.com/domenic/promises-unwrapping/blob/master/README.md
Activated by --harmony-promises.
Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.
This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.
R=dslomov@chromium.org, yhirano@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
64223010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Wed, 27 Nov 2013 15:10:46 +0000 (15:10 +0000)]
Prepare push to trunk. Now working on version 3.23.14.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
91763002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 27 Nov 2013 14:32:35 +0000 (14:32 +0000)]
ARM/MIPS compilation error.
Due to an error during platform porting.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
91583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 27 Nov 2013 14:03:40 +0000 (14:03 +0000)]
The goal is to discover the appropriate heap space for objects created in full
code. By the time we optimize the code, we'll be able to decide on new or old
space based on the number of surviving objects after one or more gcs.
The mechanism is a "memento" placed behind objects in the heap. It's currently
done for array and object literals, with plans to use mementos for constructed
objects as well (in a later CL).
The feature is behind the flag allocation_site_pretenuring, currently off.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
40063002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 27 Nov 2013 14:00:54 +0000 (14:00 +0000)]
Remove the strict-mode flag from store handlers. It's only relevant to the IC stub.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
91413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rmcilroy@chromium.org [Wed, 27 Nov 2013 10:07:57 +0000 (10:07 +0000)]
Avoid trying to decode the raw inline constant which is part of the aged code prologue.
BUG=v8:3007
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
88303003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 27 Nov 2013 09:39:41 +0000 (09:39 +0000)]
Add ES specification reference to DateNow.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
89353002
Patch from Victor Costan <costan@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 27 Nov 2013 09:30:49 +0000 (09:30 +0000)]
Split Persistent into Persistent and UniquePersistent
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
88013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Wed, 27 Nov 2013 09:24:42 +0000 (09:24 +0000)]
Avoid useless #ifdef DEBUG checks for the --trace-ic flag.
FLAG_trace_ic is constant false in non-DEBUG builds anyways.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
91003002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00