yangguo
2c01bd34b0
Fix Math.log10 implementation for 1 - Number.EPSILON.
...
R=svenpanne@chromium.org
BUG=v8:4025
LOG=N
Review URL: https://codereview.chromium.org/1084853002
Cr-Commit-Position: refs/heads/master@{#27815}
2015-04-14 11:56:02 +00:00
arv
186dd69b3a
[es6] Fix length property of collection constructors
...
{Map, Set, WeakMap, WeakSet}.length should be 0.
BUG=v8:4021
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/1073233002
Cr-Commit-Position: refs/heads/master@{#27798}
2015-04-13 18:59:39 +00:00
arv
0e539d1ca9
Revert "ES6: Number and Boolean prototype should be ordinary objects"
...
This reverts commit e965a1f84a
.
The reason is that it breaks jsfiddle.com
BUG=476437, v8:4001
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/1086673002
Cr-Commit-Position: refs/heads/master@{#27791}
2015-04-13 16:21:00 +00:00
ben
80b7a962b2
Use correct property descriptor in generators test
...
BUG=
Review URL: https://codereview.chromium.org/1077413002
Cr-Commit-Position: refs/heads/master@{#27771}
2015-04-12 21:18:31 +00:00
mike
0a4881600d
Correct property descriptors on GeneratorPrototype
...
The ES6 specification does not explicitly state the attributes for the
'next' and 'throw' property descriptors, so their values are defined by
Section 17 [1]:
> Every other data property described in clauses 18 through 26 and in
> Annex B.2 has the attributes
> { [[Writable]]: true, [[Enumerable]]: false, [[Configurable]]: true }
> unless otherwise specified.
[1]
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-ecmascript-standard-built-in-objects
BUG=v8:3986
LOG=N
R=wingo,arv
Review URL: https://codereview.chromium.org/1051363003
Cr-Commit-Position: refs/heads/master@{#27770}
2015-04-11 21:14:20 +00:00
caitpotter88
9836c34dba
[es6] do not add caller/arguments to ES6 function definitions
...
BUG=v8:3946, v8:3982
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
LOG=N
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/1027283004
Cr-Commit-Position: refs/heads/master@{#27729}
2015-04-09 22:40:28 +00:00
caitpotter88
48eff34c32
[es6] don't "replace" Object.prototype.toString for --harmony-tostring
...
When ObjectToString is installed on Object.prototype twice (once in v8natives.js, and once in harmony-tostring.js), this pollutes old code spaces on some devices. To prevent this, the function is only installed once, preventing test failures when the --harmony-tostring flag is flipped on by default.
BUG=v8:3502
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/1072083002
Cr-Commit-Position: refs/heads/master@{#27720}
2015-04-09 20:53:46 +00:00
arv
e965a1f84a
ES6: Number and Boolean prototype should be ordinary objects
...
BUG=v8:4001
LOG=N
R=adamk@chromium.org , rossberg@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/1051373002
Cr-Commit-Position: refs/heads/master@{#27680}
2015-04-08 21:18:40 +00:00
mvstanton
af293729ad
Tests that carefully checks opt/deopt status shouldn't --always-opt.
...
If we optimize a function before gathering feedback it may be
peppered with soft deoptimizations. So it can't help but deoptimize.
A judicious reading of the code isn't enough to determine what the
optimization state should be in the face of such chaotic gyrations.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/1069363003
Cr-Commit-Position: refs/heads/master@{#27671}
2015-04-08 15:56:01 +00:00
mike
3b624a1796
Re-implement %Generator% intrinsic as an object
...
From ES6 25.2.3 ("Properties of the GeneratorFunction Prototype
Object"):
> The GeneratorFunction prototype object is an ordinary object. It is
> not a function object and does not have an [[ECMAScriptCode]] internal
> slot or any other of the internal slots listed in Table 27 or Table
> 56.
Introduce one assertion for the value's type and additional tests for its
properties. Remove an invalid assertion that fails as a result of this
fix.
BUG=v8:3991
LOG=N
Review URL: https://codereview.chromium.org/1062633002
Cr-Commit-Position: refs/heads/master@{#27603}
2015-04-06 21:04:51 +00:00
mike
30ea626886
Remove invalid assertion
...
The removed assertion consistently passes not because the invoked
`close` method internally throws a `TypeError` but because the `close`
method does not exist. The ES6 specification does not define a `close`
method on the GeneratorPrototype, so this test is a tautology.
BUG=None
LOG=N
R=arv
Review URL: https://codereview.chromium.org/1046963002
Cr-Commit-Position: refs/heads/master@{#27567}
2015-04-01 15:22:19 +00:00
mike
3badfdcd50
Re-write duplicated assertions
...
The modified assertions targeted the property descriptor for the
template object's first "cooked" value. The code immediately preceeding
these statements asserts these values.
Update the assertions to instead target the property descriptor for the
template object's first "raw" value (which are otherwise untested).
BUG=
Review URL: https://codereview.chromium.org/1049523003
Cr-Commit-Position: refs/heads/master@{#27566}
2015-04-01 15:13:21 +00:00
arv
bb21979adf
ES6: Unscopable should use ToBoolean
...
The spec settled on ToBoolean instead of only using not undefined.
BUG=v8:3827
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/1045113002
Cr-Commit-Position: refs/heads/master@{#27548}
2015-03-31 15:14:20 +00:00
arv
a373b089e9
Remove --harmony-numeric-literal flag
...
We have been shipping harmony numeric literals since M41
R=rossberg@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/1024603002
Cr-Commit-Position: refs/heads/master@{#27545}
2015-03-31 14:24:30 +00:00
dslomov
15ef61d468
Make sure debugger is ready for breakpoins when we process 'debugger' statement.
...
On 'debugger' statement, if anything in debugger calls 'EnsureDebugInfo'
on a function, EnsureDebugInfo would compile and substitute code without
debug break slots. This causes weird behavior later when stepping fails
to work (see added test as an example).
This fix is to make sure the debugger is prepared for breakpoints in
that case as well.
Also adds extra testing for bug 468661.
R=yangguo@chromium.org ,yurys@chromium.orh
BUG=v8:3990,chromium:468661
LOG=N
Review URL: https://codereview.chromium.org/1032353002
Cr-Commit-Position: refs/heads/master@{#27502}
2015-03-27 18:33:17 +00:00
dcarney
d76526032f
fix reconfigure of indexed integer exotic objects
...
R=verwaest@chromium.org
BUG=466084
LOG=N
Review URL: https://codereview.chromium.org/1037213002
Cr-Commit-Position: refs/heads/master@{#27498}
2015-03-27 10:12:55 +00:00
yangguo
46cc8740a9
Debugger: remove unused JS Debugger API.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/1005053004
Cr-Commit-Position: refs/heads/master@{#27464}
2015-03-26 08:15:45 +00:00
dslomov
49c3a60651
Do not assign positions to parser-generated desugarings.
...
The root cause for the bug is that the positions assigned to desugared
code was inconsistent with the source ranges of block scopes.
Since the fact that the position is assigned causes the debugger to
break at the parser-generated statement, the fix is to remove positions
from those nodes that we do not want to break on.
The CL also teaches Hydrogen to tolerate these cases.
R=adamk@chromium.org ,rossberg@chromium.org
BUG=chromium:468661
LOG=Y
Review URL: https://codereview.chromium.org/1032653002
Cr-Commit-Position: refs/heads/master@{#27424}
2015-03-24 17:16:53 +00:00
aandrey
fc1689392e
Make debugger step into bound callbacks passed to Array.forEach.
...
BUG=chromium:450004
R=yangguo@chromium.org , kozyatinskiy@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/1030673002
Cr-Commit-Position: refs/heads/master@{#27419}
2015-03-24 16:02:12 +00:00
caitpotter88
6fcc22dce1
[es6] call ToString() on template substitutions
...
BUG=v8:3980
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/1027183002
Cr-Commit-Position: refs/heads/master@{#27402}
2015-03-24 12:44:01 +00:00
caitpotter88
fd51f615eb
[es6] remove --harmony-templates flag
...
BUG=v8:3230
R=dslomov@chromium.org , arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/1027593005
Cr-Commit-Position: refs/heads/master@{#27352}
2015-03-23 07:01:48 +00:00
rossberg
d0e20d8221
[harmony] Move some regression tests to the right place
...
TBR=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1027693003
Cr-Commit-Position: refs/heads/master@{#27339}
2015-03-20 11:03:14 +00:00
dslomov
af04fdfec8
Remove harmony-strings flag.
...
String functions are shipping since 4.1/Chrome M41, it is time to unflag.
R=yanngguo@chromium.org ,rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1024813002
Cr-Commit-Position: refs/heads/master@{#27337}
2015-03-20 10:43:38 +00:00
rossberg
7875a89122
Adjust key behaviour for weak collections
...
R=dslomov@chromium.org
BUG=460083,v8:3970,v8:3971
LOG=Y
Review URL: https://codereview.chromium.org/1018923002
Cr-Commit-Position: refs/heads/master@{#27272}
2015-03-18 12:51:58 +00:00
arv
e625844648
[es6] Function length property should be configurable
...
ES6 specs the function length property (it was not part of ES5) and
it makes it configurable.
BUG=v8:3045
LOG=N
R=mstarzinger@chromium.org , adamk@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/993073002
Cr-Commit-Position: refs/heads/master@{#27190}
2015-03-13 17:19:53 +00:00
dslomov
a8289230a3
Fix test for function declarations syntax error.
...
Also fix parsing of declarations after case labels.
R=waldron.rick@gmail.com ,rossberg@chromium.org
BUG=v8:3939
LOG=N
Review URL: https://codereview.chromium.org/964063003
Cr-Commit-Position: refs/heads/master@{#27189}
2015-03-13 16:57:35 +00:00
dslomov
92138c73a7
Remove --harmony-scoping flag.
...
We have been shipping harmony scoping for 2 Chrome releases now (M41
and M42). Time to remove the flag.
R=rossberg@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/1007783002
Cr-Commit-Position: refs/heads/master@{#27187}
2015-03-13 15:15:57 +00:00
dcarney
040225a315
handle the special snowflakes that are Integer Indexed Exotic objects
...
the implementation doesn't yet throw on strict mode assignment
BUG=
Review URL: https://codereview.chromium.org/992913002
Cr-Commit-Position: refs/heads/master@{#27121}
2015-03-10 19:11:20 +00:00
yangguo
9dedcc3dfc
Simplify promise event on throw handling.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/991833002
Cr-Commit-Position: refs/heads/master@{#27074}
2015-03-09 13:41:55 +00:00
arv
f6cd009efd
ES6: Make function name configurable
...
Function name property is now standardized in ES6. It was a Mozilla proprietary
extension before. With ES6, the property was made configurable, so that it can
be used instead of another proprietary property, displayName.
This is a revert of revert c791d84112
.
Last time this broke a Chrome browser test which has since been updated:
5f75a3be4c
BUG=v8:3333
LOG=N
R=mstarzinger@chromium.org ,verwaest@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/977003004
Cr-Commit-Position: refs/heads/master@{#26996}
2015-03-04 16:57:10 +00:00
rossberg
054989bd04
[es6] Fix for-const loops
...
R=dslomov@chromium.org
BUG=3983
LOG=Y
Review URL: https://codereview.chromium.org/977543002
Cr-Commit-Position: refs/heads/master@{#26971}
2015-03-03 18:34:40 +00:00
arv
c791d84112
Revert of ES6: Make function name configurable (patchset #10 id:220001 of https://codereview.chromium.org/960343002/ )
...
Reason for revert:
Breaks Chrome browser test that checks Object.name
[16509:16509:0228/030150:INFO:CONSOLE(43)] "Uncaught Error: Clobbered Object.name getter", source: http://www.chromium.org:33611/assertions.js (43)
http://build.chromium.org/p/client.v8/builders/Linux%20Tests%20%28dbg%29%281%29/builds/2328/steps/browser_tests/logs/stdio
Original issue's description:
> ES6: Make function name configurable
>
> This is partially based on r21609 but that CL was incomplete.
>
> Function name is still non writable so one has to use defineProperty
> to change the actual value.
>
> BUG=v8:3333
> LOG=N
> R=adamk, mstarzinger@chromium.org
>
> Committed: https://crrev.com/f7790f7670c8d859455a98fcb90ff1b66af1eca7
> Cr-Commit-Position: refs/heads/master@{#26924}
TBR=adamk@chromium.org ,mstarzinger@chromium.org,verwaest@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3333
Review URL: https://codereview.chromium.org/969683002
Cr-Commit-Position: refs/heads/master@{#26933}
2015-03-02 00:19:01 +00:00
arv
f7790f7670
ES6: Make function name configurable
...
This is partially based on r21609 but that CL was incomplete.
Function name is still non writable so one has to use defineProperty
to change the actual value.
BUG=v8:3333
LOG=N
R=adamk, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/960343002
Cr-Commit-Position: refs/heads/master@{#26924}
2015-02-27 19:29:01 +00:00
arv
87f77d6aba
for-of should throw if result object is not an object
...
This is done using desugaring. Before this we had:
result = iterator.next()
with this we instead do:
!%_IsSpecObject(result = iterator.next()) &&
%ThrowIteratorResultNotAnObject(result)
BUG=v8:3916
LOG=N
Review URL: https://codereview.chromium.org/929733003
Cr-Commit-Position: refs/heads/master@{#26805}
2015-02-23 23:34:38 +00:00
arv
36e72aedf0
ES6 collections: Fix order of constructor logic
...
The adder should be gotten before the iterator.
Motivation: Once this is done we should be able to use a for-of loop
instead which leads to cleaner code and correct behavior once the
for-of loop correctly supports abrupt completion.
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/949933002
Cr-Commit-Position: refs/heads/master@{#26803}
2015-02-23 18:55:46 +00:00
arv
3a8e496fa4
Promise.all and race should work with iterables
...
BUG=v8:3705
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/948843004
Cr-Commit-Position: refs/heads/master@{#26801}
2015-02-23 18:10:14 +00:00
arv
925364f5b4
Fix issue with -0 in Maps
...
Because we generated a different hash code for 0 and -0 we ended up
not even getting to the SameValueZero check.
BUG=v8:3906
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/947443005
Cr-Commit-Position: refs/heads/master@{#26787}
2015-02-20 21:02:55 +00:00
arv
fa1523ea6e
ES6: Fix GetIterator
...
After further spec reading it turns out that we should not do ToObject
on the iterable.
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/941313003
Cr-Commit-Position: refs/heads/master@{#26786}
2015-02-20 20:07:21 +00:00
arv
b9f006a404
Align GetIterator with ES6 spec
...
BUG=None
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/936793003
Cr-Commit-Position: refs/heads/master@{#26759}
2015-02-19 21:38:18 +00:00
rossberg
4c082b570d
Make generator constructors configurable
...
R=mstarzinger@chromium.org
BUG=v8:3902
LOG=Y
Review URL: https://codereview.chromium.org/939953002
Cr-Commit-Position: refs/heads/master@{#26744}
2015-02-19 11:30:33 +00:00
caitpotter88
b5c43674f9
Update harmony ObjectProtoToString() to 2/2/2015 spec
...
Applies to API implementation of O.p.toString
- Removes special handling of non-string @@toStringTag values (use builtinTag)
- Removes special handling of @@toStringTags which match [[Class]] names (remove ~ prefix)
- Add tests for non-string @@toStringTag values in test-api.cc
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/892393003
Cr-Commit-Position: refs/heads/master@{#26415}
2015-02-03 21:05:25 +00:00
caitpotter88
858b9b6a7e
Update harmony Object.prototype.toString to 2/2/2015 spec
...
- Removes special handling of non-string @@toStringTag values (use builtinTag)
- Removes special handling of @@toStringTags which match [[Class]] names (remove ~ prefix)
BUG=v8:3502
R=arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/895633004
Cr-Commit-Position: refs/heads/master@{#26411}
2015-02-03 17:45:20 +00:00
caitpotter88
12af28309a
ES6 Array.prototype.toString falls back on Object.prototype.toString if method "join" is not callable.
...
BUG=v8:3793
LOG=Y
R=dslomov@chromium.org , arv@chromium.org
Review URL: https://codereview.chromium.org/835753002
Cr-Commit-Position: refs/heads/master@{#26253}
2015-01-23 15:21:44 +00:00
yangguo
a4a62c129b
Extend and fix tests for custom heap snapshot.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/856793002
Cr-Commit-Position: refs/heads/master@{#26110}
2015-01-16 22:18:27 +00:00
arv
2639bfe993
ES6: Update unscopables to match spec
...
The spec ended up using Get(unscopables, propertyName) and
comparing the result to undefined instead of using Has.
BUG=v8:3632
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/807893002
Cr-Commit-Position: refs/heads/master@{#25854}
2014-12-16 20:07:41 +00:00
yangguo
dae6dfe08b
Implement Math.log2 via ported extract from fdlibm.
...
Adapted from Raymond Toy's (rtoy@chromium.org ) port, extracted from fdlibm's pow implementation.
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/786823003
Cr-Commit-Position: refs/heads/master@{#25768}
2014-12-11 11:23:37 +00:00
aandrey
cec0acad38
Expose generator object internal properties via mirrors.
...
BUG=v8:3292
R=yangguo@chromium.org , wingo@igalia.com
LOG=N
Review URL: https://codereview.chromium.org/760303002
Cr-Commit-Position: refs/heads/master@{#25571}
2014-11-28 14:49:08 +00:00
dslomov
34702e9d59
Set @@toStringTag on GeneratorFunction prototype.
...
R=caitpotter88@gmail.com
BUG=v8:3502
LOG=N
Review URL: https://codereview.chromium.org/764823002
Cr-Commit-Position: refs/heads/master@{#25550}
2014-11-27 16:09:43 +00:00
yangguo
529ff0cfbf
Implement log10 via fdlibm port.
...
R=rtoy@chromium.org
BUG=v8:3579
LOG=N
Review URL: https://codereview.chromium.org/739913003
Cr-Commit-Position: refs/heads/master@{#25433}
2014-11-20 09:37:27 +00:00
dslomov
69990745f7
Remove Weak{Map,Set}.prototype.clear.
...
Per Nov 2014 TC39 decision.
R=adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/739303002
Cr-Commit-Position: refs/heads/master@{#25429}
2014-11-19 21:53:01 +00:00
aandrey
f07b0f214b
Allow stepping into Object.observe handlers.
...
BUG=chromium:432468
R=yangguo@chromium.org , adamk@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/739523002
Cr-Commit-Position: refs/heads/master@{#25423}
2014-11-19 15:16:40 +00:00
aandrey
407d1dfb87
Allow stepping into Promise handlers.
...
BUG=chromium:432468
R=yangguo@chromium.org , adamk@chromium.org , arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/734163002
Cr-Commit-Position: refs/heads/master@{#25389}
2014-11-18 09:50:32 +00:00
dslomov
d7e3697ddc
harmony-scoping: Implement debugger support for script scope.
...
We add a new ScopeType, ScopeType.Script. The scope with
ScopeType.Script is always present in the scope chain (ScopeIterator
fakes it if neededi - i.e. if ScriptContext for a script has not been
allocated since that script has no lexical declarations).
ScriptScope reflects ScriptContextTable.
R=yurys@chromium.org ,yangguo@chromium.org
BUG=v8:3690
LOG=N
Review URL: https://codereview.chromium.org/726643002
Cr-Commit-Position: refs/heads/master@{#25383}
2014-11-17 17:58:12 +00:00
Andrey Adaikin
685bc04a01
Expose internal properties of map/set iterators via mirrors.
...
R=yangguo@chromium.org , vsevik
LOG=Y
Committed: https://code.google.com/p/v8/source/detail?r=d5f5d38f73f43eba9658d91ffbe511af8c340d78
Review URL: https://codereview.chromium.org/710273002
Cr-Commit-Position: refs/heads/master@{#25380}
2014-11-17 12:48:29 +00:00
wingo@igalia.com
757f400246
Leaving a generator via an exception causes it to close
...
R=rossberg@chromium.org
BUG=v8:3096
LOG=Y
Review URL: https://codereview.chromium.org/717123002
Cr-Commit-Position: refs/heads/master@{#25297}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 14:29:22 +00:00
yangguo@chromium.org
4fd9ba9042
Reland "Fix stepping in for-loops."
...
BUG=v8:3634
LOG=N
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/688243005
Cr-Commit-Position: refs/heads/master@{#25279}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-12 08:26:42 +00:00
aandrey@chromium.org
4984224af2
Add optional max elements limit for Map/Set mirror iterator preview.
...
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/712083002
Cr-Commit-Position: refs/heads/master@{#25257}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 09:47:19 +00:00
yangguo@chromium.org
4a6d092fdf
Revert "Fix stepping in for-loops."
...
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/713813002
Cr-Commit-Position: refs/heads/master@{#25233}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:36:16 +00:00
yangguo@chromium.org
3bed0a171a
Fix stepping in for-loops.
...
R=ulan@chromium.org
BUG=v8:3634
LOG=N
Review URL: https://codereview.chromium.org/682413004
Cr-Commit-Position: refs/heads/master@{#25231}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-10 09:08:11 +00:00
aandrey@chromium.org
35eaced208
Add debug mirror support for ES6 Map/Set iterators.
...
This is to show values preview of an iterator in DevTools console.
API=v8::Value::IsMapIterator, v8::Value::IsSetIterator
BUG=chromium:427868
R=arv@chromium.org , yangguo@chromium.org , adamk@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/693813002
Cr-Commit-Position: refs/heads/master@{#25100}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 10:02:43 +00:00
dslomov@chromium.org
08ee4d3a5c
Add remaining @@toStringTag symbols to builtins
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/664333003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
Cr-Commit-Position: refs/heads/master@{#24885}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-24 19:29:10 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
adamk@chromium.org
730c3fa3e0
Don't expose Array.prototype.values as it breaks webcompat
...
Some versions of Outlook Web Access test for the existence of a 'values'
property on Array instances, so adding the 'values' iterator to the prototype
(even with @@unscopeables) causes breakage.
This matches Gecko: they ship Array.prototype.{keys,entries} but not 'values'.
BUG=409858
LOG=Y
R=arv@chromium.org , danno@chromium.org
Review URL: https://codereview.chromium.org/647703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 20:11:47 +00:00
dslomov@chromium.org
461a2f403e
Convert argument toObject() in Object.getOwnPropertyNames/Descriptors
...
BUG=v8:3443
LOG=Y
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/613283002
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:01:20 +00:00
svenpanne@chromium.org
e216ab1d40
Array.prototype.{every, filter, find, findIndex, forEach, map, some}: Use fresh primitive wrapper for calls.
...
When the receiver is a primitive value, it's cast to an Object before entering the loop. Instead, it should be cast to an Object for each function call while in the loop.
BUG=v8:3536
LOG=Y
R=arv@chromium.org , svenpanne@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/553413002
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 09:11:32 +00:00
arv@chromium.org
6708f664a9
Stage ES6 numeric literals
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/626153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 15:40:55 +00:00
wingo@igalia.com
3117f6b358
Implement generator mirror
...
R=yangguo@chromium.org , aandrey@chromium.org
BUG=v8:3292
LOG=N
Review URL: https://codereview.chromium.org/580823002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 13:30:15 +00:00
yangguo@chromium.org
1cc4b0b95e
Support stepping into generator function.
...
R=aandrey@chromium.org , wingo@igalia.com
BUG=v8:3572
LOG=Y
Review URL: https://codereview.chromium.org/544953005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:27:16 +00:00
wingo@igalia.com
a76fe0a2cf
Enable ES6 generators
...
R=rossberg@chromium.org
BUG=v8:2355
LOG=Y
Review URL: https://codereview.chromium.org/573963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:30:39 +00:00
arv@chromium.org
6b660f2812
ES6: String(symbol) should work like symbol.toString
...
Using String as a function and passing a symbol should return the
same value as if Symbol.prototype.toString was called.
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-string-constructor-string-value
BUG=v8:3554
LOG=Y
R=rossberg@chromium.org , rossberg
Review URL: https://codereview.chromium.org/564863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 16:17:27 +00:00
jarin@chromium.org
5fe360b9cd
Fix typo in math-hyperbolic test.
...
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/526073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 10:23:07 +00:00
yangguo@chromium.org
fa1bf00e6a
Port fdlibm implementation for Math.cosh.
...
R=rtoy@chromium.org
BUG=v8:3494
LOG=N
Review URL: https://codereview.chromium.org/522723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-01 09:36:00 +00:00
yangguo@chromium.org
8938126d1b
Port fdlibm implementation for Math.sinh.
...
R=rtoy@chromium.org
BUG=v8:3493
LOG=N
Review URL: https://codereview.chromium.org/488003005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-29 09:32:51 +00:00
wingo@igalia.com
32d9aea9d8
Arguments object has @@iterator
...
R=arv@chromium.org , verwaest@chromium.org , rossberg@chromium.org
BUG=v8:3391
LOG=N
TEST=mjsunit/harmony/arguments-iterator.js
Review URL: https://codereview.chromium.org/342453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:12:22 +00:00
wingo@igalia.com
edfd4cdd33
Stage ES6 generators
...
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/479543003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:06:25 +00:00
wingo@igalia.com
8239897e5d
Simplify array iterator tests
...
R=arv@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/344223006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:04:24 +00:00
yangguo@chromium.org
930e5ccc3e
Implement Math.expm1 using port from fdlibm.
...
R=rtoy@chromium.org
BUG=v8:3479
LOG=N
Review URL: https://codereview.chromium.org/465353002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:24:07 +00:00
arv@chromium.org
8d189e84b4
ES6: Make sure we do not store -0 as the key in Map/Set
...
BUG=v8:3515
LOG=Y
R=adamk@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/478683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:15:41 +00:00
arv@chromium.org
eb7fcad7c5
Remove removed flags from tests
...
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/454003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:09:38 +00:00
yangguo@chromium.org
cf75a0b6e6
Fix PromiseHasRejectHandler.
...
The odd-numbered items in the queue are deferred objects, not promises.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/473803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:43:11 +00:00
yangguo@chromium.org
efde48fb30
Fix test expectations.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/461233003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:11:44 +00:00
yangguo@chromium.org
0ae0b81cdb
Ignore default reject handler when looking for reject handlers.
...
LOG=N
BUG=v8:3093
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/461023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 06:57:48 +00:00
arv@chromium.org
fdd094abcf
ES6: Make Map/Set constructors support iterable values
...
Same for WeakMap/WeakSet
https://bugs.ecmascript.org/show_bug.cgi?id=3111
The change from the reverted version is that LoadIC_Miss now uses Name
instead of String.
BUG=v8:3508
LOG=Y
R=adamk@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/464093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-13 14:34:15 +00:00
arv@chromium.org
0a35d53f7d
Revert "ES6: Make Map/Set constructors support iterable values"
...
Reason for revert:
TestSetConstructorIterableValue(WeakSet) fails on x64.debug
TBR=adamk@chromium.org ,dslomov@chromium.org
LOG=Y
BUG=
Review URL: https://codereview.chromium.org/461193002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 21:42:27 +00:00
arv@chromium.org
f95b81a6ef
ES6: Make Map/Set constructors support iterable values
...
Same for WeakMap/WeakSet
https://bugs.ecmascript.org/show_bug.cgi?id=3111
BUG=v8:3508
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/466003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 20:09:40 +00:00
arv@chromium.org
6c209206f5
WeakMap/WeakSet: Add test for non object keys
...
Add test for non object keys in the iterable passed to the constructor.
BUG=v8:3399
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/451033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 19:54:52 +00:00
yangguo@chromium.org
0f81d7698a
Implement Math.log1p using port from fdlibm.
...
Port contributed by Raymond Toy <rtoy@google.com>.
R=rtoy@chromium.org
LOG=N
BUG=v8:3481
Review URL: https://codereview.chromium.org/457643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-12 13:36:33 +00:00
dslomov@chromium.org
cd30676052
ToNumber(Symbol) should throw TypeError
...
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tonumber
Based on patch from caitp <caitpotter88@gmail.com>
https://codereview.chromium.org/454233002/
BUG=v8:3499
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/458753004
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 19:24:05 +00:00
rossberg@chromium.org
f7c49bafb0
ES6: Implement WeakMap and WeakSet constructor logic
...
Now that iterators are enabled by default we need to correctly
handle the parameter for WeakMap and WeakSet. If provided then the
argument is iterated over to add entries to the WeakMap and WeakSet.
BUG=v8:3399
LOG=Y
R=adamk@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/448013005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 13:39:13 +00:00
yangguo@chromium.org
0c32d8c5cb
Fix debug-promises tests.
...
Using assertEquals on two Promises always passes. Use assertSame instead.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/455683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:57:51 +00:00
rossberg@chromium.org
d9d6a60973
Enable ES6 unscopables
...
R=yangguo@chromium.org
BUG=v8:3401
LOG=Y
Review URL: https://codereview.chromium.org/455743002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 11:42:59 +00:00
wingo@igalia.com
cebddb662e
Enable ES6 iteration by default
...
This enables for-of, as well as @@iterator implementations for strings
and arrays.
R=rossberg@chromium.org
BUG=v8:2214
LOG=Y
Review URL: https://codereview.chromium.org/446023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 16:42:14 +00:00
yangguo@chromium.org
2ec32f346d
Only escape U+0022 in argument values of String.prototype
HTML methods
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/es6/string-html
BUG=v8:2217
LOG=Y
R=arv@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/446973004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 07:45:33 +00:00
yangguo@chromium.org
c29b0a962d
Add CheckObjectCoercible
for the String.prototype
HTML methods
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/es6/string-html
BUG=v8:2218
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/422543003
Patch from Mathias Bynens <mathias@qiwi.be>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 14:58:46 +00:00
yangguo@chromium.org
3b54f89ffa
Trigger exception debug events on Promise reject.
...
R=rossberg@chromium.org , aandrey@chromium.org
BUG=393913
LOG=Y
Review URL: https://codereview.chromium.org/440773004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:41:52 +00:00
rossberg@chromium.org
6f4aea9512
Remove @@create and don't expose unimplemented symbols
...
Also, add some bits missing from turn-on-symbols CL
R=adamk@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/441943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 09:31:21 +00:00
adamk@chromium.org
bcf8b05072
Enable ES6 Map and Set by default
...
In doing so also remove all references to the --harmony-collections flag.
Due to the way context snapshotting works, it's not possible to simply
enable the flag by default.
Depends on ES6 Symbols: https://codereview.chromium.org/421313004
BUG=v8:1622
LOG=Y
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/427723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 19:37:32 +00:00
yangguo@chromium.org
01560f9ccd
Do not include native Javascript in ExecutionState frames.
...
When a debug event is triggered, the ExecutionState object should not
expose native JS code.
R=aandrey@chromium.org
Review URL: https://codereview.chromium.org/429453005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 08:16:02 +00:00
yangguo@chromium.org
90bbdacbf8
Merge three PromiseEvent's into one.
...
This also adds missing instrumentation and removes resolver tracking.
BUG=v8:3093
LOG=N
R=aandrey@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/416213004
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 07:42:06 +00:00
adamk@chromium.org
d8c30bd8e7
Enable ES6 Symbols by default
...
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.
BUG=v8:2158
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/421313004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00