- 30 Jan, 2015 2 commits
-
-
caitpotter88 authored
BUG=v8:2159 LOG=N R=marja@chromium.org, arv@chromium.org Review URL: https://codereview.chromium.org/888713003 Cr-Commit-Position: refs/heads/master@{#26366}
-
arv authored
For example let and class should only be allowed inside function/block/script. We have to continue to support const in statements in sloppy mode for backwards compatibility. BUG=3831 LOG=Y R=dslomov@chromium.org, adamk Review URL: https://codereview.chromium.org/869293002 Cr-Commit-Position: refs/heads/master@{#26337}
-
- 29 Jan, 2015 1 commit
-
-
arv authored
This removes the duplicate property check from object literals. Instead we repurpose the ObjectLiteralChecker into two cases, implemented by two subclasses to ObjectLiteralCheckerBase called ObjectLiteralChecker and ClassLiteralChecker. The object literal checker now only checks for duplicate __proto__ fields in object literals. The class literal checker checks for duplicate constructors, non constructor fields named constructor as well as static properties named prototype. BUG=v8:3819 LOG=Y R=adamk, dslomov@chromium.org Review URL: https://codereview.chromium.org/873823003 Cr-Commit-Position: refs/heads/master@{#26336}
-
- 18 Dec, 2014 1 commit
-
-
caitpotter88 authored
LOG=N BUG= R=arv@chromium.org, dslomov@chromium.org Review URL: https://codereview.chromium.org/812163003 Cr-Commit-Position: refs/heads/master@{#25895}
-
- 10 Dec, 2014 1 commit
-
-
mathiasb authored
TEST=mjsunit/harmony BUG=v8:3751 LOG=N Review URL: https://codereview.chromium.org/770333005 Cr-Commit-Position: refs/heads/master@{#25762}
-
- 05 Dec, 2014 1 commit
-
-
arv authored
This introduces Hydrogen for %_GetPrototype. The code falls back on runtime if the object needs access checks or if its prototype is a hidden prototype. BUG=None LOG=Y R=dslomov@chromium.org Review URL: https://codereview.chromium.org/756423006 Cr-Commit-Position: refs/heads/master@{#25694}
-
- 28 Nov, 2014 2 commits
-
-
Dmitry Lomov authored
TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/762083002 Cr-Commit-Position: refs/heads/master@{#25557}
-
dslomov authored
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}
-
- 20 Nov, 2014 1 commit
-
-
Andreas Rossberg authored
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}
-
- 18 Nov, 2014 1 commit
-
-
dslomov authored
R=rossberg@chromium.org BUG=v8:2198 LOG=N Review URL: https://codereview.chromium.org/713413003 Cr-Commit-Position: refs/heads/master@{#25406}
-
- 14 Nov, 2014 1 commit
-
-
caitpotter88 authored
BUG=v8:3230 Review URL: https://codereview.chromium.org/663683006 Cr-Commit-Position: refs/heads/master@{#25362}
-
- 12 Nov, 2014 3 commits
-
-
wingo@igalia.com authored
R=rossberg@chromium.org BUG=v8:3096 LOG=Y Review URL: https://codereview.chromium.org/717123002 Cr-Commit-Position: refs/heads/master@{#25297} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=aandrey@chromium.org BUG=chromium:109362 LOG=Y Review URL: https://codereview.chromium.org/701093003 Cr-Commit-Position: refs/heads/master@{#25289} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/717573006 Cr-Commit-Position: refs/heads/master@{#25282} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Nov, 2014 1 commit
-
-
jkummerow@chromium.org authored
This relands commit ea74f0f8. The revert was due to failures in cctest/test-heap/ReleaseOverReservedPages, caused by apparent changes to memory layout and fragmentation of the first page. Eliminating a situation in messages.js where this CL has had an effect on map transitions seems to solve the issue. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/714883003 Cr-Commit-Position: refs/heads/master@{#25266} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Oct, 2014 1 commit
-
-
marja@chromium.org authored
This simplifies escape handling and makes it easier to extend escapes for ES6. PushBack just before detecting ILLEGAL is unnecessary, since we will abort the scanning / parsing anyway at that point, and it doesn't matter where the cursor exactly is. The error messages w/ PushBack are not any better or more correct than without. In addition: remove a comment about handling invalid escapes gracefully when we no longer do. (*) This CL includes a behavioral change: For input "var r = /foobar/g\urrrr;" we used to report "unexpected_token: ILLEGAL" for "\u", but now we report malformed_regexp_flags which is a more correct error message. (Note that the code for reporting invalid_regexp_flags was dead, and invalid_regexp_flags is not the right error message.) Note that the V8 is more relaxed about unicode escapes in regexp flags than ES6 (see http://people.mozilla.org/~jorendorff/es6-draft.html#sec-regular-expressions ) and this CL doesn't change it. (V8 accepts any \uxxxx, ES6 spec says only a certain value range is acceptable.) (*) Code archaeology: Originally, doing PushBack in ScanHexEscape made sense (see e.g., here https://codereview.chromium.org/5063003/diff/6001/src/prescanner.h ), since we wouldn't return ILLEGAL but treat an invalid escape sequence "\uxxxx" as "uxxxx". (The repo at that point contains another instance of the same function, from the initial commit. The logic is the same.) This behavior was changed in a "renaming" commit https://codereview.chromium.org/7739020. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/684873002 Cr-Commit-Position: refs/heads/master@{#25031} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Oct, 2014 1 commit
-
-
yangguo@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/685393002 Cr-Commit-Position: refs/heads/master@{#25019} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2014 1 commit
-
-
arv@chromium.org authored
ES6 no longer makes duplicate properties an error. However, we continue to treat duplicate properties in strict mode object literals as errors. With this change we allow duplicate properties in class bodies. We continue to flag duplicate constructors as an error as required by ES6. BUG=v8:3570 LOG=Y R=marja@chromium.org Review URL: https://codereview.chromium.org/677953004 Cr-Commit-Position: refs/heads/master@{#24933} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2014 1 commit
-
-
dslomov@chromium.org authored
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
-
- 07 Oct, 2014 1 commit
-
-
arv@chromium.org authored
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
-
- 24 Sep, 2014 2 commits
-
-
yangguo@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/595253002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/598603002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2014 1 commit
-
-
dslomov@chromium.org authored
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
-
- 16 Sep, 2014 1 commit
-
-
arv@chromium.org authored
This implements parsing for ClassExpression and ClassDeclaration. The runtime is not yet implemented and the value is currently hard coded to undefined. BUG=v8:3330 LOG=Y R=dslomov@chromium.org, marja@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/561913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Aug, 2014 1 commit
-
-
dslomov@chromium.org authored
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
-
- 18 Aug, 2014 1 commit
-
-
dslomov@chromium.org authored
BUG=v8:3330 LOG=N R=arv@chromium.org, marja@chromium.org Review URL: https://codereview.chromium.org/480543002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Aug, 2014 1 commit
-
-
dslomov@chromium.org authored
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
-
- 21 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
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
-
- 16 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
R=verwaest@chromium.org BUG=393988 LOG=N Review URL: https://codereview.chromium.org/396063008 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Jul, 2014 3 commits
-
-
verwaest@chromium.org authored
BUG= R=ishell@chromium.org Review URL: https://codereview.chromium.org/384003003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org BUG=v8:3441 LOG=Y Review URL: https://codereview.chromium.org/390783003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Arrow functions are parsed from ParseAssignmentExpression(). Handling the parameter list is done by letting ParseConditionalExpression() parse a comma separated list of identifiers, and it returns a tree of BinaryOperation nodes with VariableProxy leaves, or a single VariableProxy if there is only one parameter. When the arrow token "=>" is found, the VariableProxy nodes are passed to ParseArrowFunctionLiteral(), which will then skip parsing the paramaeter list. This avoids having to rewind when the arrow is found and restart parsing the parameter list. Note that the empty parameter list "()" is handled directly in ParsePrimaryExpression(): after is has consumed the opening parenthesis, if a closing parenthesis follows, then the only valid input is an arrow function. In this case, ParsePrimaryExpression() directly calls ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value to signal the empty parameter list. Because it will consume the body of the arrow function, ParseAssignmentExpression() will not see the arrow "=>" token as next, and return the already-parser expression. The implementation is done in ParserBase, so it was needed to do some additions to ParserBase, ParserTraits and PreParserTraits. Some of the glue code can be removed later on when more more functionality is moved to ParserBase. Additionally, this adds a runtime flag "harmony_arrow_functions" (disabled by default); enabling "harmony" will enable it as well. BUG=v8:2700 LOG=N R=marja@chromium.org Review URL: https://codereview.chromium.org/383983002 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jul, 2014 1 commit
-
-
marja@chromium.org authored
This reverts revision 22320. Reason: ASAN still detects leaks! Conflicts: src/preparser.h TBR=aperez@igalia.com,marja@chromium.org BUG= Review URL: https://codereview.chromium.org/389503002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2014 3 commits
-
-
rossberg@chromium.org authored
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
-
marja@chromium.org authored
Arrow functions are parsed from ParseAssignmentExpression(). Handling the parameter list is done by letting ParseConditionalExpression() parse a comma separated list of identifiers, and it returns a tree of BinaryOperation nodes with VariableProxy leaves, or a single VariableProxy if there is only one parameter. When the arrow token "=>" is found, the VariableProxy nodes are passed to ParseArrowFunctionLiteral(), which will then skip parsing the paramaeter list. This avoids having to rewind when the arrow is found and restart parsing the parameter list. Note that the empty parameter list "()" is handled directly in ParsePrimaryExpression(): after is has consumed the opening parenthesis, if a closing parenthesis follows, then the only valid input is an arrow function. In this case, ParsePrimaryExpression() directly calls ParseArrowFunctionLiteral(), to avoid needing to return a sentinel value to signal the empty parameter list. Because it will consume the body of the arrow function, ParseAssignmentExpression() will not see the arrow "=>" token as next, and return the already-parser expression. The implementation is done in ParserBase, so it was needed to do some additions to ParserBase, ParserTraits and PreParserTraits. Some of the glue code can be removed later on when more more functionality is moved to ParserBase. Additionally, this adds a runtime flag "harmony_arrow_functions" (disabled by default); enabling "harmony" will enable it as well. BUG=v8:2700 LOG=N R=marja@chromium.org Review URL: https://codereview.chromium.org/385553003 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=marja@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/376223002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Jul, 2014 2 commits
-
-
marja@chromium.org authored
This reverts r22265. Reason: ASAN tests fail. BUG= TBR=marja@chromium.org,aperez@igalia.com Review URL: https://codereview.chromium.org/372983003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
Arrow functions are parsed from ParseAssignmentExpression. Handling the parameter list is done by letting ParseConditionalExpression() parse a comma-separated list of identifiers, and it returns a tree of BinaryOperation nodes with VariableProxy leaves, or a single VariableProxy if there is only one parameter. When the arrow token "=>" is found, the VariableProxy nodes are passed to ParseFunctionLiteral(), which will then skip parsing the paramaeter list. This avoids having to rewind when the arrow is found and restart parsing the parameter list. Note that ParseExpression() expects parenthesized expressions to not be empty, so checking for a closing parenthesis is added in handling the empty parameter list "()" will accept a right-paren and return an empty expression, which means that the parameter list is empty. Additionally, this adds the following machinery: - A runtime flag "harmony_arrow_functions" (disabled by default). Enabling "harmony" will enable it as well. - An IsArrow bit in SharedFunctionInfo, and accessors for it. - An IsArrow bit in FunctionLiteral, accessorts for it, and a constructor parameter to set its value. - In ParserBase: allow_arrow_functions() and set_allow_arrow_functions() - A V8 native %FunctionIsArrow(), which is used to skip adding the "function " prefix when getting the source code for an arrow function. R=marja@chromium.org Review URL: https://codereview.chromium.org/160073006 Patch from Adrián Pérez de Castro <aperez@igalia.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/370993003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jul, 2014 1 commit
-
-
yangguo@chromium.org authored
BUG=v8:3404 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/349033007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-