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
dslomov@chromium.org [Wed, 27 Nov 2013 09:22:04 +0000 (09:22 +0000)]
Provide "freeBuffer()" primitive for testing under ASan.
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
85883002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Wed, 27 Nov 2013 07:13:00 +0000 (07:13 +0000)]
Avoid copying flow-sensitive state when only a goto separates blocks.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
48353007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 26 Nov 2013 20:31:47 +0000 (20:31 +0000)]
MIPS: Optimize Integer32ToSmi.
Port r18084 (426bc19)
Original commit message:
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.
TEST=none
BUG=
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
88623004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 26 Nov 2013 16:53:04 +0000 (16:53 +0000)]
Increase test runner speed.
Let the test runner preserve the order of test suites to let suites with long running tests run first.
Mark some tests as slow that can now be skipped via --slow-tests=skip.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
88343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 26 Nov 2013 16:48:55 +0000 (16:48 +0000)]
Make optimized debug builds compile with all optimizations.
This results in a speed-up of around 30% on all architectures. For local developer builds only. The bots will continue to use level 1 for now.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
88563002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Tue, 26 Nov 2013 16:34:13 +0000 (16:34 +0000)]
ARM: Optimize Integer32ToSmi
Optimize register constraints and code generated for Integer32ToSmi Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
88383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 26 Nov 2013 15:48:13 +0000 (15:48 +0000)]
Increase precision for base conversion for large integers.
R=jkummerow@chromium.org
BUG=v8:3025
LOG=Y
Review URL: https://codereview.chromium.org/
88583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 26 Nov 2013 14:21:46 +0000 (14:21 +0000)]
Flatten cons string for single character substrings.
For substrings of non-flat cons strings, we bail out
to runtime. For single character substrings, we forget
to flatten it. This causes successive bailouts.
R=bmeurer@chromium.org
BUG=323041
LOG=Y
Review URL: https://codereview.chromium.org/
88173002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 26 Nov 2013 13:55:06 +0000 (13:55 +0000)]
Removed dead ceiling function.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
88133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ishell@chromium.org [Tue, 26 Nov 2013 13:52:44 +0000 (13:52 +0000)]
Range info propagation through HBoundsCheck.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
86233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Tue, 26 Nov 2013 13:50:16 +0000 (13:50 +0000)]
Prepare push to trunk. Now working on version 3.23.13.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
88363002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 26 Nov 2013 12:29:47 +0000 (12:29 +0000)]
Implement Math.ceil via Math.floor.
This way we get all the Crankshaft goodness and avoid always going
through the runtime: Less code + even some small speedup in Kraken.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
88053002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Tue, 26 Nov 2013 12:18:27 +0000 (12:18 +0000)]
Disable load elimination.
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
88073002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 26 Nov 2013 11:32:39 +0000 (11:32 +0000)]
Speed up long-running test cases.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
85163003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 26 Nov 2013 10:43:44 +0000 (10:43 +0000)]
Make some ARM test cases faster.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/
85473004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Tue, 26 Nov 2013 09:45:17 +0000 (09:45 +0000)]
Add Isolate* parameter to static API methods that don't take one.
We cannot yet deprecate the versions that don't take one, because
there's too much test code in v8 using them. To keep this CL small and
managable, I'll first introduce the new APIs.
BUG=none
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
84833006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 26 Nov 2013 08:50:15 +0000 (08:50 +0000)]
Fix generate_trig_table build target.
It now closely resembles the js2c target, so that we only have
one platform to run it on (either 'host' or 'target'). This way
we do not run into warnings when compiling for e.g. ARM.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
85893002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 25 Nov 2013 21:25:15 +0000 (21:25 +0000)]
MIPS: Generate TypedArrayInitialize builtin in hydrogen.
Port r18059 (b2849c3)
BUG=
R=dslomov@chromium.org, gergely@homejinni.com
Review URL: https://codereview.chromium.org/
86053003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 25 Nov 2013 21:22:06 +0000 (21:22 +0000)]
MIPS: Minor cleanup in calling interceptors for loading properties.
Port r18054 (59d9d99)
BUG=
Review URL: https://codereview.chromium.org/
84943008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 25 Nov 2013 21:18:59 +0000 (21:18 +0000)]
MIPS: A performance regression in array literal creation was caused by refactoring.
Port r18046 (99c7352)
Original commit message:
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.
BUG=v8:3008
LOG=Y
R=gergely@homejinni.com
Review URL: https://codereview.chromium.org/
85633004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
m.m.capewell@googlemail.com [Mon, 25 Nov 2013 19:17:21 +0000 (19:17 +0000)]
ARM: Optimize TypeofIsAndBranch
Optimize register constraints and code generated for TypeofIsAndBranch Lithium
instruction.
TEST=none
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
78583002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 25 Nov 2013 17:34:52 +0000 (17:34 +0000)]
Make test runner more flexible for running fast tests.
Transformed variant flags into named variants. Now, all combinations of variants can be specified on the command line. The old command-line flags are kept for backwards compatibility on the bots.
Added two new test groups: slow and pass|fail. Both are implemented similar to the flaky test feature and allow to either skip or run tests marked as slow or as pass|fail.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
85733003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Mon, 25 Nov 2013 14:41:46 +0000 (14:41 +0000)]
Generate TypedArrayInitialize builtin in hydrogen.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
59023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jochen@chromium.org [Mon, 25 Nov 2013 14:30:59 +0000 (14:30 +0000)]
Add versions with an Isolate parameter for inlined API methods that need one
We shouldn't have APIs that call Isolate::GetCurrent() internally. This
change removes all remaining occurrences of inlined methods in v8.h
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
85693002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 25 Nov 2013 14:20:39 +0000 (14:20 +0000)]
Improve and refactor push-to-trunk script.
Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
83603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
bmeurer@chromium.org [Mon, 25 Nov 2013 14:07:05 +0000 (14:07 +0000)]
Drop unused Assembler::set_external_target_at() method.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
85793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 25 Nov 2013 14:06:06 +0000 (14:06 +0000)]
Minor cleanup in calling interceptors for loading properties.
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
82743003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 25 Nov 2013 13:27:36 +0000 (13:27 +0000)]
Fix failing test test-api/CheckCOWArraysCreatedRuntimeCounter
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
85743002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 25 Nov 2013 12:55:02 +0000 (12:55 +0000)]
Add -R option to merge-to-branch script to revert from bleeding_edge.
Usage:
tools/merge-to-branch.sh -R 12345 12346
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
85413004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 25 Nov 2013 12:50:52 +0000 (12:50 +0000)]
Force inline Math.random.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
85483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 25 Nov 2013 12:41:27 +0000 (12:41 +0000)]
A performance regression in array literal creation was caused by refactoring that eliminated a special fast case for shallow arrays. At the same time the general case got a bit slower. This CL restores most of the performance without coding the special fast case. The virtual dispatching is unnecessary because we know what we want to do at compile time. A flag was added to Runtime::CreateArrayLiteral. The flags delivers information about shallowness but also whether or not allocation mementos should be created. This is useful for crankshafted code.
BUG=v8:3008
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
77293003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
titzer@chromium.org [Mon, 25 Nov 2013 12:21:00 +0000 (12:21 +0000)]
Enable global load elimination.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
48583005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 25 Nov 2013 12:19:02 +0000 (12:19 +0000)]
Fixed printer for JSFunction.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
85613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Mon, 25 Nov 2013 12:00:44 +0000 (12:00 +0000)]
Prepare push to trunk. Now working on version 3.23.12.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
85623002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 25 Nov 2013 08:36:46 +0000 (08:36 +0000)]
Unbreak console=readline.
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
85343002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 25 Nov 2013 08:15:35 +0000 (08:15 +0000)]
freebsd: unbreak build after r16646
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/
85313002
Patch from Ben Noordhuis <ben@strongloop.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jarin@chromium.org [Mon, 25 Nov 2013 06:44:23 +0000 (06:44 +0000)]
Support for the Linux 'perf report' and 'perf annotate' tools.
In this change, the support comes in two flavours:
--perf_jit_prof - outputs the files in a new perf format that only works with a
patched perf tool (patch obtained from Stephane Eranian). Both 'perf report' and
'perf annotate' are supported (the file format also contains the machine code).
--perf_basic_prof - outputs the files in a format that the existing perf tool
can consume. Only 'perf report' is supported.
In both cases, we have to disable code compaction because the perf tool does not
understand code relocation. (We are told that code relocation should be
supported soon.)
Usage:
perf record -g d8 --perf_jit_prof --no_compact_code_space my.js
perf report
The change itself is straightforward - we simply listen to code events and
write an entry to a log file for every new piece of code.
I am not yet sure whether we should keep both versions or just one (and which
one). My hope is the reviewers can help here.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
70013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00