arv
ea463a916b
[es6] Object.getPrototypeOf should work with values
...
The final spec for Object.getPrototypeOf calls ToObject on the
parameter, which means that it should only throw for null and
undefined. For other non object values the prototype of the wrapper
should be used.
BUG=v8:3964
LOG=N
R=adamk, rossberg@chromium.org
Review URL: https://codereview.chromium.org/1014813003
Cr-Commit-Position: refs/heads/master@{#27354}
2015-03-23 08:40:47 +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
caitpotter88
bef80fcfd7
[es6] generate rest parameters correctly for subclass constructors
...
BUG=v8:3977
R=dslomov@chromium.org , arv@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/1018043003
Cr-Commit-Position: refs/heads/master@{#27344}
2015-03-20 14:07:16 +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
caitpotter88
d21fd15467
[es6] implement Reflect.apply() & Reflect.construct()
...
BUG=v8:3900
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/913073003
Cr-Commit-Position: refs/heads/master@{#27316}
2015-03-19 14:47:27 +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
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
caitpotter88
1aae3a1c89
[es6] support template literals after MemberExpression
...
BUG=v8:3958, 450942
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/996223003
Cr-Commit-Position: refs/heads/master@{#27159}
2015-03-12 14:02:04 +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
arv
8d946b9c3f
[es6] Throw TypeError for computed static prototype property name
...
The prototype of a class constructor function is read only. When we set
computed property names we were ignoring this and we were overriding the
property.
Since the prototype is the only possible own read only property on the
constructor function object we special case this so we do not have to
check this for every property in the class literal.
BUG=v8:3945
LOG=N
R=mstarzinger@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/985643003
Cr-Commit-Position: refs/heads/master@{#27106}
2015-03-10 14:14:38 +00:00
rossberg
2ecdf736cf
Fix exception for assignment to uninitialised const
...
R=dslomov@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/976053002
Cr-Commit-Position: refs/heads/master@{#27014}
2015-03-05 12:44:01 +00:00
dslomov
1604bd46bf
Implement subclassing Arrays.
...
R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y
Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}
Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}
Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
Cr-Commit-Position: refs/heads/master@{#26966}
Review URL: https://codereview.chromium.org/975463002
Cr-Commit-Position: refs/heads/master@{#26972}
2015-03-03 18:45:02 +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
dslomov
9ff21de548
Revert of Implement subclassing Arrays. (patchset #8 id:130001 of https://codereview.chromium.org/975463002/ )
...
Reason for revert:
Arm compilation again.
Aaaarrrrrghhhhhh!!!
Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}
>
> Committed: https://crrev.com/0705045b50a29cf1273e9e6b86fe6a627d8dcb43
> Cr-Commit-Position: refs/heads/master@{#26966}
TBR=arv@chromium.org ,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930
Review URL: https://codereview.chromium.org/976693002
Cr-Commit-Position: refs/heads/master@{#26969}
2015-03-03 17:48:12 +00:00
dslomov
0705045b50
Implement subclassing Arrays.
...
R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y
Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}
Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
Cr-Commit-Position: refs/heads/master@{#26963}
Review URL: https://codereview.chromium.org/975463002
Cr-Commit-Position: refs/heads/master@{#26966}
2015-03-03 17:14:14 +00:00
dslomov
7bf9ef1e39
Revert of Implement subclassing Arrays. (patchset #7 id:110001 of https://codereview.chromium.org/975463002/ )
...
Reason for revert:
Arm buildre complains again (why v8_linux_arm_dbg does not complain?)
Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
>
> Committed: https://crrev.com/8d29cc11a56e77297792fe100986a80b65de0051
> Cr-Commit-Position: refs/heads/master@{#26963}
TBR=arv@chromium.org ,mvstanton@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930
Review URL: https://codereview.chromium.org/974963002
Cr-Commit-Position: refs/heads/master@{#26965}
2015-03-03 16:41:52 +00:00
dslomov
8d29cc11a5
Implement subclassing Arrays.
...
R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y
Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
Cr-Commit-Position: refs/heads/master@{#26960}
Review URL: https://codereview.chromium.org/975463002
Cr-Commit-Position: refs/heads/master@{#26963}
2015-03-03 16:10:41 +00:00
mvstanton
01e2ba6e19
Revert of Implement subclassing Arrays. (patchset #6 id:90001 of https://codereview.chromium.org/975463002/ )
...
Reason for revert:
ARM build failure...
Original issue's description:
> Implement subclassing Arrays.
>
> R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
> BUG=v8:3930
> LOG=Y
>
> Committed: https://crrev.com/6898da1a28d64d1fb2962804ba566f6d618ffc70
> Cr-Commit-Position: refs/heads/master@{#26960}
TBR=arv@chromium.org ,rossberg@chromium.org,dslomov@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930
Review URL: https://codereview.chromium.org/975693002
Cr-Commit-Position: refs/heads/master@{#26961}
2015-03-03 14:56:09 +00:00
dslomov
6898da1a28
Implement subclassing Arrays.
...
R=mvstanton@chromium.org ,arv@chromium.org,rossberg@chromium.org
BUG=v8:3930
LOG=Y
Review URL: https://codereview.chromium.org/975463002
Cr-Commit-Position: refs/heads/master@{#26960}
2015-03-03 13:40:39 +00:00
dslomov
290ee378ea
Disallow subclassing Arrays.
...
R=rossberg@chromium.org ,arv@chromium.org
BUG=v8:3930
LOG=Y
Committed: https://crrev.com/87f3e08e72510ee5544e82bb7ad39b2b5f001ad3
Cr-Commit-Position: refs/heads/master@{#26925}
Review URL: https://codereview.chromium.org/962263002
Cr-Commit-Position: refs/heads/master@{#26931}
2015-02-28 00:28:35 +00:00
dslomov
65abdb7e4e
Revert of Regression test for v8:3930. (patchset #1 id:1 of https://codereview.chromium.org/961353002/ )
...
Reason for revert:
Fails on nosnap builds
Original issue's description:
> Regression test for v8:3930.
>
> R=arv@chromium.org ,rossberg@chromium.org
> BUG=v8:3930
> LOG=N
>
> Committed: https://crrev.com/48fb3e83c5882e9818bc1e0a035864b465602aca
> Cr-Commit-Position: refs/heads/master@{#26926}
TBR=arv@chromium.org ,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3930
Review URL: https://codereview.chromium.org/965043002
Cr-Commit-Position: refs/heads/master@{#26929}
2015-02-27 22:24:41 +00:00
arv
4b830859b7
Fix block-for test
...
The test didn't call the test function.
BUG=v8:3932
LOG=N
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/964993002
Cr-Commit-Position: refs/heads/master@{#26927}
2015-02-27 21:22:48 +00:00
dslomov
48fb3e83c5
Regression test for v8:3930.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3930
LOG=N
Review URL: https://codereview.chromium.org/961353002
Cr-Commit-Position: refs/heads/master@{#26926}
2015-02-27 21:21:43 +00:00
arv
392b591e0c
Fix issue with class name TDZ in computed property names
...
BUG=v8:3923
LOG=N
R=marja,rossberg
Review URL: https://codereview.chromium.org/961823002
Cr-Commit-Position: refs/heads/master@{#26892}
2015-02-26 18:37:19 +00:00
arv
75a2440982
Minor test fix to block binding
...
The test did not invoke the function
BUG=v8:3921
LOG=N
R=adamk
Review URL: https://codereview.chromium.org/961463002
Cr-Commit-Position: refs/heads/master@{#26869}
2015-02-25 23:27:14 +00:00
rossberg
68c8073a51
Remove effectful assertion
...
R=mstarzinger@chromium.org
BUG=461520
LOG=N
Review URL: https://codereview.chromium.org/955973003
Cr-Commit-Position: refs/heads/master@{#26857}
2015-02-25 15:34:21 +00:00
arv
0cffc08b66
Super store
...
When the property is not found on the [[HomeObject]] prototype chain
then we should do a [[DefineOwnProperty]] on the instance.
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/934463003
Cr-Commit-Position: refs/heads/master@{#26754}
2015-02-19 16:15:35 +00:00
caitpotter88
ea3f39486c
[tests]: fix exponentiation in harmony array-concat tests
...
BUG=
LOG=N
R=adamk@chromium.org
Review URL: https://codereview.chromium.org/921683006
Cr-Commit-Position: refs/heads/master@{#26710}
2015-02-17 22:28:12 +00:00
caitpotter88
8bb2e39774
Implement ES6 rest parameters
...
LOG=Y
BUG=v8:2159
R=dslomov@chromium.org , arv@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/816913003
Cr-Commit-Position: refs/heads/master@{#26645}
2015-02-14 00:15:12 +00:00
arv
765e002a4f
Fix lazy parsing for functions that use super.
...
The preparser needs to log the usage of super properties and then update
the scope when we create the function later.
BUG=v8:3888
LOG=N
R=dslomov@chromium.org , marja
Review URL: https://codereview.chromium.org/923683002
Cr-Commit-Position: refs/heads/master@{#26642}
2015-02-13 18:35:09 +00:00
Erik Arvidsson
1dcce1c8ef
Make super() a syntax error in base class constructor
...
BUG=v8:3330
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/917933007
Cr-Commit-Position: refs/heads/master@{#26633}
2015-02-12 23:04:54 +00:00
Dmitry Lomov
7866f00508
Remove --experimental-classes flag and related dead code.
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/919643008
Cr-Commit-Position: refs/heads/master@{#26631}
2015-02-12 20:07:15 +00:00
Dmitry Lomov
2707d4c9f4
new classes: no longer experimental.
...
This CL fixes tests that no longer valid and also fixes two issues:
1. 'super()' in non derived constructors.
2. Failure to step into derived constructors.
R=arv@chromium.org , yurys@chromium.org
BUG=v8:3834
LOG=Y
Review URL: https://codereview.chromium.org/923443003
Cr-Commit-Position: refs/heads/master@{#26628}
2015-02-12 18:06:52 +00:00
dslomov
fdcf3e59ba
new classes: implement correct check for uninitialized this in 'super()'
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/918603004
Cr-Commit-Position: refs/heads/master@{#26599}
2015-02-11 20:47:32 +00:00
dslomov
9b158fa79a
new classes: implement default constructors.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/917753002
Cr-Commit-Position: refs/heads/master@{#26594}
2015-02-11 17:23:00 +00:00
arv
b5e235661f
Fix issue with super and computed property names
...
We did not set up the [[HomeObject]] for properties created for
computed property names.
BUG=v8:3879
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/914773002
Cr-Commit-Position: refs/heads/master@{#26586}
2015-02-11 15:13:12 +00:00
dslomov
bf49be39f3
new classes: implement new.target passing to superclass constructor.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
Cr-Commit-Position: refs/heads/master@{#26560}
Review URL: https://codereview.chromium.org/908883002
Cr-Commit-Position: refs/heads/master@{#26572}
2015-02-11 09:47:51 +00:00
dslomov
8e4ec9dd13
Revert of new classes: implement new.target passing to superclass constructor. (patchset #9 id:150001 of https://codereview.chromium.org/908883002/ )
...
Reason for revert:
Breaks Linux64 release
Original issue's description:
> new classes: implement new.target passing to superclass constructor.
>
> R=arv@chromium.org ,rossberg@chromium.org
> BUG=v8:3834
> LOG=N
>
> Committed: https://crrev.com/8aed43e82c6d2742fe5988603cb8841324cc942b
> Cr-Commit-Position: refs/heads/master@{#26560}
TBR=arv@chromium.org ,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3834
Review URL: https://codereview.chromium.org/911363002
Cr-Commit-Position: refs/heads/master@{#26561}
2015-02-11 01:36:32 +00:00
dslomov
8aed43e82c
new classes: implement new.target passing to superclass constructor.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/908883002
Cr-Commit-Position: refs/heads/master@{#26560}
2015-02-11 01:23:11 +00:00
arv
68e4897586
Remove Function.prototype.toMethod
...
Function.prototype.toMethod was removed from ES6.
This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).
BUG=v8:3330
LOG=N
R=dslomov@chromium.org , adamk
Review URL: https://codereview.chromium.org/914713002
Cr-Commit-Position: refs/heads/master@{#26559}
2015-02-10 22:13:43 +00:00
arv
9acfd4fe08
super is only allowed in methods, accessors and constructor
...
super() is only allowed in a class constructor.
super.p is allowed in methods, accessors and constructors.
The parser now checks the FunctionState to see what kind of function
we are currently inside.
BUG=v8:3330
LOG=N
R=dslomov@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/915563003
Cr-Commit-Position: refs/heads/master@{#26557}
2015-02-10 19:51:39 +00:00
adamk
a18b797fd9
Enable compiling mjsunit tests as ES6 modules
...
Adding the line "// MODULE" to an mjsunit file will now cause
run-tests.py to prefix the test case with "--module" in the
d8 commandline.
d8 has itself been updated to treat files preceded with "--module" as
modules (that is, it compiles them with ScriptCompiler::CompileModule,
and turns on --harmony-modules).
Review URL: https://codereview.chromium.org/902263002
Cr-Commit-Position: refs/heads/master@{#26555}
2015-02-10 19:11:55 +00:00
dcarney
9896fab0df
fix transition of typedarrays in ics
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/904423002
Cr-Commit-Position: refs/heads/master@{#26518}
2015-02-09 09:50:15 +00:00
arv
64abe65210
Allow eval and arguments as property names
...
We incorrectly disallowed eval and arguments in accessor and method
names. This was because we checked the name inside the
ParseFunctionLiteral. We now flag accessors so that lazy parsing of
these functions are treated correctly.
BUG=v8:1984
R=adamk, dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/899363002
Cr-Commit-Position: refs/heads/master@{#26497}
2015-02-06 18:04:21 +00:00
dslomov
158a87659f
new classes: assert that constructors are not callable and rewrite 'return;'
...
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/885643004
Cr-Commit-Position: refs/heads/master@{#26483}
2015-02-06 10:35:13 +00:00
Erik Arvidsson
b67b3c5401
Accessor functions should have no prototype property
...
This also removes some convenience functions that were not used.
BUG=v8:3700
LOG=N
R=adamk@chromium.org , adamk
Review URL: https://codereview.chromium.org/883073008
Cr-Commit-Position: refs/heads/master@{#26472}
2015-02-05 23:34:28 +00:00
marja
299b369cc9
Split --harmony-unicode and --harmony-unicode-regexps.
...
This way we can ship \u{..} escapes in strings / identifiers before shipping /u
regexps.
BUG=
Review URL: https://codereview.chromium.org/903703002
Cr-Commit-Position: refs/heads/master@{#26461}
2015-02-05 14:17:09 +00:00
arv
176b68d11a
Class methods should be non enumerable
...
Class methods and accessors (both prototype and static) should be
non enumerable.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/896643003
Cr-Commit-Position: refs/heads/master@{#26437}
2015-02-04 17:23:17 +00:00
dslomov
275e088abe
Fix assertion in full codegen for holed 'this'.
...
R=rossberg@chromium.org
BUG=chromium:455141
LOG=N
Review URL: https://codereview.chromium.org/902563002
Cr-Commit-Position: refs/heads/master@{#26423}
2015-02-04 12:14:33 +00:00
dslomov
6f97a4948f
new classes: special construct stub for derived classs and TDZ for this
.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/867153003
Cr-Commit-Position: refs/heads/master@{#26409}
2015-02-03 17:43:03 +00:00
caitpotter88
1f2e5973eb
Don't take iterable path in ArrayFrom if items[@@iterator] is null
...
BUG=v8:3833
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/856303002
Cr-Commit-Position: refs/heads/master@{#26314}
2015-01-29 02:36:12 +00:00
Adam Klein
f7dc15febe
Implement ParseExportDeclaration per latest ES6 spec draft
...
One missing feature: anonymous function & class declarations
in "export default".
BUG=v8:1569
LOG=n
R=arv@chromium.org
Review URL: https://codereview.chromium.org/882893002
Cr-Commit-Position: refs/heads/master@{#26313}
2015-01-28 19:18:48 +00:00
adamk
aeb3a71740
Begin modernization of --harmony-modules
...
The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.
The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.
Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/881623002
Cr-Commit-Position: refs/heads/master@{#26299}
2015-01-27 21:06:46 +00:00
dslomov
22ce08ade6
new classes: change semantics of super(...) call and add new.target to construct stub.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/803933008
Cr-Commit-Position: refs/heads/master@{#26227}
2015-01-22 18:39:47 +00:00
mstarzinger
bd7f546f11
Computed property names for object literals in TurboFan.
...
R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names
Review URL: https://codereview.chromium.org/860033002
Cr-Commit-Position: refs/heads/master@{#26174}
2015-01-20 16:52:58 +00:00
arv
bc3b2960e3
Fix issue with __proto__ when using ES6 object literals
...
It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.
BUG=v8:3818
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/858673002
Cr-Commit-Position: refs/heads/master@{#26172}
2015-01-20 16:31:43 +00:00
caitpotter88
6dc82c184c
Implement IsConstructor() abstract operation
...
LOG=N
R=dpino@igalia.com , arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/851163007
Cr-Commit-Position: refs/heads/master@{#26130}
2015-01-19 12:22:31 +00:00
arv
c8124f932c
Computed property names: Enable test on windows again
...
Enable test on windows again and disable the problematic lines only.
BUG=v8:3815
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/850773004
Cr-Commit-Position: refs/heads/master@{#26086}
2015-01-16 00:20:16 +00:00
arv
74e38e34b3
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, 7d48fd9dc2
.
BUG=v8:3754
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/798243004
Cr-Commit-Position: refs/heads/master@{#26084}
2015-01-15 20:02:37 +00:00
caitpotter88
4b6316c5ff
Check for octals in template spans only, not expressions
...
BUG=v8:3806
LOG=N
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/808793004
Cr-Commit-Position: refs/heads/master@{#26028}
2015-01-12 15:07:47 +00:00
marja
2305cfb4e2
ES6 unicode escapes, part 2: Regexps.
...
Allows \u{xxxxx} in regexps. Behind the --harmony-unicode flag.
Part 1 is here: https://codereview.chromium.org/716423002
BUG=v8:3648
LOG=N
Review URL: https://codereview.chromium.org/788043005
Cr-Commit-Position: refs/heads/master@{#26018}
2015-01-12 09:50:34 +00:00
caitpotter88
233f2d2bf1
Simplify scanner and generate better error message for legacy octals in templates
...
LOG=N
BUG=
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/812163003
Cr-Commit-Position: refs/heads/master@{#25895}
2014-12-18 22:01:41 +00:00
arv
c05a4036b0
ES6 template literals should not use legacy octal strings
...
Correctly handle SyntaxErrors in escape sequences.
BUG=v8:3736
LOG=Y
R=dslomov@chromium.org , caitpotter88@gmail.com
Review URL: https://codereview.chromium.org/811113002
Cr-Commit-Position: refs/heads/master@{#25891}
2014-12-18 19:41:58 +00:00
machenbach
7d48fd9dc2
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/792233008/ )
...
Reason for revert:
[sheriff] Still crashes on win32 (XP):
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1380
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert, a76419f0f4
.
>
> This changes to do an early bailout in
> HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
> loop.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org ,arv@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/811593004
Cr-Commit-Position: refs/heads/master@{#25872}
2014-12-17 19:47:12 +00:00
arv
cc568d1b7a
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, a76419f0f4
.
This changes to do an early bailout in
HOptimizedGraphBuilder::VisitObjectLiteral instead of doing that in the later
loop.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/792233008
Cr-Commit-Position: refs/heads/master@{#25868}
2014-12-17 18:38:55 +00:00
caitpotter88
525385ab50
Fix ArrayConcat for JSValues/JSFunctions/JSRegExps with @@isConcatSpreadable
...
LOG=N
BUG=v8:3764, v8:3765
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/799803003
Cr-Commit-Position: refs/heads/master@{#25855}
2014-12-16 21:08: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
arv
5f22fdd5ae
Revert of ES6 computed property names (patchset #1 id:1 of https://codereview.chromium.org/807173002/ )
...
Reason for revert:
Crashes Win32. It was not flake.
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> This is a revert of the revert, a76419f0f4
with
> no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
> try again.
>
> BUG=v8:3754
> LOG=Y
> TBR=dslomov@chromium.org
TBR=dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/807033003
Cr-Commit-Position: refs/heads/master@{#25853}
2014-12-16 19:38:59 +00:00
arv
a235b1076a
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, a76419f0f4
with
no changes. I cannot reproduce the issue on Win8.1 or WinXP. Letting the bots
try again.
BUG=v8:3754
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/807173002
Cr-Commit-Position: refs/heads/master@{#25851}
2014-12-16 17:30:05 +00:00
caitpotter88
aed5d734e6
Use proper ToLength() operation in %ArrayConcat()
...
LOG=N
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/799853003
Cr-Commit-Position: refs/heads/master@{#25828}
2014-12-15 19:08:41 +00:00
arv
a76419f0f4
Revert of ES6 computed property names (patchset #9 id:160001 of https://codereview.chromium.org/795573005/ )
...
Reason for revert:
Crashes on Win32
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%201/builds/1357
Test: mjsunit/harmony/computed-property-names
Flags: --stress-opt --always-opt
Command: build\Release\d8.exe --test --random-seed=-233815021 --stress-opt --always-opt --nohard-abort --nodead-code-elimination --nofold-constants --harmony-computed-property-names test\mjsunit\mjsunit.js test\mjsunit\harmony\computed-property-names.js
Run #1
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Run #2
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Run #3
Exit code: -1073741819
Result: CRASH
Expected outcomes: PASS
Original issue's description:
> ES6 computed property names
>
> This adds support for computed property names, under the flag
> --harmony-computed-property-names, for both object literals and
> classes.
>
> BUG=v8:3754
> LOG=Y
TBR=dslomov@chromium.org ,wingo@igalia.com
NOTREECHECKS=true
NOTRY=true
BUG=v8:3754
Review URL: https://codereview.chromium.org/809433002
Cr-Commit-Position: refs/heads/master@{#25825}
2014-12-15 16:38:42 +00:00
arv
6e38caf8d3
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
BUG=v8:3754
LOG=Y
Review URL: https://codereview.chromium.org/795573005
Cr-Commit-Position: refs/heads/master@{#25821}
2014-12-15 15:27:19 +00:00
mathiasb
b24f04d4c3
Make RegExp.prototype.flags
getter configurable
...
TEST=mjsunit/harmony
BUG=v8:3751
LOG=N
Review URL: https://codereview.chromium.org/788053003
Cr-Commit-Position: refs/heads/master@{#25809}
2014-12-13 22:36:29 +00:00
caitpotter88
48054170e9
Implement ES6 @@isConcatSpreadable / Array.prototype.concat
...
Add support for Symbol.isConcatSpreadable in Array.prototype.concat. This enables spreading non-Array objects with the symbol.
LOG=N
R=dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/771483002
Cr-Commit-Position: refs/heads/master@{#25808}
2014-12-12 18:38:48 +00:00
caitpotter88
17ba366bb8
Implement Array.from()
...
A helpful utility which converts iterables and array-like objects into Arrays
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-array.from
LOG=Y
BUG=v8:3336
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/363833006
Cr-Commit-Position: refs/heads/master@{#25785}
2014-12-11 17:16:27 +00:00
mathiasb
33f0cf5acd
Implement the RegExp.prototype.flags
getter
...
TEST=mjsunit/harmony
BUG=v8:3751
LOG=N
Review URL: https://codereview.chromium.org/770333005
Cr-Commit-Position: refs/heads/master@{#25762}
2014-12-10 20:41:10 +00:00
Adam Klein
986e7cefe1
Ensure class prototype objects have the right Map::constructor field
...
The null constructor they had previously could be observed as crashes in
the V8 API's Object::CreationContext() method and in Object.observe.
BUG=v8:3750
LOG=n
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/787763005
Cr-Commit-Position: refs/heads/master@{#25757}
2014-12-10 18:25:55 +00:00
d
4161b54d58
Add Array.prototype.includes
...
Requires adding a SameValueZero implementation.
LOG=Y
BUG=v8:3575
R=dslomov@chromium.org , arv@chromium.org
TEST=added to test262
Review URL: https://codereview.chromium.org/771863002
Cr-Commit-Position: refs/heads/master@{#25735}
2014-12-10 08:58:15 +00:00
dslomov
1954ad8bc1
Do not reflect uninitialized 'let' and 'const' in scope mirrors.
...
R=yangguo@chromium.org ,aandrey@chromium.org
BUG=v8:3743
LOG=N
Review URL: https://codereview.chromium.org/758603004
Cr-Commit-Position: refs/heads/master@{#25712}
2014-12-08 14:59:28 +00:00
dslomov
293f898a6f
Make sure that individual shipping features can be disabled.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/779203005
Cr-Commit-Position: refs/heads/master@{#25690}
2014-12-05 15:35:37 +00:00
dslomov
bd04e6cdad
Fix the order of context binding/simulate insertion for BlockContexts.
...
R=jarin@chromium.org
BUG=v8:3741
LOG=N
Review URL: https://codereview.chromium.org/762393008
Cr-Commit-Position: refs/heads/master@{#25684}
2014-12-05 13:06:50 +00:00
arv
edf3dab466
ES6 template literals: Fix issue with template after rbrace
...
If we hade }` the right brace was always treated as part of the
template literal. We should only treat the right brace as part of
the literal when we continue to parse the template literal after a
placeholder.
BUG=v8:3734
LOG=Y
Review URL: https://codereview.chromium.org/778813003
Cr-Commit-Position: refs/heads/master@{#25661}
2014-12-04 14:50:17 +00:00
arv
d67e573dbe
Simplify template literal raw string creation
...
BUG=v8:3710
LOG=Y
R=dslomov@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/768203002
Cr-Commit-Position: refs/heads/master@{#25640}
2014-12-03 14:17:23 +00:00
marja
0a0e6c8c81
ES6 unicode extensions, part 1.
...
Allows \u{xxxxx} in variable names and string literals (not yet in regexps).
Everything's behind the --harmony-unicode flag.
BUG=
Review URL: https://codereview.chromium.org/716423002
Cr-Commit-Position: refs/heads/master@{#25603}
2014-12-02 10:58:19 +00:00
dslomov
573401a422
harmony-classes: Fix some issues with syntactic restriction on super(...).
...
R=arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/770843002
Cr-Commit-Position: refs/heads/master@{#25589}
2014-12-01 20:13:54 +00:00
dslomov
65aa17b9c3
harmony-classes: Implement 'super(...)' call syntactic restriction.
...
R=rossberg@chromium.org ,arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/766663003
Cr-Commit-Position: refs/heads/master@{#25555}
2014-11-28 04:08:58 +00:00
caitpotter88
0ea30611f3
Fix raw TemplateLiteral spans with non-ascii characters
...
BUG=v8:3710
Review URL: https://codereview.chromium.org/745233002
Cr-Commit-Position: refs/heads/master@{#25529}
2014-11-26 17:15:54 +00:00
dslomov
6ac4de87a8
harmony-scoping: make assignment to 'const' a late error.
...
Per TC39 Nov 2014 decision.
This patch also changes behavior for "legacy const": assignments to sloppy const in strict mode is now also a type error. This fixes v8:2243 and also brings us in compliance with other engines re assignment to function names (see updated webkit test), but might have bigger implications.
That change can easily be reverted by changing Variable::IsSignallingAssignmentToConst.
BUG=v8:3713,v8:2243
LOG=N
Review URL: https://codereview.chromium.org/749633002
Cr-Commit-Position: refs/heads/master@{#25516}
2014-11-26 11:21:23 +00:00
dslomov
f1d8668e38
harmony-scoping: Catch variable should be VAR, not LET
...
R=rossberg@chromium.org
BUG=v8:2858
LOG=N
Review URL: https://codereview.chromium.org/748113003
Cr-Commit-Position: refs/heads/master@{#25503}
2014-11-25 14:48:39 +00:00
caitpotter88
ad86a1a27a
Cache template literal callSiteObj
...
BUG=v8:3230
LOG=y
Review URL: https://codereview.chromium.org/742643003
Cr-Commit-Position: refs/heads/master@{#25450}
2014-11-20 22:37:55 +00:00
dslomov
5aed61cc38
Rename String.prototype.contains to 'includes'.
...
Per TC39 Nov 2014 decison.
R=arv@chromium.org ,yangguo@chromium.org
LOG=Y
Committed: b5379216e2
Review URL: https://codereview.chromium.org/742963002
Cr-Commit-Position: refs/heads/master@{#25448}
2014-11-20 19:21:36 +00:00
Andreas Rossberg
1808badc2d
Disable classes in sloppy mode unless --harmony-sloppy is set
...
Also clean up flag names a little.
Baseline: https://codereview.chromium.org/713413003/
R=arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/722203006
Cr-Commit-Position: refs/heads/master@{#25435}
2014-11-20 10:52:03 +00:00
machenbach
b3acdf5347
Revert of Rename String.prototype.contains to 'includes'. (patchset #1 id:1 of https://codereview.chromium.org/742963002/ )
...
Reason for revert:
Breaks test262-es6:
http://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/1289
Original issue's description:
> Rename String.prototype.contains to 'includes'.
>
> Per TC39 Nov 2014 decison.
>
> R=arv@chromium.org ,yangguo@chromium.org
> LOG=Y
>
> Committed: b5379216e2
TBR=arv@chromium.org ,yangguo@chromium.org,dslomov@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/745543002
Cr-Commit-Position: refs/heads/master@{#25432}
2014-11-20 09:03:54 +00:00
dslomov
2dae17fb87
Rename String.prototype.contains to 'includes'.
...
Per TC39 Nov 2014 decison.
R=arv@chromium.org ,yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/742963002
Cr-Commit-Position: refs/heads/master@{#25430}
2014-11-20 00:32:13 +00:00
caitpotter88
99a9d68d94
Implement ES6 String.raw behind --harmony-templates
...
BUG=
Review URL: https://codereview.chromium.org/731573004
Cr-Commit-Position: refs/heads/master@{#25410}
2014-11-19 04:44:44 +00:00
arv
d5d15253b8
Classes: Expand test to cover strict runtime behavior
...
This tests that the extends expression is treated as strict at
runtime and not just at parse time.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/729323003
Cr-Commit-Position: refs/heads/master@{#25407}
2014-11-18 19:00:15 +00:00
dslomov
ca8eaef638
harmony-scoping: better error messages for let declarations in sloppy mode.
...
R=rossberg@chromium.org
BUG=v8:2198
LOG=N
Review URL: https://codereview.chromium.org/713413003
Cr-Commit-Position: refs/heads/master@{#25406}
2014-11-18 18:51:26 +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
arv
ef41de10db
Classes: Add support for stepping through default constructors
...
If a class extends another class and it doesn't provide a constructor,
one is created for them. We therefore need to ensure that stepping into
the constructor steps into the super class constructor.
BUG=v8:3674
LOG=Y
R=dslomov@chromium.org , aandrey , yurys
Review URL: https://codereview.chromium.org/725983002
Cr-Commit-Position: refs/heads/master@{#25366}
2014-11-15 19:48:39 +00:00
adamk
b17eaaa575
Fix desugaring of let bindings in for loops to handle continue properly
...
This requires putting the original loop's body inside an inner for loop (with
the same labels as the original loop) and re-binding the temp variables in its
"next" expression. A second flag is added to the desugared code to ensure the
loop body executes at most once per loop.
BUG=v8:3683
LOG=y
Review URL: https://codereview.chromium.org/720863002
Cr-Commit-Position: refs/heads/master@{#25363}
2014-11-14 19:33:23 +00:00
caitpotter88
353b696467
Implement ES6 Template Literals
...
BUG=v8:3230
Review URL: https://codereview.chromium.org/663683006
Cr-Commit-Position: refs/heads/master@{#25362}
2014-11-14 18:53:52 +00:00
arv
f3d5b13e04
Classes: Implement correct name binding
...
Named class declarations and class expression have a const binding for
the name that is in TDZ for the extends expression.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org , adamk
Review URL: https://codereview.chromium.org/722793005
Cr-Commit-Position: refs/heads/master@{#25360}
2014-11-14 15:05:20 +00:00
Dmitry Lomov
7e69b2f996
Implement 'setVariableValue' for debugger block scopes.
...
R=aandrey@chromium.org , rossberg@chromium.org , yurys@chromium.org
BUG=v8:3690
LOG=N
Review URL: https://codereview.chromium.org/732543002
Cr-Commit-Position: refs/heads/master@{#25358}
2014-11-14 13:39:20 +00:00
Adrian Perez
ddcd08b1d1
Implement .of() on typed arrays
...
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/660863003
Patch from Adrian Perez <aperez@igalia.com>.
Cr-Commit-Position: refs/heads/master@{#25325}
2014-11-13 11:20:13 +00:00
arv@chromium.org
aa6815c79a
Classes: Add support for arguments in default constructor
...
This is currently done by generating a default constructor that looks
like this:
constructor() {
%DefaultConstructorSuperCall();
}
The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.
This is the second try. The first failed because the test was using a
array that was too large for Function.prototype.apply.
Revert "Revert "Classes: Add support for arguments in default constructor""
This reverts commit 43aa7e541df56a132608b8b4217e9da84575e4f8.
BUG=v8:3672
LOG=Y
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/716853003
Cr-Commit-Position: refs/heads/master@{#25272}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 21:36:16 +00:00
arv@chromium.org
84741e76a3
ES6: Add support for super in object literals
...
This only available under --harmony-classes
BUG=v8:3571
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/718473002
Cr-Commit-Position: refs/heads/master@{#25271}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 19:54:56 +00:00
arv@chromium.org
6a5cd94676
Revert "Classes: Add support for arguments in default constructor"
...
This reverts commit 3f4ea6c91a962a04407c79f08e5c86ce9ff2911a.
Broke tests on Mac64
http://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/923/steps/Check/logs/classes
BUG=v8:3672
TBR=dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/712333003
Cr-Commit-Position: refs/heads/master@{#25269}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 16:22:47 +00:00
arv@chromium.org
3a91adaec8
Classes: Add support for arguments in default constructor
...
This is currently done by generating a default constructor that looks
like this:
constructor() {
%DefaultConstructorSuperCall();
}
The a runtime function implements the logic which is pretty similar to
Runtime_Apply except that it uses the [[Prototype]] of the current
function.
BUG=v8:3672
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/692333011
Cr-Commit-Position: refs/heads/master@{#25268}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-11 15:55:30 +00:00
arv@chromium.org
b86c30a2b3
Classes: Partial fix for constructor not calling super
...
Introduce two new function kind, one for default constructor and one
for default constructor call super. Then when we are about to pares
these we just generate the correct AST in source.
BUG=v8:3661, v8:3672
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/700523003
Cr-Commit-Position: refs/heads/master@{#25222}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-07 16:39:27 +00:00
rossberg@chromium.org
0b9a70ade3
Remove --harmony implications for incomplete features
...
This is in preparation for making --harmony and --es-staging synonyms.
The only remaining difference currently is block-scoping, which is still
implied by --harmony, to avoid regressing on a long-available feature.
Also removes the special-casing of --harmony-proxies.
R=adamk@chromium.org
BUG=
Review URL: https://codereview.chromium.org/693153004
Cr-Commit-Position: refs/heads/master@{#25115}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-11-04 16:05:44 +00:00
arv@chromium.org
5b3f9ec76d
Classes: Add super support in methods and accessors
...
This is done by installing the [[HomeObject]] on the method and the
accessor functions.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/683893002
Cr-Commit-Position: refs/heads/master@{#24976}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-29 11:46:18 +00:00
arv@chromium.org
013a29a2bc
Classes: Add more tests for prototype edge cases
...
BUG=3655
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/687453004
Cr-Commit-Position: refs/heads/master@{#24943}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 14:12:44 +00:00
arv@chromium.org
5c2dffc380
Classes: Add test for method prototype
...
Methods should not have a prototype property
BUG=v8:3330
LOG=y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/678103004
Cr-Commit-Position: refs/heads/master@{#24939}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 13:40:14 +00:00
arv@chromium.org
1881cee691
Classes: Add basic support for properties
...
This adds the properties to the prototype and the constructor.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/680993003
Cr-Commit-Position: refs/heads/master@{#24934}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-28 12:43:49 +00:00
jarin@chromium.org
23df66ee24
Add more missing deopts
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/639883002
Cr-Commit-Position: refs/heads/master@{#24886}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-26 10:25:48 +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
98c208447d
Classes: implement 'new super'.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Committed: https://code.google.com/p/v8/source/detail?r=24822
Review URL: https://codereview.chromium.org/665773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:32:23 +00:00
dslomov@chromium.org
6442348d6e
Revert "Classes: implement 'new super'."
...
This reverts commit r24822 for breaking debug compilation.
TBR=ishell@chromium.org
Review URL: https://codereview.chromium.org/662253003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:21:30 +00:00
dslomov@chromium.org
99cafa0d5a
Classes: implement 'new super'.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/665773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 08:11:51 +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
dslomov@chromium.org
b830c2741c
Handle property name "-0" correctly for typed arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/670623003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 11:54:10 +00:00
dslomov@chromium.org
e3ad693020
Correct semantics for numerically indexed stores to typed arrays.
...
R=verwaest@chromium.org , ishell@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=24691
Review URL: https://codereview.chromium.org/652303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 16:33:38 +00:00
dslomov@chromium.org
e149f81eba
Keyed stores to super with numeric keys.
...
R=verwaest@chromium.org , arv@chromium.org , ishell@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/649603003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 13:19:45 +00:00
dslomov@chromium.org
8854589c79
Revert "Correct semantics for numerically indexed stores to typed arrays."
...
This reverts commit r24691 because win64 release build breaks.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/659313002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 13:01:54 +00:00
dslomov@chromium.org
3154c4a5f2
Correct semantics for numerically indexed stores to typed arrays.
...
R=verwaest@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/652303002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:40:40 +00:00
yangguo@chromium.org
d913faaf6d
Improve String.repeat.
...
Adapted from patch contributed by Isiah Meadows <impinball@gmail.com>.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/657863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 10:01:38 +00:00
dslomov@chromium.org
d4cbcfce6e
Implement the new semantics for 'super(...)'
...
Per the latest ES6 draft, super(...) translates into a call
to function's prototype.
R=arv@chromium.org , ishell@chromium.org , verwaest@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/661433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 09:16:03 +00:00
wingo@igalia.com
ee64a14b24
Implement .forEach() on typed arrays
...
BUG=v8:3578
LOG=Y
R=dslomov@chromium.org , wingo@igalia.com
Review URL: https://codereview.chromium.org/583723002
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:55:26 +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
dslomov@chromium.org
952690a148
Support for super assignments in for..in.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/639243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 12:46:46 +00:00
dslomov@chromium.org
c0504eeffd
Fix typedarray tests.
...
1. Fixed typo. lenght -> length. Arbitary -> Arbitrary.
2. TypedArray DataView property getters should throw TypeError when called on
incompatible types.
3. Should not use integers as keys in the arbitrary-properties test.
R=dslomov@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/652603002
Patch from Xueqiao Xu <xuq@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:48:50 +00:00
dslomov@chromium.org
c9049c0325
Keyed loads from super with numeric keys.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/638193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:40:29 +00:00
dslomov@chromium.org
53c9f0bb3d
Keyed stores to super where key is a name.
...
R=arv@chromium.org , ishell@chromium.org
BUG=v:3330
LOG=N
Review URL: https://codereview.chromium.org/638623002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-09 11:36:22 +00:00
arv@chromium.org
c8b1c3e784
Classes: Add support for toString
...
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/624013005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:48:48 +00:00
arv@chromium.org
583868288a
This uses a runtime function to set up the the constructor and its
...
prototype.
This does not add the methods/accessors to the prototype or the
constructor.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/631433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 16:24:59 +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
dslomov@chromium.org
da86ab5d23
Support for super keyed loads where key is a name.
...
R=arv@chromium.org , ishell@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/622523004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 08:25:27 +00:00
dslomov@chromium.org
953af8bd9f
Desugar 'super(..)' into 'super.constructor(...)'
...
R=arv@chromium.org , marja@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/615043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 18:12:22 +00:00
dslomov@chromium.org
1f2ff657cd
Fix style nits in test
...
R=arv@chromium.org
Review URL: https://codereview.chromium.org/613253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:30:10 +00:00
dslomov@chromium.org
b43ebcd800
Implement data property creation for assignments to super.x.
...
R=rossberg@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/618643003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 13:19:47 +00:00
dslomov@chromium.org
f08295753d
Clean-up tests for super getters and setters
...
R=arv@chromium.org
Review URL: https://codereview.chromium.org/617443003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 15:17:03 +00:00
arv@chromium.org
a36dee4d14
ES6: Implement object literal property shorthand
...
This allows the following:
var x = 1;
var o = {x};
This is under the --harmony-object-literals flag.
BUG=v8:3584
LOG=y
R=marja@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/584993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 14:15:48 +00:00
dslomov@chromium.org
ec209c7721
Support count operations on super named properties.
...
R=ishell@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/613673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:56:32 +00:00
dslomov@chromium.org
7e44408fc6
Stores and compound assignments for named super properties.
...
R=ishell@chromium.org , arv@chromium.org , verwaest@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/593073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:16:24 +00:00
dslomov@chromium.org
e36aacdee2
Implement loads and calls from 'super'
...
R=verwaest@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/527963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:08:04 +00:00
erik.corry@gmail.com
35eec7c7ca
Reland sticky regexps https://codereview.chromium.org/567313003/
...
R=svenpanne@chromium.org , yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:36:05 +00:00
arv@chromium.org
714f5f401c
ES6: Implement generator method shorthand
...
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions
BUG=v8:3516
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/577973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:14:13 +00:00
rossberg@chromium.org
cc960f8034
Revert "RegExp: Add support for the ES6-proposed sticky flag"
...
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):
first go to flag-definitions.h and set this to false.
DEFINE_BOOL(enable_sse4_1, false,
"enable use of SSE4.1 instructions if available")
Run the following and it should fail:
tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 14:53:00 +00:00
erik.corry@gmail.com
63b1c1900d
RegExp: Add support for the ES6-proposed sticky flag
...
R=yangguo@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/567313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:32: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
arv@chromium.org
477b75f1cb
Arrow functions: Cleanup handling of the prototype property
...
The old code did not work correctly in case of optimizations. I
found this out when implementing concise methods and we now plumb
through the function kind so we know what kind of Map to create for
the function.
BUG=v8:2700
LOG=y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/562253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 15:07:43 +00:00
arv@chromium.org
45d8e74cd6
ES6: Add support for method shorthand in object literals
...
This is governed by the harmony-object-literals flag.
BUG=v8:3516
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/477263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:39:42 +00:00
adamk@chromium.org
71fbe7d4ec
Ensure that JSProxy::Fix gives the generated JSObject map a constructor
...
All JSObjects in V8 either have a map()->constructor() field or are
JSFunctions. JSProxy::Fix, however, was not enforcing this, and
Object.observe's use of JSObject::GetCreationContext() exposed this.
Note that this is not Object.observe-specific: the API call
v8::Object::CreationContext() also would have revealed this bug.
This patch chooses Object as a reasonable constructor to put on the
newly-fixed object's map. Note that this has no effect on the "constructor"
property in JS. In doing so, I've also tightened up the code underlying
JSProxy::Fix to only support JSObject and JSFunction as possible output
types.
BUG=405844
LOG=N
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/505303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:54:23 +00:00
dslomov@chromium.org
22d5ceb1f2
Implement Function.prototype.toMethod.
...
R=arv@chromium.org , verwaest@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/475423003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:39:33 +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
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
rossberg@chromium.org
30af557955
Implement ES6 Array.of()
...
BUG=v8:3427
LOG=N
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/364853009
Patch from Diego Pino <dpino@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:38:38 +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
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
rossberg@chromium.org
5427ea5285
Remove proxies from --harmony switch for M38, because problems
...
They can still be activated separately using the --harmony-proxies switch,
but are no longer implied by Chrome's "Experimental JavaScript" option.
R=yangguo@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/453903002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-08 09:58:19 +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
rossberg@chromium.org
25b978cbf4
This implements unscopables
...
The unscobables allow us to black list properties from showing up in
with statements.
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-object-environment-records-hasbinding-n
The spec draft is not fully up to date.
https://github.com/rwaldron/tc39-notes/blob/master/es6/2014-07/jul-29.md#conclusionresolution
BUG=v8:3401
LOG=Y
R=rossberg@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/384963002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:50:40 +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
wingo@igalia.com
6b7f9dba84
yield* calls @@iterator on iterable
...
R=rossberg@chromium.org
BUG=v8:3422
LOG=N
Review URL: https://codereview.chromium.org/430693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:17:49 +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
yangguo@chromium.org
029b8a2379
For-of on null or undefined is an error
...
The latest ES6 draft changed the behavior of for-of on null / undefined,
which for once is a simplification.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/416033002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:40:08 +00:00
yangguo@chromium.org
c3edd49265
Expose the content of Sets and WeakSets through SetMirror.
...
BUG=v8:3093
LOG=Y
R=aandrey@chromium.org , arv@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/402423003
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:33:47 +00:00
rossberg@chromium.org
2dc3d0bdc6
Remove harmony-typeof
...
This was an early experiment in the Harmony era that turned out to
not be compatible with the web.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/408463003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 10:20:54 +00:00
rossberg@chromium.org
8023c9f564
Implement basic code generation for arrow functions
...
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.
BUG=v8:2700
LOG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/382893003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
yangguo@chromium.org
1eacdd55a0
Implement String.prototype.codePointAt and String.fromCodePoint.
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TBR=mathiasb@opera.com , rossberg@chromium.org
BUG=v8:2840
LOG=Y
Review URL: https://codereview.chromium.org/406863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:45:32 +00:00
yangguo@chromium.org
219e763155
Expose the content of Maps and WeakMaps through MapMirror.
...
BUG=v8:3291
LOG=N
R=aandrey@chromium.org , yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=22452
Review URL: https://codereview.chromium.org/398513005
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
yangguo@chromium.org
e3d9037121
Revert "Expose the content of Maps and WeakMaps through MapMirror."
...
This reverts r22452.
TBR=amikhaylova@google.com
Review URL: https://codereview.chromium.org/399963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 16:43:52 +00:00
yangguo@chromium.org
4116944ced
Expose the content of Maps and WeakMaps through MapMirror.
...
BUG=v8:3291
LOG=N
R=aandrey@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/398513005
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:07:59 +00:00
rossberg@chromium.org
e274edc8b8
Make let
usable as an identifier in ES6 sloppy mode.
...
All of our mjsunit suite now runs through with --harmony-scoping enabled, up to expected failures (tests checking syntax errors for const/function in strict mode).
R=marja@chromium.org , ulan@chromium.org
BUG=v8:2198
LOG=Y
Review URL: https://codereview.chromium.org/378303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 14:06:37 +00:00
rossberg@chromium.org
23753270ba
Fix several issues with ES6 redeclaration checks
...
R=ulan@chromium.org
BUG=v8:3426
LOG=Y
Review URL: https://codereview.chromium.org/377513006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:35:05 +00:00
ulan@chromium.org
68036255ea
Fix for-loop with const/let and empty condition/iteration statements.
...
BUG=v8:3425, v8:3424
LOG=N
TEST=mjsunit/harmony/empty-for.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/377833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 07:50:11 +00:00
wingo@igalia.com
341d61867c
Allow yield expressions without a RHS.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/348893007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 13:48:28 +00:00
rossberg@chromium.org
8a25b88722
Make freeze & friends ignore private properties
...
R=verwaest@chromium.org
BUG=v8:3419
LOG=Y
Review URL: https://codereview.chromium.org/355123006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 15:47:41 +00:00
rossberg@chromium.org
28eda86ae7
Make Map.set() and Set.add() chainable
...
From the Harmony draft:
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.set
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakmap.prototype.set
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.add
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-weakset.prototype.add
BUG=v8:3410
R=arv@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/359173002
Patch from caitp <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 09:49:25 +00:00
rossberg@chromium.org
7b04a68d23
ES6: Add missing Set.prototype.keys function
...
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-set.prototype.keys
The value of the keys property is just the initial value of the values
function.
BUG=v8:3411
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/353293003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:37:07 +00:00
wingo@igalia.com
bf8e802f1a
Add @@iterator, .entries(), .values(), .keys() support to typed arrays
...
R=arv@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/336403002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:46:53 +00:00
wingo@igalia.com
699bc8f73d
Add @@iterator support for strings
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/335423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:43:14 +00:00
wingo@igalia.com
f6dfa63c9d
Add @@iterator to Array.prototype
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/338323003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:32:57 +00:00
adamk@chromium.org
257adcf0ed
Map/Set: Implement constructor parameter handling
...
When an iterable object is passed in as the argument to the Map and Set
constructor the elements of the iterable object are used to populate the
Map and Set.
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-iterable
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-iterable
BUG=v8:3398
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/345613003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 18:05:57 +00:00
mstarzinger@chromium.org
d5cb9ee440
Drop obsolete ES6 TODOs about activating extended mode.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/338363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-17 15:22:38 +00:00
wingo@igalia.com
dfb1c7dc9e
For-of calls [Symbol.iterator]() on RHS to get iterator
...
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N
Review URL: https://codereview.chromium.org/332663004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
wingo@igalia.com
8e165acbdf
Add @@iterator for generator objects
...
R=arv@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/328093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:53:07 +00:00
ulan@chromium.org
c8b2fa454a
Preliminary support for block contexts in hydrogen.
...
Patch from Steven Keuchel <keuchel@chromium.org>
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-let-crankshaft.js
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/307593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 07:33:01 +00:00
adamk@chromium.org
509a1a405c
ES6: Add support for values/keys/entries for Map and Set
...
This allows code like this:
var map = new Map();
map.set(1, 'One');
...
var iter = map.values();
var res;
while (!(res = iter.next()).done) {
print(res.value);
}
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/259883002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
ulan@chromium.org
3fcda0e576
Make let variables fresh in each iteration of a for-loop.
...
BUG=v8:2198
LOG=N
TEST=mjsunit/harmony/block-for
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/292743009
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:07:02 +00:00
yangguo@chromium.org
ab3afc5722
Reland "Prevent liveedit on or under generators with open activations"
...
The change relative to the previous CL is a logic change in
DropActivationsInActiveThreadImpl. The previous CL skipped the matcher
unless the frame was a JS frame; this was correct for
MultipleFunctionTarget but not for SingleFrameTarget.
I have not been able to reproduce the original failures on either
architecture (ia32 or x64; stack frame dropping is unsupported on other
architectures).
R=yangguo@chromium.org
LOG=N
TEST=mjsunit/harmony/generators-debug-liveedit.js
BUG=
Review URL: https://codereview.chromium.org/270283002
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 07:32:59 +00:00
adamk@chromium.org
fa55c02b11
Allow debugger to step into Map and Set forEach callbacks
...
BUG=v8:3341
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/293083005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:25:50 +00:00
adamk@chromium.org
6717ac656a
Array Iterator next should check for own property
...
Since we are using private symbols for the internal slots we need to
check for a local property.
BUG=None
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/268363011
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:05:11 +00:00
adamk@chromium.org
70c3a714a1
ES6 Map/Set iterators/forEach improvements
...
This changes how Map/Set interacts with its iterators. When the
underlying table is rehashed or cleared, we create a new table (like
before) but we add a reference from the old table to the new table. We
also add an array describing how to transition the iterator from the
old table to the new table.
When Next is called on the iterator it checks if there is a newer table
that it should transition to. If there is, it updates the index based
on the previously recorded changes and finally changes itself to point
at the new table.
With these changes Map/Set no longer keeps the iterators alive. Also,
as before, the iterators keep the underlying table(s) alive but not the
actual Map/Set.
BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/289503002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:22:05 +00:00
wingo@igalia.com
6382a25fa7
Poison .arguments and .caller for generator functions
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/270133003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 10:47:00 +00:00
rossberg@chromium.org
417610e24a
Stage ES6 symbols
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/286133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 14:42:02 +00:00
verwaest@chromium.org
8db908784e
Array Iterator prototype should not have a constructor.
...
BUG=v8:3293
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/258793005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:37:04 +00:00
ishell@chromium.org
99f2e4d5ac
Fix typos in unit test for Array.prototype.fill()
...
BUG=
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/277953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 16:11:50 +00:00
rossberg@chromium.org
5c9ad091e9
Revert "Prevent liveedit on or under generators with open activations"
...
Seems to crash some tests on buildbots.
TBR=ishell@chromium.org
CC=wingo@igalia.com ,yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/273433002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 16:02:18 +00:00
wingo@igalia.com
ab96529a4a
Prevent liveedit on or under generators with open activations
...
R=yangguo@chromium.org
LOG=N
TEST=mjsunit/harmony/generators-debug-liveedit.js
BUG=
Review URL: https://codereview.chromium.org/266983004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:57:52 +00:00
rossberg@chromium.org
ae0a36ee32
Re^3-land "Ship promises and weak collections"
...
R=jochen@chromium.org
BUG=
Review URL: https://codereview.chromium.org/266243003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:48:34 +00:00
wingo@igalia.com
275bfa1b61
Relocate suspended generator activations when enabling debug mode
...
R=yangguo@chromium.org
BUG=v8:3289
LOG=N
Review URL: https://codereview.chromium.org/264973014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 14:31:51 +00:00
jochen@chromium.org
8554da5c68
Revert r21141.
...
Relocate suspended generator activations when enabling debug mode
BUG=v8:3289
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/262193003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 13:28:21 +00:00
wingo@igalia.com
9a9943b564
Relocate suspended generator activations when enabling debug mode
...
R=yangguo@chromium.org
BUG=v8:3289
LOG=N
Review URL: https://codereview.chromium.org/260423002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 12:57:14 +00:00
dslomov@chromium.org
ace15fa612
ES6: Add support for Array.prototype.fill()
...
BUG=v8:3273
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/240873002
Patch from Adrian Perez <aperez@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-30 08:28:29 +00:00
wingo@igalia.com
df07a82771
Add tests for generator/debugger interaction
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/247003004
Review URL: https://codereview.chromium.org/256733004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 09:35:41 +00:00
bmeurer@chromium.org
f95b815d5b
Revert "Add tests for generator/debugger interaction"
...
This reverts commit r20921 for breaking the ARM/ARM64 bots.
TBR=wingo@igalia.com
Review URL: https://codereview.chromium.org/255563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 08:26:16 +00:00
wingo@igalia.com
9d5d1764f9
Add tests for generator/debugger interaction
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/247003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 07:24:38 +00:00
wingo@igalia.com
2194f3f858
Move bug 3280 regression test to mjsunit/harmony
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/248483004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 15:01:30 +00:00
wingo@igalia.com
e12ae547cf
Avoid exposing compiler-allocated temporaries to the debugger
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/245963006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 08:58:41 +00:00
adamk@chromium.org
3308cb5857
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793, 2323
LOG=Y
R=adamk@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/238063009
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 17:45:32 +00:00
adamk@chromium.org
91618cf1e9
Revert "ES6: Add support for Map/Set forEach"
...
This reverts https://code.google.com/p/v8/source/detail?r=20823
It broke Windows builds. Will need to find a Windows try bot to figure
out why.
TBR=mstarzinger@chromium.org ,arv@chromium.org
Review URL: https://codereview.chromium.org/238973011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:19:25 +00:00
adamk@chromium.org
7c300d1f83
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/240323003
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 21:12:27 +00:00
adamk@chromium.org
a44e10cad6
Revert "ES6: Add support for Map/Set forEach"
...
This reverts commit https://code.google.com/p/v8/source/detail?r=20781 .
It broke the Win32 builders.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/239163012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 01:03:56 +00:00
adamk@chromium.org
a1af5a2a2f
ES6: Add support for Map/Set forEach
...
This implements MapIterator and SetIterator which matches
the same constructs in the ES6 spec. However, these 2
iterators are not exposed to user code yet. They are only
used internally to implement Map.prototype.forEach and
Set.prototype.forEach.
Each iterator has a reference to the OrderedHashTable where
it directly accesses the hash table's entries.
The OrderedHashTable has a reference to the newest iterator
and each iterator has a reference to the next and previous
iterator, effectively creating a double linked list.
When the OrderedHashTable is mutated (or replaced) all the
iterators are updated.
When the iterator iterates passed the end of the data table
it closes itself. Closed iterators no longer have a
reference to the OrderedHashTable and they are removed from
the double linked list. In the case of Map/Set forEach, we
manually call Close on the iterator in case an exception was
thrown so that the iterator never reached the end.
At this point the OrderedHashTable keeps all the non finished
iterators alive but since the only thing we currently expose
is forEach there are no unfinished iterators outside a forEach
call. Once we expose the iterators to user code we will need
to make the references from the OrderedHashTable to the
iterators weak and have some mechanism to close an iterator
when it is garbage collected.
BUG=1793,2323
LOG=Y
R=adamk@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/236143002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-16 00:40:03 +00:00
yangguo@chromium.org
e7f0beeaa6
Make String.prototype.contains
throw when passing a regular expression
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/harmony
BUG=v8:3261
LOG=Y
R=yangguo@chromium.org , arv@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/227113005
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-07 10:24:01 +00:00
jochen@chromium.org
b7039334ae
Revert 20313 - "Ship promises and weak collections"
...
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004
R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n
Review URL: https://codereview.chromium.org/219303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
dslomov@chromium.org
bd353dc3a0
Inline internal getters for typed arrays & friends.
...
R=hpayer@chromium.org , yangguo@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=20330
Review URL: https://codereview.chromium.org/212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 15:25:24 +00:00
dslomov@chromium.org
c873e813c5
Revert "Inline internal getters for typed arrays & friends."
...
This reverts commit r20330 for breaking arm64 nosnap tests.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/216993002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 13:33:50 +00:00
dslomov@chromium.org
6d91c1e77f
Inline internal getters for typed arrays & friends.
...
R=hpayer@chromium.org , yangguo@chromium.org
Review URL: https://codereview.chromium.org/212603014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-28 12:02:52 +00:00
rossberg@chromium.org
826cf64fd3
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=20211
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
dslomov@chromium.org
f66af4feb4
Refactor optimized in hydrogen only runtime functions.
...
This splits all runtime function into 3 categories:
1) RUNTIME: implemented in runtime and called from both full and optimized code.
2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins.
3) INLINE: inlined in both full and optimized code
4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code.
R=yangguo@chromium.org , yannguo@chromium.org
Review URL: https://codereview.chromium.org/209353006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 14:26:55 +00:00
rossberg@chromium.org
2e1b16de2a
Revert "Ship promises and weak collections"
...
Reason: breaks Blink layout tests.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/210853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
rossberg@chromium.org
33be68c2fa
Ship promises and weak collections
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/206163004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
rossberg@chromium.org
6704bbce82
Spec adjustments for well-known symbols
...
R=arv@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/208423013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:45:52 +00:00
jochen@chromium.org
2ce0bebba1
Rename A64 port to ARM64 port
...
BUG=354405
R=ulan@chromium.org , rodolph.perfetta@arm.com
LOG=y
Review URL: https://codereview.chromium.org/207823003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
rossberg@chromium.org
b3b6987b27
Reland "Implement ES6 symbol registry and predefined symbols"
...
Only change relative to original CL is the updated assertion condition at objects-inl.h:2119
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204913006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 16:13:09 +00:00
rossberg@chromium.org
1088fbd1e7
Revert "Implement ES6 symbol registry and predefined symbols"
...
TBR=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/204353004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:56:41 +00:00
rossberg@chromium.org
0f71f61799
Implement ES6 symbol registry and predefined symbols
...
R=mstarzinger@chromium.org , arv@chromium.org
BUG=
LOG=Y
Review URL: https://codereview.chromium.org/203243004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 12:26:27 +00:00
rossberg@chromium.org
58d623f228
Stage ES6 promises and weak collections
...
Split collections flag into weak and non-weak.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/201593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 09:57:14 +00:00
yangguo@chromium.org
4e390c64f1
Harmony: move math features to es-staging.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/195123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:51:59 +00:00
adamk@chromium.org
8bd05193c7
Reland "Enable Object.observe by default" again
...
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706
This patch should be safe to merge once that lands.
BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org ,dslomov@chromium.org,rafaelw@chromium.org
Review URL: https://codereview.chromium.org/198383002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
dslomov@chromium.org
f6dac13dcb
Revert "Enable Object.observe by default"
...
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224
TBR=rafaelw@chromium.org ,rossberg@chromium.org
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/195123005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
rossberg@chromium.org
3f702d4bf9
Mode clean-up pt 1: rename classic/non-strict mode to sloppy mode
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/177683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 14:39:08 +00:00
rossberg@chromium.org
710ee827b5
Promise.all and Promise.race should reject non-array parameter.
...
Promise.all and Promise.race should reject the returned Promise if an
invalid parameter is given.
Since they don't support iterable now, they should reject the Promise
if a non-array parameter is given.
BUG=347453
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/182613003
Patch from Yutaka Hirano <yhirano@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 12:01:06 +00:00
rafaelw@chromium.org
6503dfb72b
Reland "Enable Object.observe by default"
...
Original Issue: https://codereview.chromium.org/183683022/
TBR=rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/189513010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 04:41:06 +00:00
rafaelw@chromium.org
0cc44c14e5
Revert "Enable Object.observe by default"
...
TBR=rossberg
BUG=
Review URL: https://codereview.chromium.org/190853007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 03:54:42 +00:00
rafaelw@chromium.org
dcf9842e07
Enable Object.observe by default
...
R=rossberg@chromium.org , rossberg
BUG=v8:2409
LOG=Y
Review URL: https://codereview.chromium.org/183683022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 02:47:53 +00:00
rossberg@chromium.org
5543263c19
Move all Harmony-only tests to harmony/
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/178583005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 14:26:32 +00:00
rossberg@chromium.org
0d34254f8d
Upgrade Symbol implementation to match current ES6 behavior.
...
Refresh the implementation of Symbols to catch up with what the
specification now mandates:
* The global Symbol() function manufactures new Symbol values,
optionally with a string description attached.
* Invoking Symbol() as a constructor will now throw.
* ToString() over Symbol values still throws, and
Object.prototype.toString() stringifies like before.
* A Symbol value is wrapped in a Symbol object either implicitly if
it is the receiver, or explicitly done via Object(symbolValue) or
(new Object(symbolValue).)
* The Symbol.prototype.toString() method no longer throws on Symbol
wrapper objects (nor Symbol values.) Ditto for Symbol.prototype.valueOf().
* Symbol.prototype.toString() stringifies as "Symbol("<description>"),
valueOf() returns the wrapper's Symbol value.
* ToPrimitive() over Symbol wrapper objects now throws.
Overall, this provides a stricter separation between Symbol values and
wrapper objects than before, and the explicit fetching out of the
description (nee name) via the "name" property is no longer supported
(by the spec nor the implementation.)
Adjusted existing Symbol test files to fit current, adding some extra
tests for new/changed behavior.
LOG=N
R=arv@chromium.org , rossberg@chromium.org , arv, rossberg
BUG=v8:3053
Review URL: https://codereview.chromium.org/118553003
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:19:42 +00:00
yangguo@chromium.org
139134acc2
Harmony: optimize Math.clz32.
...
R=svenpanne@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/172133003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:51:49 +00:00
yangguo@chromium.org
84cf85598d
Harmony: implement Math.cbrt, Math.expm1 and Math.log1p.
...
BUG=v8:2938
LOG=N
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/163563003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:49:59 +00:00
yangguo@chromium.org
be7b023a5c
Harmony: implement Math.clz32
...
R=dslomov@chromium.org , svenpanne@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/169783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:49:35 +00:00
yangguo@chromium.org
9ffe004ae4
Harmony: implement Math.fround.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/169513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 10:43:06 +00:00
rafaelw@chromium.org
6b5a4cdef2
V8 Microtask Queue & API
...
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".
It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to
-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).
R=dcarney@chromium.org , rossberg@chromium.org , dcarney, rossberg, svenpanne
BUG=
Review URL: https://codereview.chromium.org/154283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
ulan@chromium.org
e95bc7eec8
Merge experimental/a64 to bleeding_edge.
...
BUG=v8:3113
LOG=Y
R=jochen@chromium.org , rmcilroy@chromium.org , rodolph.perfetta@arm.com
Review URL: https://codereview.chromium.org/148293020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
yangguo@chromium.org
0870702436
Harmony: fix spec violation in Math.cosh.
...
R=jarin@chromium.org
BUG=v8:3141
LOG=N
Review URL: https://codereview.chromium.org/159353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-11 11:48:32 +00:00
rossberg@chromium.org
e8175a3e9f
Revert "Make Function.length and Function.name configurable properties."
...
Plenty of test failures on test262, Mozilla, Webkit. Will have to investigate.
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/139983003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 15:29:18 +00:00
rossberg@chromium.org
7317b71f02
Make Function.length and Function.name configurable properties.
...
ES6 makes the Function object properties "length" and "name"
configurable; switch the implementation over to follow that.
Doing so exposed a problem in the handling of non-writable, but
configurable properties backed by foreign callback accessors
internally. As an optimization, if such an accessor property is
re-defined with a new value, its setter was passed the new value
directly, keeping the property as an accessor property. However, this
is not correct should the property be non-writable, as its setter will
then simply ignore the updated value. Adjust the enabling logic for
this optimization accordingly, along with adding a test.
LOG=N
R=rossberg@chromium.org , rossberg
BUG=v8:3045
Review URL: https://codereview.chromium.org/116083006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-07 14:55:30 +00:00