wingo@igalia.com [Mon, 10 Jun 2013 09:26:18 +0000 (09:26 +0000)]
Generator object "next" method takes optional send value
Update the generators implementation to make "next" also do the job of
what was previously called "send" by taking an optional argument.
Remove send, and do a bunch of renamings.
R=rossberg@chromium.org
BUG=v8:2355, v8:2715
Review URL: https://codereview.chromium.org/
16136011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 10 Jun 2013 09:12:57 +0000 (09:12 +0000)]
Fix LoadIC calling convention on ARM
The comments in ic-arm.cc::LoadIC indicated that the receiver should be
both in a register and on the stack. This isn't true in fact: the code
is careful to spill the receiver if needed.
This CL also fixes up a mistaken use of this convention in in
VisitYield.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16203004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 08:19:03 +0000 (08:19 +0000)]
build fix for 15025
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16561011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:56:17 +0000 (07:56 +0000)]
build fix for 15023
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16729002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:41:16 +0000 (07:41 +0000)]
add a default value for return value
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16642003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:34:58 +0000 (07:34 +0000)]
do aligned reads in ContainsOnlyOneByte
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16147004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 10 Jun 2013 06:37:30 +0000 (06:37 +0000)]
Make GCMole happy
TBR=yangguo@google.com
Review URL: https://codereview.chromium.org/
16544009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sun, 9 Jun 2013 20:10:29 +0000 (20:10 +0000)]
Find breakpoint by PC rather than source position when clearing breakpoint
Current approach is to find breakpoint by the statement position that was used when setting breakpoint. This doesn't work when setting breakpoint by anything else but statement position.
(Question: could PC of existing breakpoint change, for example because of recompilation, or this approach is safe)
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
15685010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 7 Jun 2013 18:34:24 +0000 (18:34 +0000)]
Fixed typo in test expectations SKIP -> Skip
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 17:28:46 +0000 (17:28 +0000)]
Take all uses into account to clear int32 truncation.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16656002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 7 Jun 2013 17:25:47 +0000 (17:25 +0000)]
Try to deflake cctest/test-cpu-profiler/NativeAccessorNameInProfile1 on Windows
Make native accessors sleep for 1ms before measuring elapsed time. This is to check the theory that we cannot pause profiled thread on Win64 for some reason and miss many samples.
BUG=None
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16656003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 7 Jun 2013 16:59:34 +0000 (16:59 +0000)]
MIPS: Baseline for-of implementation.
Port r15002 (d2f0fac)
Original commit message:
Add full-codegen support for the ES6 for-of iteration statement.
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
15995040
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 7 Jun 2013 16:48:22 +0000 (16:48 +0000)]
Fix very strange bug in FindBreakLocationFromAddress algorithm
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
15737023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 7 Jun 2013 16:00:19 +0000 (16:00 +0000)]
MIPS: Fill more branch delay slots.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
15967006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 7 Jun 2013 15:59:10 +0000 (15:59 +0000)]
Lists tests to skip. The test expectations file will be assigned to the run_webkit_tests script using the additional expectations flag.
The tests listed in this file will be maintained manually. The list contains tests that typically fail on the V8 waterfall.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16634005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 7 Jun 2013 15:58:51 +0000 (15:58 +0000)]
Prepare push to trunk. Now working on version 3.19.12.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16234008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 7 Jun 2013 15:43:56 +0000 (15:43 +0000)]
Fix presubmit errors
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16017008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 7 Jun 2013 15:18:49 +0000 (15:18 +0000)]
Add missing AllowHandleDereference to LAllocator::BuildLiveRanges.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
16509004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 7 Jun 2013 15:02:20 +0000 (15:02 +0000)]
Neutering API for v8::ArrayBuffer
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16562005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Jun 2013 13:27:03 +0000 (13:27 +0000)]
Enable map dependency to in-flight compilation info.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16542003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 7 Jun 2013 13:21:20 +0000 (13:21 +0000)]
CallNewArray sites need the original feedback cell at crankshaft time.
This CL addresses a TODO in the hydrogen-based array constructor code,
to pass through the actual type feedback cell, rather than the contents
of the cell.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
16408005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Fri, 7 Jun 2013 13:11:17 +0000 (13:11 +0000)]
Fix InlineCacheState for ToBoolean and CompareIC
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
16613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Fri, 7 Jun 2013 11:12:21 +0000 (11:12 +0000)]
Baseline for-of implementation
Add full-codegen support for the ES6 for-of iteration statement.
R=mstarzinger@chromium.org, rossberg@chromium.org
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
Review URL: https://codereview.chromium.org/
15288011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 11:00:39 +0000 (11:00 +0000)]
Allow boundscheck elimination to work on Smi keys.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16035016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 7 Jun 2013 10:52:11 +0000 (10:52 +0000)]
Recording array buffer views.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15562008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 10:46:51 +0000 (10:46 +0000)]
Make ReturnValue a friend of Persistent, so it can use operator*.
BUG=
R=dcarney@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
15848010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Fri, 7 Jun 2013 10:02:42 +0000 (10:02 +0000)]
ARM: Fix build flags for snapshot generation.
The existing code ignores armv7 and arm_fpu flags since r14288.
R=jkummerow@chromium.org, rodolph.perfetta@gmail.com
Review URL: https://chromiumcodereview.appspot.com/
16313003
Patch from Jakob Kummerow <jkummerow@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 09:11:33 +0000 (09:11 +0000)]
Don't ignore the actual input representation in UnaryMathOperations
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16035014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14997
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 09:07:53 +0000 (09:07 +0000)]
Infer the range of Math.abs
R=jkummerow@chromium.org, svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16268009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14996
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 08:46:39 +0000 (08:46 +0000)]
Add Value::Cast.
It's needed for upcasting Persistent<Object> to Persistent<Value> after
handlepocalypse (with Persistent::As or Persistent::Cast).
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16206014
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Jun 2013 08:38:05 +0000 (08:38 +0000)]
Remove use of Isolate::Current in regexp macro assemblers.
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16026020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 08:15:00 +0000 (08:15 +0000)]
build fix for build fix for 14990
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16409011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 07:56:49 +0000 (07:56 +0000)]
lint failure with latest depot_tools
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
15795006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 07:54:39 +0000 (07:54 +0000)]
build fix for 14990
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16180011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 07:34:25 +0000 (07:34 +0000)]
ReturnValue::Set(uint32_t) is wrong
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16365008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Thu, 6 Jun 2013 19:15:40 +0000 (19:15 +0000)]
Remove redudant deleted_count argument from EnqueueSpliceRecord
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16438010
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Thu, 6 Jun 2013 18:59:11 +0000 (18:59 +0000)]
MIPS: Assign less environments.
Port r14983 (960d6de)
BUG=
Review URL: https://codereview.chromium.org/
16567002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 6 Jun 2013 15:40:28 +0000 (15:40 +0000)]
Allow smis for singleton types
To that end, introduce a generic Box struct.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16562003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Jun 2013 15:32:39 +0000 (15:32 +0000)]
Do not GC prior to every parallel recompile.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16410005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 6 Jun 2013 15:30:46 +0000 (15:30 +0000)]
Fix bogus assertions for tracing and verify.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
15778012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 6 Jun 2013 14:38:26 +0000 (14:38 +0000)]
Add initial parser support for harmony iteration
This commit adds initial parser support for harmony iteration.
Specifically, it will parse:
for (x of y) {}
for (let x of y) {}
for (var x of y) {}
The semantics are still unimplemented.
TEST=mjsunit/harmony/for-of-syntax
BUG=v8:2214
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
15300018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Jun 2013 14:31:44 +0000 (14:31 +0000)]
Assign less environments
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16556002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14983
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 6 Jun 2013 14:21:35 +0000 (14:21 +0000)]
Initialized representations of computed values to None.
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
14721009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14982
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 6 Jun 2013 14:13:44 +0000 (14:13 +0000)]
Prepare push to trunk. Now working on version 3.19.11.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14979
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 6 Jun 2013 13:28:22 +0000 (13:28 +0000)]
Add type field to AST expression nodes
More importantly, do a bunch of renamings of incidental existing "types" to avoid actual and potential name clashes (and also to improve consistency).
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16549002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14978
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 6 Jun 2013 13:22:42 +0000 (13:22 +0000)]
Move runtime array constructor functions from builtins.cc to runtime.cc.
Not only is runtime.cc a better location, but situations arise soon where we'll
want to make runtime calls to these functions.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16399007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 6 Jun 2013 13:16:52 +0000 (13:16 +0000)]
add function to test whether string contents are definitely one byte
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16530003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 6 Jun 2013 12:32:32 +0000 (12:32 +0000)]
build fix for 14973
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15692020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14975
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 6 Jun 2013 12:24:05 +0000 (12:24 +0000)]
Revert "Make more GCs in idle notification handler." because of performance
regression.
R=jkummerow@chromium.org
BUG=246141
Review URL: https://chromiumcodereview.appspot.com/
15864010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14974
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 6 Jun 2013 12:23:37 +0000 (12:23 +0000)]
update test to test new style property handlers
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15769014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 6 Jun 2013 12:05:22 +0000 (12:05 +0000)]
Fix TypedArray object printer output.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
16545002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 6 Jun 2013 11:58:02 +0000 (11:58 +0000)]
Fix Android build issue 247303
ARM v7 support isn't available in the android build snapshot.
BUG=247303
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
16364007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 6 Jun 2013 11:37:40 +0000 (11:37 +0000)]
Fix TypedArray error for parameterless constructor.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/
16542002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rodolph.perfetta@gmail.com [Thu, 6 Jun 2013 10:17:07 +0000 (10:17 +0000)]
RegExp macro assembler clean up.
Removes never called methods and fix a bug on ARM.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
16280005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Thu, 6 Jun 2013 09:26:30 +0000 (09:26 +0000)]
Allocation type info advice consumed in bailout path leads to assert failure.
If the runtime is taken for a constructor like "new Array(100000)", where
allocation site info already led to an elements kind of DOUBLE, then the runtime
would fail to transition the array to dictionary mode. Better to recognize this
case and avoid wasting time by following the advice. Furthermore, it offers a
way to recognize that the array should be in dictionary mode (though a future
checkin will capitalize on that).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
15993012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14966
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Thu, 6 Jun 2013 07:00:57 +0000 (07:00 +0000)]
Print accessors loop iterations count in test-cpu-profiler/NativeAccessorNameInProfile1
The test is failing on Win64 bot but passes locally I need this debug print to better understand what's different on the bot.
BUG=None
TBR=loislo@chromium.org
Review URL: https://codereview.chromium.org/
16527006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14965
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 5 Jun 2013 21:02:29 +0000 (21:02 +0000)]
Fix EntryHookStub on ia32 and x64.
These stubs were computing the return address location incorrectly.
Add testing for same.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
15769017
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 5 Jun 2013 17:52:44 +0000 (17:52 +0000)]
MIPS: Add LoadIC_Slow builtin and use it for loading properties from primitive values.
Port r14950 (12748bb)
Original commit message:
This fixes recent performance regressions on Dromaeo.
BUG=chromium:242512
Review URL: https://codereview.chromium.org/
16452011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 5 Jun 2013 17:24:14 +0000 (17:24 +0000)]
Don't force representations in the loop builder.
Additionally, infer None-typed CompareIDAndBranch to Smi+actual input.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16365004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14960
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 5 Jun 2013 16:45:19 +0000 (16:45 +0000)]
MIPS: Fix LStoreKeyed error when tracing instruction.
Port r14951 (01dbfe2)
Original commit message:
LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.
BUG=
Review URL: https://codereview.chromium.org/
16171019
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 5 Jun 2013 16:06:38 +0000 (16:06 +0000)]
MIPS: Adapt hydrogen-based Array constructor to also support InternalArray and function call versions.
Port r14948 (1c2f28c)
BUG=
Review URL: https://codereview.chromium.org/
16407004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14958
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 5 Jun 2013 15:43:53 +0000 (15:43 +0000)]
New unified type representation
Not used yet, only unit tests.
R=jkummerow@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16154027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14957
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Jun 2013 15:35:14 +0000 (15:35 +0000)]
Cosmetic change to the handle dereference check.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16171017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14956
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 5 Jun 2013 13:38:28 +0000 (13:38 +0000)]
Prepare push to trunk. Now working on version 3.19.10.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16379010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14953
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 5 Jun 2013 12:36:33 +0000 (12:36 +0000)]
Cutover v8 to use new style callbacks internally
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15793007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14952
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 5 Jun 2013 12:09:02 +0000 (12:09 +0000)]
Fix LStoreKeyed error when tracing instruction.
LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
15793006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Jun 2013 11:12:49 +0000 (11:12 +0000)]
Add LoadIC_Slow builtin and use it for loading properties from primitive values.
This fixes recent performance regressions on Dromaeo.
BUG=chromium:242512
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
16226024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14950
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 5 Jun 2013 11:05:45 +0000 (11:05 +0000)]
Use HSoftDeoptimize instead of HDeoptimize in VisitSwitchStatement, and visit the entire graph
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
15929010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 5 Jun 2013 10:43:18 +0000 (10:43 +0000)]
Adapt hydrogen-based Array constructor to also support InternalArray and function call
versions.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
14576005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 5 Jun 2013 09:41:24 +0000 (09:41 +0000)]
Free PerThreadAssertData when possible to avoid memory leak.
R=svenpanne@chromium.org
BUG=246567
Review URL: https://chromiumcodereview.appspot.com/
16093024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 5 Jun 2013 08:43:25 +0000 (08:43 +0000)]
Remove the optimized construct stub.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
15993016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Wed, 5 Jun 2013 06:15:41 +0000 (06:15 +0000)]
Print accessors execution time in test-cpu-profiler/NativeAccessorNameInProfile1
The test is failing on Win64 bot but passes locally I need this debug print to better understand what's different on the bot.
BUG=None
TBR=loislo@chromium.org
Review URL: https://codereview.chromium.org/
16359016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Tue, 4 Jun 2013 23:58:49 +0000 (23:58 +0000)]
Array.observe emit splices for array length change and update index >= length
R=adamk@chromium.org, rossberg@chromium.org
Review URL: https://codereview.chromium.org/
15504002
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 4 Jun 2013 20:17:22 +0000 (20:17 +0000)]
MIPS: Turn off allocation site info for crankshafted array constructor calls.
Port r14934 (dbddd7e)
Original commit message:
Once we crankshaft a method, we should turn off allocation site info for
constructed arrays. Additionally, the semantics for doing this were
awkward because the constructed array code stubs get an
AllocationSiteMode as a minor key, but it's used as a permission to
determine the final mode locally based on ElementsKind. I refactored
this to a simpler boolean for override or local control.
BUG=
Review URL: https://codereview.chromium.org/
16226020
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 4 Jun 2013 20:14:37 +0000 (20:14 +0000)]
MIPS: Deprecate FACTORY helper macro.
Port r14931 (a914442)
Original commit message:
This removes the FACTORY helper macro to avoid accidental TLS access
when using the factory. Most internal code has access to the Isolate by
now whereas tests which are not performance critical still heavily use
TLS access through explicit Isolate::Current() calls.
BUG=
Review URL: https://codereview.chromium.org/
15994011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Tue, 4 Jun 2013 20:11:16 +0000 (20:11 +0000)]
MIPS : Collect type feedback for power-of-2 right operands in BinaryOps.
Port r14928 (a2e0e18)
Original commit message:
Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.
BUG=
Review URL: https://codereview.chromium.org/
16361004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Jun 2013 17:20:06 +0000 (17:20 +0000)]
Prevent excessive processing of weak maps while marking.
This makes sure processing of Harmony weak maps is only triggerd twice
during a mark-compact collection. Note that the processing itself still
is a fix-point iteration with quadratic worst-case time.
R=hpayer@chromium.org
BUG=v8:2699
Review URL: https://codereview.chromium.org/
16286018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Jun 2013 17:15:32 +0000 (17:15 +0000)]
Fix win build
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
15934019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 4 Jun 2013 16:41:24 +0000 (16:41 +0000)]
Liveness analysis for environment slots in Hydrogen
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
15533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Jun 2013 15:39:56 +0000 (15:39 +0000)]
Replace log2 with MostSignificantBit
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
15994015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 4 Jun 2013 13:36:18 +0000 (13:36 +0000)]
Remove V8_USE_OLD_STYLE_PERSISTENT_HANDLE_VISITORS.
Blink has migrated to use the new style visitors.
BUG=
R=dcarney@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16360005
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 4 Jun 2013 13:20:13 +0000 (13:20 +0000)]
Added pretenuring support for call new.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
16226012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Tue, 4 Jun 2013 12:48:51 +0000 (12:48 +0000)]
Turn off allocation site info for crankshafted array constructor calls.
Once we crankshaft a method, we should turn off allocation site info for
constructed arrays. Additionally, the semantics for doing this were
awkward because the constructed array code stubs get an
AllocationSiteMode as a minor key, but it's used as a permission to
determine the final mode locally based on ElementsKind. I refactored
this to a simpler boolean for override or local control.
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
16206007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14934
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 4 Jun 2013 12:26:39 +0000 (12:26 +0000)]
Infer the range of XOR as limited by the highest possible changed bit.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16361003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 4 Jun 2013 10:57:32 +0000 (10:57 +0000)]
CPU profiler should support names of accessors set via v8::Object::SetAccessor
This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.
It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.
This is a slightly modified version of r14915 which was rolled back due to test timeout on Windows. Compared to r14915 the new tests use OS::TimeCurrentMillis instead of OS::Ticks as OS::Ticks has ms precision on Windows and trying to wait 10 ticks (us) will result in at least 1 ms pause.
BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
15995017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Jun 2013 10:30:05 +0000 (10:30 +0000)]
Deprecate FACTORY helper macro.
This removes the FACTORY helper macro to avoid accidental TLS access
when using the factory. Most internal code has access to the Isolate by
now whereas tests which are not performance critical still heavily use
TLS access through explicit Isolate::Current() calls.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16337005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 4 Jun 2013 08:28:33 +0000 (08:28 +0000)]
Deprecate HAllocateObject in favor of HAllocate.
This models the instantiation of an implicit receiver for CallNew nodes
in hydrogen using HAllocate together with generic stores instead of one
specialized HAllocateObject instruction, hence creating a single choking
point for inlined allocation in optimized code.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
15714005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 4 Jun 2013 08:06:53 +0000 (08:06 +0000)]
Revert accidental change to SealHandleScope.
R=dslomov@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16226007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 4 Jun 2013 07:49:45 +0000 (07:49 +0000)]
Collect type feedback for power-of-2 right operands in BinaryOps.
Improved --trace-ic output for unary/binary ops a bit on the way. Moved int32_t/uint32_t conversion helpers around.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
15735005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14928
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 4 Jun 2013 06:17:53 +0000 (06:17 +0000)]
Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
Relanding r14916 that was rolled back in r14918
BUG=v8:2628
TBR=danno
Review URL: https://codereview.chromium.org/
16355004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 3 Jun 2013 16:57:36 +0000 (16:57 +0000)]
Improve smi support in crankshaft
- Recover smi in phis if inputs are smi-typed
- Don't record smi-typed values as pointers
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16240003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14926
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Jun 2013 16:01:51 +0000 (16:01 +0000)]
Fix windows build.
R=rossberg@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
15927012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14923
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 3 Jun 2013 15:43:11 +0000 (15:43 +0000)]
Prepare push to trunk. Now working on version 3.19.9.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16140010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 3 Jun 2013 15:32:22 +0000 (15:32 +0000)]
Make assertion scopes thread safe.
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
15691017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 3 Jun 2013 15:25:28 +0000 (15:25 +0000)]
Revert 14916: Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
Revert 14915: CPU profiler should support names of accessors set via v8::Object::SetAccessor
Due to Windows failures
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
16335005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 3 Jun 2013 14:46:23 +0000 (14:46 +0000)]
Special Array constructor type feedback erroneously recorded when Array
was called as a function. Issue was found with optimize_constructed_array
turned on. This patch makes the fix, and turns the flag back on.
BUG=244461
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
16057005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 3 Jun 2013 12:58:25 +0000 (12:58 +0000)]
Mark test-cpu-profiler/SampleWhenFrameIsNotSetup as flaky on MIPS simulator
The test started failing again, disabling it for now.
BUG=v8:2628
TBR=jkummerow
Review URL: https://codereview.chromium.org/
16329004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 3 Jun 2013 12:50:03 +0000 (12:50 +0000)]
CPU profiler should support names of accessors set via v8::Object::SetAccessor
This change fixes the case when the accessors are invoked from JSObject::{Get,Set}PropertyWithCallback.
It already works for inlined calls generated by StoreStubCompiler::CompileStoreCallback. The same still needs to be fixed for getter invocations generated by BaseLoadStubCompiler::CompileLoadCallback, corresponding case is commented out in the new test.
BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
16004007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 3 Jun 2013 10:02:02 +0000 (10:02 +0000)]
remove V8_ALLOW_ACCESS_TO_PERSISTENT_IMPLICIT and V8_ALLOW_ACCESS_TO_PERSISTENT_ARROW
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15979014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Mon, 3 Jun 2013 09:46:32 +0000 (09:46 +0000)]
Remove unnecessary check from Logger::LogCodeObject
Logger::LogCodeObjects is the only caller of the method. And all its
call sites check for at least one of the coditions before calling
LogCodeObjects. So there is no need to check it again.
BUG=None
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
15980007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00