Toon Verwaest
313e33a709
Remove %_ClassOf and SharedFunctionInfo::instance_class_name
...
instance_class_name takes up space unnecessarily, and %_ClassOf and
class_name implement [[Class]] which isn't part of ES2015+ anymore.
Bug:
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I3a73f732ad83a616817fde9992f4e4d584638fa8
Reviewed-on: https://chromium-review.googlesource.com/776683
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51309}
2018-02-15 11:52:08 +00:00
adamk
b16fc86389
Remove --harmony-tostring runtime flag
...
ES2015 Object.prototype.toString semantics were enabled in version 4.9,
which has been in stable Chrome for nearly two weeks at this point.
R=littledan@chromium.org
Review URL: https://codereview.chromium.org/1784033002
Cr-Commit-Position: refs/heads/master@{#34732}
2016-03-11 18:20:48 +00:00
arv
2279dfe789
[es6] Map/Set size getter should have "get size" name
...
This reverts commit d5565c1f68
.
Getter and setter function names in ES6 are defined as "get foo" and
"set foo".
This also moves the logic for handling symbols from runtime-function.cc
to v8natives.js.
BUG=None
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/1093183006
Cr-Commit-Position: refs/heads/master@{#28050}
2015-04-24 18:15:59 +00:00
arv
d5565c1f68
Revert of [es6] Map/Set size getter should have "get size" name (patchset #4 id:80001 of https://codereview.chromium.org/1094323005/ )
...
Reason for revert:
Breaks GCMole ia32
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gcmole/builds/1685/steps/GCMole%20ia32/logs/stdio
src/runtime/runtime-function.cc:96:3: warning: Possible problem with evaluation order.
f->shared()->set_name(*NameToFunctionName(name));
^
src/runtime/runtime-function.cc:96:3: warning: Possible problem with evaluation order.
2 warnings generated.
Original issue's description:
> [es6] Map/Set size getter should have "get size" name
>
> Getter and setter function names in ES6 are defined as "get foo" and
> "set foo".
>
> BUG=None
> LOG=N
> R=adamk@chromium.org
>
> Committed: https://crrev.com/83c89a2e71a363afb35595f903423e650d788e42
> Cr-Commit-Position: refs/heads/master@{#28034}
TBR=adamk@chromium.org ,caitpotter88@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=None
Review URL: https://codereview.chromium.org/1106713002
Cr-Commit-Position: refs/heads/master@{#28035}
2015-04-23 22:06:27 +00:00
arv
83c89a2e71
[es6] Map/Set size getter should have "get size" name
...
Getter and setter function names in ES6 are defined as "get foo" and
"set foo".
BUG=None
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/1094323005
Cr-Commit-Position: refs/heads/master@{#28034}
2015-04-23 21:56:10 +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
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
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
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
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
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
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
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
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
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
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