Commit Graph

11302 Commits

Author SHA1 Message Date
wingo@igalia.com
3cd73ebc2f Generators return boxed values
Generators now box their return values in object literals of the form

  { value: VAL, done: DONE }

where DONE is false for yield expressions, and true for return
statements.

BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/13870007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 08:46:42 +00:00
dcarney@chromium.org
24649209a0 remove use of WriteAscii for vtune
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14900003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 07:23:39 +00:00
dslomov@chromium.org
9b45b71d5a Added an extra flag that enables only ArrayBuffer.
This makes Blink experimentation easier.

R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14884012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:19:27 +00:00
hpayer@chromium.org
c74ee804b3 Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
BUG=

Review URL: https://codereview.chromium.org/14714004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:17:49 +00:00
hpayer@chromium.org
4c1782022a Revert fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
BUG=

Review URL: https://codereview.chromium.org/14988004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 13:39:54 +00:00
hpayer@chromium.org
d869fd4fb1 Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
BUG=

Review URL: https://codereview.chromium.org/14649014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 13:07:10 +00:00
dcarney@chromium.org
1a9997ee37 Make v8 compilable without V8_USE_UNSAFE_HANDLES.
Without this modification, we get this error: "dereferencing type-punned pointer
will break strict-aliasing rules" (GCC strict aliasing).

Also included small CcTest sanity fixes: isolate() cannot return anything else
than default_isolate().

BUG=
TBR=dcarney@chromium.org

Review URL: https://codereview.chromium.org/14894006

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 13:01:03 +00:00
mvstanton@chromium.org
2d902c12a7 Parallel compilation fix: the optimizer thread shouldn't change the allow allocation state on AssertNoAllocation scopes.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/14796014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 10:59:17 +00:00
mmassi@chromium.org
77924e7e5b Fix occasional crash when lithium goes out of vregs.
BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/14850013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 09:27:06 +00:00
palfia@homejinni.com
ed160c5320 MIPS: Pretenure ASCII cons string in high promotion mode.
Port r14540 (c6093a6e)

BUG=

Review URL: https://codereview.chromium.org/14678006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 23:55:08 +00:00
palfia@homejinni.com
8941cff652 MIPS: Before comparing input with a constant smi in GenerateRecordCallTarget(), make sure the input register is actually a smi.
Port r14547 (a2e764c7)

BUG=

Review URL: https://codereview.chromium.org/14597006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 23:51:25 +00:00
mvstanton@chromium.org
84188e348b Before comparing input with a constant smi in GenerateRecordCallTarget(), make sure the input register is actually a smi.
BUG=

Review URL: https://codereview.chromium.org/14803005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 15:18:31 +00:00
mstarzinger@chromium.org
22c6fb384b Cache first hint operand while building live ranges.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/14771015

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 14:58:06 +00:00
verwaest@chromium.org
2aad78052e Don't double unlink in DCE.
Review URL: https://chromiumcodereview.appspot.com/14914004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 13:39:11 +00:00
wingo@igalia.com
19e5f6cbf0 toString() on generator functions prints with function*
This CL adds a %FunctionIsGenerator runtime function, and uses it in the
function toString() implementation.

R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-runtime

Review URL: https://codereview.chromium.org/14912002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 13:01:28 +00:00
mstarzinger@chromium.org
45a5535c85 Remove obsolete LiveRange::FirstPosWithHint helper.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/14650016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 12:49:48 +00:00
titzer@chromium.org
dbcd0e925a Remove HLoadElements instruction and replace with use of more general HLoadNamedField. This removes the need for both the hydrogen and lithium instructions and allows both kinds of loads to be GVN'd.
Review URL: https://codereview.chromium.org/14556020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 12:21:16 +00:00
verwaest@chromium.org
ea282f079e Turn on tracking of fields.
Review URL: https://chromiumcodereview.appspot.com/14771014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 11:05:54 +00:00
hpayer@chromium.org
ce3345123c Pretenure ASCII cons string in high promotion mode.
BUG=

Review URL: https://codereview.chromium.org/14451003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 10:36:16 +00:00
dcarney@chromium.org
191b85f543 d8 shell fix for r14530
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14907004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 10:36:13 +00:00
dslomov@chromium.org
02889cafb8 Add type checks to typed array property getters.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14650014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 09:59:50 +00:00
dslomov@chromium.org
18d02d06f0 Implement TypedArray.subarray method.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14740017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 09:43:44 +00:00
jkummerow@chromium.org
0ac47f23d8 Remove 'unanimous use observations' rule from Phi representation inference
Review URL: https://codereview.chromium.org/14840014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:50:48 +00:00
verwaest@chromium.org
984122a7ea Overwrite the handler using Set.
InsertAt apparently inserts by moving the other elements... that does not work.

Review URL: https://chromiumcodereview.appspot.com/14566007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:48:53 +00:00
mstarzinger@chromium.org
915f9ea500 Use first position in LAllocator ordering heuristic.
This changes the tiebreaker for LAllocator's ordering heuristic of
live ranges to use the first use position instead of the first hinted
use position. Searching for the first hinted position introduces
unnecessary overhead.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/14855010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:09:37 +00:00
dcarney@chromium.org
0cf128390f deprecate WriteAscii and MayContainNonAscii
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14638003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 06:47:24 +00:00
dcarney@chromium.org
ae287f04b2 build fix for 14530
TBR=svenpanne@chromium.org
BUG=
TEST=

Review URL: https://codereview.chromium.org/14881002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 22:00:39 +00:00
dcarney@chromium.org
2e856d2c16 expose AssertNoAllocation to api
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14625003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:28:02 +00:00
dcarney@chromium.org
cf5ff5a14c first step to remove unsafe handles
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12729023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:18:42 +00:00
palfia@homejinni.com
1b7edf8d2a MIPS: Turn the load field code stub into a hydrogen code stub.
Port r14526 (7c581932)

BUG=

Review URL: https://codereview.chromium.org/14855008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 18:25:16 +00:00
jkummerow@chromium.org
eaf9d14be9 Use worklist to find out Phis that could not be truncated to int32
Review URL: https://codereview.chromium.org/13950013

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 17:00:53 +00:00
jkummerow@chromium.org
b3e65aff57 Fix typo in cctest.status
Review URL: https://codereview.chromium.org/14854011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 16:55:18 +00:00
verwaest@chromium.org
51dded6e9c Turn the load field code stub into a hydrogen code stub.
Review URL: https://chromiumcodereview.appspot.com/14847004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 16:32:47 +00:00
jkummerow@chromium.org
f78f583110 Detect truncating Phi uses of Phis with constant inputs
Review URL: https://codereview.chromium.org/14260013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 16:30:58 +00:00
verwaest@chromium.org
84fd96e4d1 Cleanup IC heuristics.
Review URL: https://chromiumcodereview.appspot.com/14611006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:42:22 +00:00
verwaest@chromium.org
063ada2050 Adding fast path for generalizing maps.
Review URL: https://chromiumcodereview.appspot.com/14629005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:41:02 +00:00
verwaest@chromium.org
fd9c82a618 Update deprecated maps before generating optimized code.
Review URL: https://chromiumcodereview.appspot.com/14847008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:40:07 +00:00
verwaest@chromium.org
8b25614aa9 Always tag number candidate as smi if it does not come from load-keyed.
Review URL: https://chromiumcodereview.appspot.com/14556007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 14:41:06 +00:00
dslomov@chromium.org
8b1f81fa24 Allow pathological zero-length typed arrays.
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/14857002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 13:51:03 +00:00
dslomov@chromium.org
343bf33918 Range checking bug in typed array constructor.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14850011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 13:30:57 +00:00
dslomov@chromium.org
2751eeb361 More typed array constructors.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14845012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 12:27:03 +00:00
dslomov@chromium.org
6e86141916 Implementation of Uint8ClampedArray.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/14657003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:36:48 +00:00
mstarzinger@chromium.org
29b00ed427 Bump virtual register width in LUnallocated.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/14589008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:22:32 +00:00
mstarzinger@chromium.org
47608c900a Allow more virtual registers to be encoded in LUnallocated.
This is a preparation which allows us to bump the virtual register width
from 15 to 18 bit without sacrificing width for other fields inside an
unallocated lithium operand.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/14639008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 09:51:07 +00:00
palfia@homejinni.com
c092da378b MIPS: Fix mjsunit/harmony/generators-iteration test failure.
BUG=

Review URL: https://codereview.chromium.org/14695004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 22:54:36 +00:00
palfia@homejinni.com
8eb459a4e5 MIPS: Allow setting debugger breakpoints on CompareNilICs
Port r14487 (022d1fc3)

BUG=

Review URL: https://codereview.chromium.org/14662002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 19:09:33 +00:00
dslomov@chromium.org
1469acaa7f Add Value::Is* methods for typed arrays and ArrayBuffer
R=rossberg
BUG=

Committed https://code.google.com/p/v8/source/detail?r=14506

Review URL: https://codereview.chromium.org/13977018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:53:27 +00:00
dslomov@chromium.org
3af1cc1072 Revert "Fix typo"
This reverts commit r14506 (that was commited with a wrong description).

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:49:20 +00:00
dslomov@chromium.org
b029ad4201 Fix typo
R=rossberg@chromium.org

BUG=

Committed: https://code.google.com/p/v8/source/detail?r=14505

Review URL: https://codereview.chromium.org/13993029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:02:22 +00:00
dslomov@chromium.org
7bfd5e9031 Fix typo
R=rossberg@chromium.org

BUG=

Review URL: https://codereview.chromium.org/13993029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 17:57:54 +00:00