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