Commit Graph

96 Commits

Author SHA1 Message Date
caitpotter88
b61e9812c3 [es6] ship Object.assign
BUG=v8:4007
LOG=N
R=rossberg@chromium.org, arv@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

Committed: https://crrev.com/12e194860a56d47a10d89ae34761a4af6b6166bb
Cr-Commit-Position: refs/heads/master@{#29118}

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

Cr-Commit-Position: refs/heads/master@{#29150}
2015-06-19 14:39:13 +00:00
caitpotter88
95a3bc965e Revert of [es6] ship Object.assign (patchset #2 id:20001 of https://codereview.chromium.org/1191003003/)
Reason for revert:
Seems to break asan somehow

Original issue's description:
> [es6] ship Object.assign
>
> BUG=v8:4007
> LOG=N
> R=rossberg@chromium.org, arv@chromium.org
> CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
>
> Committed: https://crrev.com/12e194860a56d47a10d89ae34761a4af6b6166bb
> Cr-Commit-Position: refs/heads/master@{#29118}

TBR=arv@chromium.org,dslomov@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4007

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

Cr-Commit-Position: refs/heads/master@{#29124}
2015-06-18 19:15:36 +00:00
caitpotter88
12e194860a [es6] ship Object.assign
BUG=v8:4007
LOG=N
R=rossberg@chromium.org, arv@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#29118}
2015-06-18 14:56:14 +00:00
verwaest
823682ea2c Use LookupIterator for GetElementAttributes and friends
BUG=v8:4137
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28757}
2015-06-02 11:10:58 +00:00
caitpotter88
9836c34dba [es6] do not add caller/arguments to ES6 function definitions
BUG=v8:3946, v8:3982
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
LOG=N
R=arv@chromium.org, rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27729}
2015-04-09 22:40:28 +00:00
arv
e625844648 [es6] Function length property should be configurable
ES6 specs the function length property (it was not part of ES5) and
it makes it configurable.

BUG=v8:3045
LOG=N
R=mstarzinger@chromium.org, adamk@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#27190}
2015-03-13 17:19:53 +00:00
verwaest
ac2b1cea97 Add a pretty printer to improve the error message non-function calls
BUG=259443
LOG=y

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

Cr-Commit-Position: refs/heads/master@{#26189}
2015-01-21 13:40:41 +00:00
dslomov
a417b41880 Unship ES6 classes.
R=rossberg@chromium.org
BUG=v8:3330

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

Cr-Commit-Position: refs/heads/master@{#26000}
2015-01-08 15:11:01 +00:00
arv
6e888ca864 Ship ES6 template literals
BUG=v8:3230
LOG=Y
R=dslomov@chromium.org, caitpotter88@gmail.com

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

Cr-Commit-Position: refs/heads/master@{#25892}
2014-12-18 20:12:08 +00:00
dslomov
6d35dedf6e Ship ES6 classes.
R=arv@chromium.org
BUG=v8:3330
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25826}
2014-12-15 16:44:00 +00:00
dslomov
cd4cc1ba36 Ship harmony-strings
R=rossberg@chromium.org, yangguo@chromium.org
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#25536}
2014-11-27 10:17:18 +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
yangguo
61bee5c898 Correctly escape RegExp source.
R=ulan@chromium.org
BUG=v8:3229
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#25457}
2014-11-21 10:50:24 +00:00
adamk@chromium.org
9d4b3d278c Fix webkit getOwnPropertyNames test after r24706 removed Array.prototype.values
TBR=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 20:27:24 +00:00
yangguo@chromium.org
b4a35fe7e5 Remove RegExp.$input.
R=arv@chromium.org, mathiasb@opera.com
BUG=v8:3486
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:43:00 +00:00
wingo@igalia.com
cde2b800c7 Properly rebaseline getOwnPropertyNames test.
R=arv@chromium.org
TBR=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 18:19:38 +00:00
wingo@igalia.com
9d6a18ad1c Rebaseline WebKit object getOwnPropertyNames test for Array.{keys,values,entries}
R=arv@chromium.org
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-07 17:57:27 +00:00
adamk@chromium.org
c865b20417 Update webkit test for expected own properties
Follow up to: 438103002

BUG=None
LOG=Y
R=adamk@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 19:30:52 +00:00
yangguo@chromium.org
a1ee057ff7 Rebaseline webkit test expectations after r22938.
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-06 15:31:35 +00:00
adamk@chromium.org
9012220d55 Fix Object-getOwnPropertyNames test after turning on Symbols
TBR=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 19:08:13 +00:00
verwaest@chromium.org
a973e3a16e Update test and rebaseline
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-22 09:44:56 +00:00
yangguo@chromium.org
d1333142e2 Ship ES6 Math functions.
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
ulan@chromium.org
e56594f10a Fix Array.prototype.push and Array.prototype.unshift for read-only length.
BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 08:09:57 +00:00
rafaelw@chromium.org
699bde3fc5 Update test expectations after re-enabling Object.observe
TBR=verwaest

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-02 14:17:13 +00:00
rossberg@chromium.org
8452271f1b Adapt more test expectations
TBR=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-29 15:52:50 +00:00
rossberg@chromium.org
2fda95eb80 Make stray 'return' an early error
As required by the spec, and implemented by other browsers.

(Plus minor clean-up for redeclaration TypeErrors.)

R=marja@chromium.org
BUG=
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 12:38:01 +00:00
rossberg@chromium.org
45118bfdfb Make invalid LHSs that are calls late errors
Necessary for web legacy compatibility.

Also fold in additional strict mode checks into LHS checks.
Minor constness clean-ups on the way.

R=marja@chromium.org
BUG=chromium:358346
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 11:03:05 +00:00
rossberg@chromium.org
b7b40e2b84 Remove Promise.cast
...as per January meeting. Renames 'cast' to 'resolve'. We rename the prior 'resolve' to 'accept', to keep the chain API usable.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 15:03:35 +00:00
rossberg@chromium.org
91edfc5f25 Fix more WebKit test expectations
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:06:47 +00:00
rossberg@chromium.org
3db4d32878 Fix WebKit and Mozilla test expectations
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 12:00:40 +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
8af219477a Revert "Reland "Enable Object.observe by default""
This reverts commit r19736 for breaking browser_tests on ChromiumOS.

TBR=rossberg@chromium.org,rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:36:15 +00:00
rossberg@chromium.org
2d48e06e52 Import Blink layout tests for Promises.
Import Blink layout tests for Promises.
We omitted some tests (for example workers tests).
We fixed some wrong test expectations.

BUG=347095
LOG=N
R=rossberg@chromium.org

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 12:30:47 +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
marja@chromium.org
8150464209 Make strict more error messages about "eval" and "arguments" less specific.
We used to have error messages which provide context, like "Variable name may
not be eval or arguments in strict mode", but for other illegal words we only
have non-context specific error messages like "Unexpected reserved word".

Providing the context makes the code unnecessarily complex, since every
individual place must remember to check for eval or arguments. This CL produces
a unified error message ("Unexpected eval or arguments in strict mode"), and puts
the error reporting to (Pre)Parser::ParseIdentifier.

Notes:

- The module feature is so experimental, that I decided to not allow "eval" or
"arguments" as module-related identifiers in the strict mode (even though this
check wasn't there before).

- Unfortunately, there were some inconsistencies, since it was the
responsibility of the caller of ParseIdentifier to check "eval" and "arguments"
and some places didn't have the check for no good reason. This CL is supposed to
keep backward compatibility and *not* introduce any new errors.

- ECMA allows "eval" and "arguments" as labels even in strict mode. (Syntax:
"LabelledStatement: Identifier : Statement", and no strict mode restrictions on
Identifier are listed.)

- Tests which compare error message strings will fail, and need to be updated.

BUG=3126
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-05 16:26:48 +00:00
marja@chromium.org
2794955852 Tests for (pre)parse errors when "eval" and "arguments" are found in inappropriate places.
In addition:
- Fix a bug in parser discovered by the tests (prefix and postfix confused in an
error message); the preparser had it right.
- Unify the parser and preparser error locations when the name of a function is
"eval" or "arguments. Now both point to the name.

BUG=3126
LOG=N
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 11:26:19 +00:00
verwaest@chromium.org
eab6854faa Adjust test expectations to new error on method not found
BUG=
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 17:39:59 +00:00
svenpanne@chromium.org
0cb5fd3d3e Implements ES6 String.prototype.normalize method.
BUG=v8:2943
LOG=Y
TEST=Unit tests for "real life" use cases, edge cases, various types of normalization.

==========================

This is identical to the previous CL
   https://codereview.chromium.org/40133004/
with two differences:
 * Added a dummy implementation of String.prototype.normalize to be used when v8 is compiled without intl support
 * Rebased the the test files for webkit. That was the only reason for the previous failure (and revert).

Thank you,
Mihai

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 08:09:17 +00:00
dslomov@chromium.org
33d7e64b51 ES6: Implement Object.setPrototypeOf
This reverts commit bdc89ae76c15f3ef2626f8849744500248aec3ba.

This is a revert of the revert with test/webkit updated as needed.

Original CL Description:

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof

This just exposes the internal %SetPrototype and adds all the required
type checks as specified.

BUG=v8:2675
LOG=Y
R=dslomov@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 12:15:57 +00:00
mstarzinger@chromium.org
f57eff4635 Adapt Webkit test expectations to r18480.
R=jkummerow@chromium.org
LOG=N
BUG=v8:3082
TEST=webkit/fast/js/Object-getOwnPropertyNames

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:30:49 +00:00
yangguo@chromium.org
aa3518a0f3 Make sure files end with exactly one new line and police this in presubmit.
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00
mvstanton@chromium.org
1d835561ac Change test expectations for webkit/fast/js/object-slow-put and friends.
R=verwaest@chromium.org
TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-06 16:38:40 +00:00
machenbach@chromium.org
6475cb4d95 Repair test expectations for webkit test.
When adding the new tests in https://codereview.chromium.org/21070002/ the tabs in .js files were automatically replaced with spaces (for presubmit to work).

This replaces the tabs also in a test expectation file for the output to match again.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 07:15:29 +00:00
machenbach@chromium.org
e26131f792 Migrate more tests from blink repository.
All these tests had <script> tags with additional JS code. All embedded script code is (automatically) concatenated with existing .js files into one .js test file per test.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-30 06:36:48 +00:00
machenbach@chromium.org
4bf2e5be3a Rebaseline webkit test with correct assumptions.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-26 11:22:25 +00:00
machenbach@chromium.org
3c9efdeeb4 Migrate more tests from blink repository.
The stand-alone test driver is changed a bit:
- Don't use the errorMessage list. It is used differently in the embedded driver. There it collects parser errors - instead of failure messages.
- Remove html links in description texts. Some test descriptions print a web reference.

The migrated tests fall into 3 categories:
1. Tests outside fast/js
2. Tests that print FAIL messages (and also expect those) - these tests should be examined later if they make sense at all
3. Tests with html links in the test description

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-25 19:54:24 +00:00