| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[parser] classify binding pattern errors when parsing await expression await expressions are an invalid destructuring target, and should result in a SyntaxError when used in a position where a destructuring target is expected. BUG=v8:7173 R=marja@chromium.org, adamk@chromium.org Change-Id: I1bdb4bc13cb2e3e904fc4389a6e0abca1e0ed17f Reviewed-on: https://chromium-review.googlesource.com/811946 Reviewed-by: Sathya Gunasekaran (ooo until 12/12) <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#49977} | 8 年前 | |
[parser] classify binding pattern errors when parsing await expression await expressions are an invalid destructuring target, and should result in a SyntaxError when used in a position where a destructuring target is expected. BUG=v8:7173 R=marja@chromium.org, adamk@chromium.org Change-Id: I1bdb4bc13cb2e3e904fc4389a6e0abca1e0ed17f Reviewed-on: https://chromium-review.googlesource.com/811946 Reviewed-by: Sathya Gunasekaran (ooo until 12/12) <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#49977} | 8 年前 | |
[error] Improve error message for array spread ... on non-iterable object. In CallPrinter::VisitAssignment, when found_ is true, we could print node->target to show the error node value, avoid printing twice for the assignment. Bug: v8:10854 Change-Id: I5f295f46b5639b715f762935e675598d1d780f98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3586763 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#79997} | 4 年前 | |
[error] Improve error message for array spread ... on non-iterable object. In CallPrinter::VisitAssignment, when found_ is true, we could print node->target to show the error node value, avoid printing twice for the assignment. Bug: v8:10854 Change-Id: I5f295f46b5639b715f762935e675598d1d780f98 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3586763 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#79997} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Add quotes around unexpected token SyntaxError Quotes have been added around the token to make the message clearer. Bug: chromium:943636 Change-Id: Ic38f3e6d307157af2c0146e69fb611a2cfb46564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62074} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Add quotes around unexpected token SyntaxError Quotes have been added around the token to make the message clearer. Bug: chromium:943636 Change-Id: Ic38f3e6d307157af2c0146e69fb611a2cfb46564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62074} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Move rest parameter handling out of ExpressionCoverGrammar This allows the main ExpressionCoverGrammar parsing to be a little tighter. Change-Id: I45e3d1a9a647a98ffe1ad9969cb1ffbe47f67f1c Reviewed-on: https://chromium-review.googlesource.com/c/1326468 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57362} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Move rest parameter handling out of ExpressionCoverGrammar This allows the main ExpressionCoverGrammar parsing to be a little tighter. Change-Id: I45e3d1a9a647a98ffe1ad9969cb1ffbe47f67f1c Reviewed-on: https://chromium-review.googlesource.com/c/1326468 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57362} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Move rest parameter handling out of ExpressionCoverGrammar This allows the main ExpressionCoverGrammar parsing to be a little tighter. Change-Id: I45e3d1a9a647a98ffe1ad9969cb1ffbe47f67f1c Reviewed-on: https://chromium-review.googlesource.com/c/1326468 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57362} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[top-level-await] Ship top-level await Note that top-level await is already on-by-default in blink. This flips the flag in V8 only for other embedders. Bug: v8:9344 Change-Id: Ic860b22316718b353a0493799fdf95200a71acc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2746843 Commit-Queue: Shu-yu Guo <syg@chromium.org> Auto-Submit: Shu-yu Guo <syg@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#73416} | 5 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[ignition] Set correct expression position for ObjectLiteral keys/values Given the following input, const config = { min: Math.min(1, 2), func: myfunc(), } Previously, the error was, ➜ ./out.gn/x64.release/d8 _test.js _test.js:3: ReferenceError: myfunc is not defined min: Math.min(1, 2), ^ ReferenceError: myfunc is not defined at _test.js:3:13 Now, the error is, ➜ ./out.gn/x64.release/d8 _test.js _test.js:4: ReferenceError: myfunc is not defined func: myfunc(), ^ ReferenceError: myfunc is not defined at _test.js:4:9 Bug: v8:7507 Change-Id: Ia65b445fdbc1369ecce80f4fc2040e500c807d40 Reviewed-on: https://chromium-review.googlesource.com/964182 Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51964} | 8 年前 | |
[ignition] Set correct expression position for ObjectLiteral keys/values Given the following input, const config = { min: Math.min(1, 2), func: myfunc(), } Previously, the error was, ➜ ./out.gn/x64.release/d8 _test.js _test.js:3: ReferenceError: myfunc is not defined min: Math.min(1, 2), ^ ReferenceError: myfunc is not defined at _test.js:3:13 Now, the error is, ➜ ./out.gn/x64.release/d8 _test.js _test.js:4: ReferenceError: myfunc is not defined func: myfunc(), ^ ReferenceError: myfunc is not defined at _test.js:4:9 Bug: v8:7507 Change-Id: Ia65b445fdbc1369ecce80f4fc2040e500c807d40 Reviewed-on: https://chromium-review.googlesource.com/964182 Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Mythri Alle <mythria@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51964} | 8 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[parser] Token-range-check for callable identifier tokens This also fixes the tokens that are identified as called identifiers. Change-Id: I4a2179b98214f9018c8c07c0ab27f878cdae13cf Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/1286338 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#56719} | 7 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] implement private accessors This patch implements the access of private accessors by loading the referenced component from the AccessorPair associated with private name variables. It also makes the error messages for invalid kind of private accessor access more specific. Bug: v8:8330 Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit Change-Id: I6d441cffb85f8d9cd0417ec9b6ae20f3e34ef418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695205 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#63474} | 6 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] implement private accessors This patch implements the access of private accessors by loading the referenced component from the AccessorPair associated with private name variables. It also makes the error messages for invalid kind of private accessor access more specific. Bug: v8:8330 Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit Change-Id: I6d441cffb85f8d9cd0417ec9b6ae20f3e34ef418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695205 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#63474} | 6 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] implement private accessors This patch implements the access of private accessors by loading the referenced component from the AccessorPair associated with private name variables. It also makes the error messages for invalid kind of private accessor access more specific. Bug: v8:8330 Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit Change-Id: I6d441cffb85f8d9cd0417ec9b6ae20f3e34ef418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695205 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#63474} | 6 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[class] implement private accessors This patch implements the access of private accessors by loading the referenced component from the AccessorPair associated with private name variables. It also makes the error messages for invalid kind of private accessor access more specific. Bug: v8:8330 Design doc: https://docs.google.com/document/d/10W4begYfs7lmldSqBoQBBt_BKamgT8igqxF9u50RGrI/edit Change-Id: I6d441cffb85f8d9cd0417ec9b6ae20f3e34ef418 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1695205 Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/master@{#63474} | 6 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[parser] fix name and position when reporting private field outside of classes Bug: v8:8578 Change-Id: If6b62b7d0ca2be03ab46c58d33aa2353ddd44986 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1584251 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61318} | 7 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[flags] Remove --harmony-private-methods It's shipped since M84. Bug: v8:8330 Change-Id: Ia643948c0de83fc9a8faf7307b7fd86a1e117dc1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2511034 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#71166} | 5 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] Improve errors for reinitialized private elements Previously V8 was reusing the error fur duplicate declarations, using the private name for class fields or the class name for class methods as the redeclared identifier. class A { constructor(o) { return o } } class B extends A { #x } class C extends A { #x() {} } let D = (0, class extends A { #x() {} }); new B(new B({})) // Identifier '#x' has already been declared new C(new C({})) // Identifier 'C' has already been declared new D(new D({})) // Identifier '' has already been declared This patch changes it to use error messages that better explain what's happening: new B(new B({})) // Cannot initialize #x twice on the same object new C(new C({})) // Cannot initialize private methods of // class C twice on the same object new D(new D({})) // Cannot initialize private methods of // class anonymous twice on the same object I initially tried to use the same message for both fields and methods, but the problem with that is that when initializing fields we only have access to the field name, while when initializing methods we only have access to the class name (using the "private brand" symbol). However, almost all the error messages are different for private fields and for methods so this shouldn't be a problem. Bug: v8:12042 Change-Id: Iaa50c16e4fa5c0646ad9ef2aa7e65bb649b3fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078362 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76279} | 4 年前 | |
[class] Improve errors for reinitialized private elements Previously V8 was reusing the error fur duplicate declarations, using the private name for class fields or the class name for class methods as the redeclared identifier. class A { constructor(o) { return o } } class B extends A { #x } class C extends A { #x() {} } let D = (0, class extends A { #x() {} }); new B(new B({})) // Identifier '#x' has already been declared new C(new C({})) // Identifier 'C' has already been declared new D(new D({})) // Identifier '' has already been declared This patch changes it to use error messages that better explain what's happening: new B(new B({})) // Cannot initialize #x twice on the same object new C(new C({})) // Cannot initialize private methods of // class C twice on the same object new D(new D({})) // Cannot initialize private methods of // class anonymous twice on the same object I initially tried to use the same message for both fields and methods, but the problem with that is that when initializing fields we only have access to the field name, while when initializing methods we only have access to the class name (using the "private brand" symbol). However, almost all the error messages are different for private fields and for methods so this shouldn't be a problem. Bug: v8:12042 Change-Id: Iaa50c16e4fa5c0646ad9ef2aa7e65bb649b3fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078362 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76279} | 4 年前 | |
[class] Improve errors for reinitialized private elements Previously V8 was reusing the error fur duplicate declarations, using the private name for class fields or the class name for class methods as the redeclared identifier. class A { constructor(o) { return o } } class B extends A { #x } class C extends A { #x() {} } let D = (0, class extends A { #x() {} }); new B(new B({})) // Identifier '#x' has already been declared new C(new C({})) // Identifier 'C' has already been declared new D(new D({})) // Identifier '' has already been declared This patch changes it to use error messages that better explain what's happening: new B(new B({})) // Cannot initialize #x twice on the same object new C(new C({})) // Cannot initialize private methods of // class C twice on the same object new D(new D({})) // Cannot initialize private methods of // class anonymous twice on the same object I initially tried to use the same message for both fields and methods, but the problem with that is that when initializing fields we only have access to the field name, while when initializing methods we only have access to the class name (using the "private brand" symbol). However, almost all the error messages are different for private fields and for methods so this shouldn't be a problem. Bug: v8:12042 Change-Id: Iaa50c16e4fa5c0646ad9ef2aa7e65bb649b3fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078362 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76279} | 4 年前 | |
[class] Improve errors for reinitialized private elements Previously V8 was reusing the error fur duplicate declarations, using the private name for class fields or the class name for class methods as the redeclared identifier. class A { constructor(o) { return o } } class B extends A { #x } class C extends A { #x() {} } let D = (0, class extends A { #x() {} }); new B(new B({})) // Identifier '#x' has already been declared new C(new C({})) // Identifier 'C' has already been declared new D(new D({})) // Identifier '' has already been declared This patch changes it to use error messages that better explain what's happening: new B(new B({})) // Cannot initialize #x twice on the same object new C(new C({})) // Cannot initialize private methods of // class C twice on the same object new D(new D({})) // Cannot initialize private methods of // class anonymous twice on the same object I initially tried to use the same message for both fields and methods, but the problem with that is that when initializing fields we only have access to the field name, while when initializing methods we only have access to the class name (using the "private brand" symbol). However, almost all the error messages are different for private fields and for methods so this shouldn't be a problem. Bug: v8:12042 Change-Id: Iaa50c16e4fa5c0646ad9ef2aa7e65bb649b3fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078362 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76279} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] Improve errors for reinitialized private elements Previously V8 was reusing the error fur duplicate declarations, using the private name for class fields or the class name for class methods as the redeclared identifier. class A { constructor(o) { return o } } class B extends A { #x } class C extends A { #x() {} } let D = (0, class extends A { #x() {} }); new B(new B({})) // Identifier '#x' has already been declared new C(new C({})) // Identifier 'C' has already been declared new D(new D({})) // Identifier '' has already been declared This patch changes it to use error messages that better explain what's happening: new B(new B({})) // Cannot initialize #x twice on the same object new C(new C({})) // Cannot initialize private methods of // class C twice on the same object new D(new D({})) // Cannot initialize private methods of // class anonymous twice on the same object I initially tried to use the same message for both fields and methods, but the problem with that is that when initializing fields we only have access to the field name, while when initializing methods we only have access to the class name (using the "private brand" symbol). However, almost all the error messages are different for private fields and for methods so this shouldn't be a problem. Bug: v8:12042 Change-Id: Iaa50c16e4fa5c0646ad9ef2aa7e65bb649b3fce2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3078362 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Joyee Cheung <joyee@igalia.com> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76279} | 4 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
[class] fix evaluation order and errors in private accessor assignments In assignments the lhs should be evaluated first and shouldn't be re-evaluated when the value of the rhs is available. Fix it by saving the receiver and the key registers into AssignmentLhsData before building the assignment and use them later, instead of visiting the AST again to retrieve the receiver. In addition, now that we save the receiver register, use it to perform the brand check even when we know for sure that it's going to fail later because it's a write to a private method or accessing the accessor in the wrong way (v8:11364), so that the brand check error always appears first if it is present, as specified in https://tc39.es/proposal-private-methods/#sec-privatefieldget Drive-by: unify the brand check error messages, and replace "Object" with "Receiver" in the messages for clarity. The instance private brand check now throws "Receiver must be an instance of class <name>" and the static private brand check now throws "Receiver must be class <name>". Also always set the expression position to the property load position, because the brand check failure comes from the load operation. Bug: v8:12352, v8:11364 Change-Id: I61a8979b2e02b561dd5b2b35f9e0b6691fe07599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3266964 Commit-Queue: Joyee Cheung <joyee@igalia.com> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77797} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Add quotes around unexpected token SyntaxError Quotes have been added around the token to make the message clearer. Bug: chromium:943636 Change-Id: Ic38f3e6d307157af2c0146e69fb611a2cfb46564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62074} | 6 年前 | |
[fni] Mark computed props as computed, not anonymous function I thought about potentially adding the identifer ref to the error but that would require allocating a new string or at the very least increasing the size of the resulting cons string. Given that the parser is pretty performance sensitive, I've decided to not display the identifier. Previously, the error was: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.(anonymous function).c (_test.js:3:26) at _test.js:5:1 With this patch, the error becomes: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.<computed>.c (_test.js:3:26) at _test.js:5:1 Bug: v8:8823 Change-Id: I557b3517e317652c447ca06c5a400e9625353d9b Reviewed-on: https://chromium-review.googlesource.com/c/1495017 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59985} | 7 年前 | |
[fni] Mark computed props as computed, not anonymous function I thought about potentially adding the identifer ref to the error but that would require allocating a new string or at the very least increasing the size of the resulting cons string. Given that the parser is pretty performance sensitive, I've decided to not display the identifier. Previously, the error was: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.(anonymous function).c (_test.js:3:26) at _test.js:5:1 With this patch, the error becomes: _test.js:3: Error a[foo].c = () => { throw Error(); }; ^ Error at a.<computed>.c (_test.js:3:26) at _test.js:5:1 Bug: v8:8823 Change-Id: I557b3517e317652c447ca06c5a400e9625353d9b Reviewed-on: https://chromium-review.googlesource.com/c/1495017 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#59985} | 7 年前 | |
[d8] Align d8 console.time* behavior with specification and Chrome. In d8 we didn't implement console.timeLog() and console.timeStamp() was behaving somewhat like console.timeLog() (but was always using the default timer). This CL aligns the behavior in d8 with the behavior we have in browsers and Node.js to remove surprises and make testing easier. This is basically a follow-up polish to https://crrev.com/c/702459 which added the console.time* functions in d8 initially. Bug: 350443026 Change-Id: I4a658e947bed061afdcbf4f149b17a90b85cbdb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5671342 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#94793} | 1 年前 | |
[d8] Align d8 console.time* behavior with specification and Chrome. In d8 we didn't implement console.timeLog() and console.timeStamp() was behaving somewhat like console.timeLog() (but was always using the default timer). This CL aligns the behavior in d8 with the behavior we have in browsers and Node.js to remove surprises and make testing easier. This is basically a follow-up polish to https://crrev.com/c/702459 which added the console.time* functions in d8 initially. Bug: 350443026 Change-Id: I4a658e947bed061afdcbf4f149b17a90b85cbdb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5671342 Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Auto-Submit: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#94793} | 1 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
[errors] Enhance the DataView construction error message Make it include the invalid length again, but this time consistently. Bug: chromium:923688 Change-Id: I0ec2543e02b58ff2b79547021a8e0d47a9debe46 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3440068 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#78976} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[inspector] Improve uninitialized binding error message The program: foo; let foo = 5; …now produces: ReferenceError: Cannot access 'foo' before initialization …instead of: ReferenceError: foo is not defined Bug: v8:6513, v8:6951 Change-Id: I6c372626734570d5abeb1d0196b814dde02b9e3e Reviewed-on: https://chromium-review.googlesource.com/c/1441151 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#59307} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[inspector] Improve uninitialized binding error message The program: foo; let foo = 5; …now produces: ReferenceError: Cannot access 'foo' before initialization …instead of: ReferenceError: foo is not defined Bug: v8:6513, v8:6951 Change-Id: I6c372626734570d5abeb1d0196b814dde02b9e3e Reviewed-on: https://chromium-review.googlesource.com/c/1441151 Reviewed-by: Benedikt Meurer <bmeurer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Commit-Queue: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#59307} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[builtins] throw non-iterable error on iterator method not callable CallPrinter cannot determine the actual reason when the error is triggered by CallRuntime. In the case, throw iterator error by default instead of non-callable error to present more intuitive error messages. Bug: v8:12039 Change-Id: I240f9a729878b2dd606f4cc71236c8427bba316e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3086902 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76226} | 4 年前 | |
[builtins] throw non-iterable error on iterator method not callable CallPrinter cannot determine the actual reason when the error is triggered by CallRuntime. In the case, throw iterator error by default instead of non-callable error to present more intuitive error messages. Bug: v8:12039 Change-Id: I240f9a729878b2dd606f4cc71236c8427bba316e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3086902 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#76226} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[class] Remove flags for class fields Bug: v8:5367, v8:5368 Change-Id: I86f25f9f658e21a05604f3014e6ebf74f1a8a1f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1590164 Reviewed-by: Mathias Bynens <mathias@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#61139} | 7 年前 | |
[error messages] Enhance the "unexpected identifier" error message Bug: chromium:1338838 Change-Id: I1b8c54b460d272b19a4faa180a491e725bee4b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726147 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81658} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "[destructuring] Elide coercible check for simple keys" This is a reland of 1fba04415450d26675fc62873683c15f50a6e356 Chromium expectation tests have been disabled, and will be enabled Original change's description: > [destructuring] Elide coercible check for simple keys > > Simple object destructuring, such as let {a,b} = o, is less efficient > than the equivalent assignments let a = o.a; let b = o.b. This is > because it does a nil check of o before the assignments. However, this > nil check is not strictly necessary for simple (i.e. non-computed) names, > as there will be an equivalent nil check on the first access to o in > o.a. For computed names the computation is unfortunately obervable. > > So, we can elide the nil check when the first property (if any) of the > destructuring target is a non-computed name. This messes a bit with our > error messages, so we re-use the CallPrinter to also find destructuring > assignment based errors, and fiddle with the error message there. As > a side-effect, we also get out the object name in the AST, so we can > output a slightly nicer error message. > > Change-Id: Iafa858e27ed771a146cd3ba57903cc73bb46951d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773254 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63453} TBR=verwaest@chromium.org Bug: chromium:999473 Change-Id: Ib0b2e4be433c50521ba1722e1c06b672bfefa405 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1777702 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63477} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "[destructuring] Elide coercible check for simple keys" This is a reland of 1fba04415450d26675fc62873683c15f50a6e356 Chromium expectation tests have been disabled, and will be enabled Original change's description: > [destructuring] Elide coercible check for simple keys > > Simple object destructuring, such as let {a,b} = o, is less efficient > than the equivalent assignments let a = o.a; let b = o.b. This is > because it does a nil check of o before the assignments. However, this > nil check is not strictly necessary for simple (i.e. non-computed) names, > as there will be an equivalent nil check on the first access to o in > o.a. For computed names the computation is unfortunately obervable. > > So, we can elide the nil check when the first property (if any) of the > destructuring target is a non-computed name. This messes a bit with our > error messages, so we re-use the CallPrinter to also find destructuring > assignment based errors, and fiddle with the error message there. As > a side-effect, we also get out the object name in the AST, so we can > output a slightly nicer error message. > > Change-Id: Iafa858e27ed771a146cd3ba57903cc73bb46951d > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1773254 > Reviewed-by: Leszek Swirski <leszeks@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Commit-Queue: Leszek Swirski <leszeks@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63453} TBR=verwaest@chromium.org Bug: chromium:999473 Change-Id: Ib0b2e4be433c50521ba1722e1c06b672bfefa405 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1777702 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#63477} | 6 年前 | |
Reland "[parser] Optimize directive parsing especially for preparser" This is a reland of 9d34fa0c5187b6626a17bcae2fa3a9d15bca74b1 TBR=ishell@chromium.org Original change's description: > [parser] Optimize directive parsing especially for preparser > > - Avoid allocating AstRawString in the preparser > - Use fast LiteralEquals to compare the directive. > > Bug: chromium:901250 > Change-Id: I178aca812f6c0ffa28d7f48b707316a5a99a2ac0 > Reviewed-on: https://chromium-review.googlesource.com/c/1314570 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57217} Bug: chromium:901250 Change-Id: I01dfd882923d3f37a08ca0be193474d38e273927 Reviewed-on: https://chromium-review.googlesource.com/c/1314578 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57220} | 7 年前 | |
Reland "[parser] Optimize directive parsing especially for preparser" This is a reland of 9d34fa0c5187b6626a17bcae2fa3a9d15bca74b1 TBR=ishell@chromium.org Original change's description: > [parser] Optimize directive parsing especially for preparser > > - Avoid allocating AstRawString in the preparser > - Use fast LiteralEquals to compare the directive. > > Bug: chromium:901250 > Change-Id: I178aca812f6c0ffa28d7f48b707316a5a99a2ac0 > Reviewed-on: https://chromium-review.googlesource.com/c/1314570 > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57217} Bug: chromium:901250 Change-Id: I01dfd882923d3f37a08ca0be193474d38e273927 Reviewed-on: https://chromium-review.googlesource.com/c/1314578 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57220} | 7 年前 | |
[flags] Remove --harmony-dynamic-import It's shipped since M63. Bug: v8:5785 Change-Id: Iaa591890edc560bc58b7a6b18ad5787d747f1ba4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509942 Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#70953} | 5 年前 | |
[flags] Remove --harmony-dynamic-import It's shipped since M63. Bug: v8:5785 Change-Id: Iaa591890edc560bc58b7a6b18ad5787d747f1ba4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509942 Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#70953} | 5 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[interpreter] Merge hole elision info on continue for loops that are structured for (start; cond; next) { body } currently have a single scope for body next but that's wrong, since body isn't guaranteed to run to the end before running next. There might be a continue. This considers body to be "branchy" with any continue merging before next, as well as the body end itself. Bug: 450618029 Change-Id: I0156e1c02eeafad880bd324f1f5441023d53139d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7030683 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#103064} | 8 个月前 | |
[interpreter] Merge hole elision info on continue for loops that are structured for (start; cond; next) { body } currently have a single scope for body next but that's wrong, since body isn't guaranteed to run to the end before running next. There might be a continue. This considers body to be "branchy" with any continue merging before next, as well as the body end itself. Bug: 450618029 Change-Id: I0156e1c02eeafad880bd324f1f5441023d53139d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7030683 Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#103064} | 8 个月前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Add quotes around unexpected token SyntaxError Quotes have been added around the token to make the message clearer. Bug: chromium:943636 Change-Id: Ic38f3e6d307157af2c0146e69fb611a2cfb46564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62074} | 6 年前 | |
[parser] Add new FunctionNameInferrer state before parsing param Create new state before parsing FormalParameter because we don't want to use any of the parameters as an inferred function name. Previously the stacktrace was: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at param (test.js:3:11) at test.js:4:5 at test.js:6:3 The stacktrace with this patch: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at test.js:3:11 at test.js:4:5 at test.js:6:3 Bug: v8:6822, v8:6513 Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4 Reviewed-on: https://chromium-review.googlesource.com/742657 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49042} | 8 年前 | |
[parser] Add new FunctionNameInferrer state before parsing param Create new state before parsing FormalParameter because we don't want to use any of the parameters as an inferred function name. Previously the stacktrace was: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at param (test.js:3:11) at test.js:4:5 at test.js:6:3 The stacktrace with this patch: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at test.js:3:11 at test.js:4:5 at test.js:6:3 Bug: v8:6822, v8:6513 Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4 Reviewed-on: https://chromium-review.googlesource.com/742657 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49042} | 8 年前 | |
[parser] Add new FunctionNameInferrer state before parsing param Create new state before parsing FormalParameter because we don't want to use any of the parameters as an inferred function name. Previously the stacktrace was: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at param (test.js:3:11) at test.js:4:5 at test.js:6:3 The stacktrace with this patch: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at test.js:3:11 at test.js:4:5 at test.js:6:3 Bug: v8:6822, v8:6513 Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4 Reviewed-on: https://chromium-review.googlesource.com/742657 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49042} | 8 年前 | |
[parser] Add new FunctionNameInferrer state before parsing param Create new state before parsing FormalParameter because we don't want to use any of the parameters as an inferred function name. Previously the stacktrace was: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at param (test.js:3:11) at test.js:4:5 at test.js:6:3 The stacktrace with this patch: test.js:3: Error: boom throw new Error('boom'); ^ Error: boom at test.js:3:11 at test.js:4:5 at test.js:6:3 Bug: v8:6822, v8:6513 Change-Id: Ifbadc660fc4e85248af405acd67c025f11662bd4 Reviewed-on: https://chromium-review.googlesource.com/742657 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#49042} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Don't desugar destructuring declarations. Emit a single destructuring assignment for destructuring declarations, which can be desugared by the bytecode generator. This allows us to remove destructuring desugaring from the parser (specifically, the pattern rewriter) entirely. The pattern "rewriter" is now only responsible for walking the destructuring pattern to declare variables, mark them assigned, and potentially rewrite scopes for the edge case of parameters with a sloppy eval. Note that since the rewriter is no longer rewriting, we have to flip the VariableProxy copying logic for var re-lookup, so that we now pass the new VariableProxy to the variable declaration and leave the original unresolved (rather than passing the original through and rewriting to a new unresolved VariableProxy). This change does have some effect on breakpoint locations, due to some of the available information changing between the parser and bytecode generator, however the new locations appear to be more consistent between assignments and declarations. Change-Id: I3a58dd0a387d2bfb8e5e9e22dde0acc5f440cb82 Reviewed-on: https://chromium-review.googlesource.com/c/1382462 Commit-Queue: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58670} | 7 年前 | |
Fix scanner-level error reporting for hashbang When the file begins with a hashbang, the scanner is in a failed state when SkipHashbang() is called. This is usually not an issue but when the parser encounters an ILLEGAL token, it will reset the SyntaxError location because of it. Bug: v8:10110 Change-Id: I1c7344bf5ad20079cff80130c991f3bff4d7e9a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995312 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66038} | 6 年前 | |
Fix scanner-level error reporting for hashbang When the file begins with a hashbang, the scanner is in a failed state when SkipHashbang() is called. This is usually not an issue but when the parser encounters an ILLEGAL token, it will reset the SyntaxError location because of it. Bug: v8:10110 Change-Id: I1c7344bf5ad20079cff80130c991f3bff4d7e9a8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1995312 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#66038} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[parser] Improve error when using import decl in a script Perform a best-effort check for module context and provide an appropriate error. As seen from the import-blah-script.js test, we could have invalid import expressions in a script context that could result in an error saying "Cannot use import statement outside a module" which isn't the ideal error because the error is an incorrect import expression. But, when the developer changes to a module context, the correct error is thrown. To fix this, we'd have to refactor and call ParseImportDeclaration, and then throw an appropriate error, which seems like a lot of overhead for not enough gain. Bug: v8:9392, v8:6513 Change-Id: I520ebb490fff4d95743a7c751d4095db9a35d41b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675948 Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62358} | 6 年前 | |
[parser] Improve error when using import decl in a script Perform a best-effort check for module context and provide an appropriate error. As seen from the import-blah-script.js test, we could have invalid import expressions in a script context that could result in an error saying "Cannot use import statement outside a module" which isn't the ideal error because the error is an incorrect import expression. But, when the developer changes to a module context, the correct error is thrown. To fix this, we'd have to refactor and call ParseImportDeclaration, and then throw an appropriate error, which seems like a lot of overhead for not enough gain. Bug: v8:9392, v8:6513 Change-Id: I520ebb490fff4d95743a7c751d4095db9a35d41b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675948 Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62358} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[parser] Improve error when using import decl in a script Perform a best-effort check for module context and provide an appropriate error. As seen from the import-blah-script.js test, we could have invalid import expressions in a script context that could result in an error saying "Cannot use import statement outside a module" which isn't the ideal error because the error is an incorrect import expression. But, when the developer changes to a module context, the correct error is thrown. To fix this, we'd have to refactor and call ParseImportDeclaration, and then throw an appropriate error, which seems like a lot of overhead for not enough gain. Bug: v8:9392, v8:6513 Change-Id: I520ebb490fff4d95743a7c751d4095db9a35d41b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675948 Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62358} | 6 年前 | |
[parser] Improve error when using import decl in a script Perform a best-effort check for module context and provide an appropriate error. As seen from the import-blah-script.js test, we could have invalid import expressions in a script context that could result in an error saying "Cannot use import statement outside a module" which isn't the ideal error because the error is an incorrect import expression. But, when the developer changes to a module context, the correct error is thrown. To fix this, we'd have to refactor and call ParseImportDeclaration, and then throw an appropriate error, which seems like a lot of overhead for not enough gain. Bug: v8:9392, v8:6513 Change-Id: I520ebb490fff4d95743a7c751d4095db9a35d41b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675948 Reviewed-by: Mythri Alle <mythria@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62358} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Move rest parameter handling out of ExpressionCoverGrammar This allows the main ExpressionCoverGrammar parsing to be a little tighter. Change-Id: I45e3d1a9a647a98ffe1ad9969cb1ffbe47f67f1c Reviewed-on: https://chromium-review.googlesource.com/c/1326468 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#57362} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Add quotes around unexpected token SyntaxError Quotes have been added around the token to make the message clearer. Bug: chromium:943636 Change-Id: Ic38f3e6d307157af2c0146e69fb611a2cfb46564 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1593307 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#62074} | 6 年前 | |
[message] Improve IteratorSymbolNonCallable error message Add the receiver to the IteratorSymbolNonCallable error message. Bug: v8:12918 Change-Id: Ib863a357474282ec3723cc4e7e012052979ca2d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813069 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82308} | 3 年前 | |
Fix receiver type name in stack traces for static method calls JS classes were handled specially, extend the special handling to all functions. Also move the special handling into GetTypeName, so that users of Error.prepareStackTrace can also access the correct receiver type name Bug: 371019881 Change-Id: I2a0f564c31338ae0f7c07bdd7c1cbd2009cb1875 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5907815 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#97266} | 1 年前 | |
[message] Improve IteratorSymbolNonCallable error message Add the receiver to the IteratorSymbolNonCallable error message. Bug: v8:12918 Change-Id: Ib863a357474282ec3723cc4e7e012052979ca2d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813069 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82308} | 3 年前 | |
[message] Improve IteratorSymbolNonCallable error message Add the receiver to the IteratorSymbolNonCallable error message. Bug: v8:12918 Change-Id: Ib863a357474282ec3723cc4e7e012052979ca2d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813069 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82308} | 3 年前 | |
[message] Improve IteratorSymbolNonCallable error message Add the receiver to the IteratorSymbolNonCallable error message. Bug: v8:12918 Change-Id: Ib863a357474282ec3723cc4e7e012052979ca2d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3813069 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: 王澳 <wangao.james@bytedance.com> Cr-Commit-Position: refs/heads/main@{#82308} | 3 年前 | |
Fix receiver type name in stack traces for static method calls JS classes were handled specially, extend the special handling to all functions. Also move the special handling into GetTypeName, so that users of Error.prepareStackTrace can also access the correct receiver type name Bug: 371019881 Change-Id: I2a0f564c31338ae0f7c07bdd7c1cbd2009cb1875 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5907815 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#97266} | 1 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
[json] Extend JSON#stringify error message for circular structures This CL extends the kCircularStructure error message to include the constructors and keys involved in the circle: const a = {}; a.arr = []; a.arr[0] = a; JSON.stringify(a); TypeError: Converting circular structure to JSON --> starting at object with constructor 'Object' | property 'arr' -> object with constructor 'Array' --- index 0 closes the circle R=gsathya@chromium.org, yangguo@chromium.org Bug: v8:6513, v8:8696 Change-Id: I393aa3ce47d8bfd03734fccac63445006940ef7a Reviewed-on: https://chromium-review.googlesource.com/c/1433776 Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#59152} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[errors] Give a more informative error message for new Map(1) Previously the error was "undefined is not a function". Now it is "1 is not iterable". Bug: v8:6522 Change-Id: If338ddefca78fd6a10cc12b26f0dec632900f32b Reviewed-on: https://chromium-review.googlesource.com/959728 Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#51918} | 8 年前 | |
Reland "[interpreter] Add bytecode for leading array spreads." This is a reland of 1c48d52bb1ee9bb28e146c60eda08cd4afaa5745. It turned out that IterableToList doesn't always behave according to the ES operation with the same name. Specifically, it allows holey arrays to take its fast path, which produces an output array with holes where actually "undefined" elements should appear. This CL changes the version of IterableToList that is used for spreads (IterableToListWithSymbolLookup) such that holey arrays take the slow path. It also includes tests for such situations. Original change's description: > [interpreter] Add bytecode for leading array spreads. > > This CL improves the performance of creating [...a, b] or [...a]. > If the array literal has a leading spread, this CL emits the bytecode > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable > is implemented by [IterableToListDefault] builtin to create the initial > array for the leading spread. IterableToListDefault has a fast path to > clone efficiently if the spread is an actual array. > > The bytecode generated is now shorter. Bytecode generation is refactored > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit > from this optimization also. > For now, turbofan also lowers the bytecode to the builtin. > > The idiomatic use of [...a] to clone the array a now performs better > than a simple for-loop, but still does not match the performance of slice. > > Bug: v8:7980 > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35 > Reviewed-on: https://chromium-review.googlesource.com/1181024 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Commit-Queue: Hai Dang <dhai@google.com> > Cr-Commit-Position: refs/heads/master@{#55520} Bug: v8:7980 Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1201882 Commit-Queue: Hai Dang <dhai@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55639} | 7 年前 | |
Improve error message for Set/Map grow failures Bug: v8:11852 Change-Id: I1d3c01b827e847bb7edcd2ebe7d3b340f7d53069 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097473 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#76355} | 4 年前 | |
Improve error message for Set/Map grow failures Bug: v8:11852 Change-Id: I1d3c01b827e847bb7edcd2ebe7d3b340f7d53069 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097473 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#76355} | 4 年前 | |
[parser] Improve parse error message for missing name in FunctionDeclaration Added a new Error Message for Missing Function Name. The program: function(){} ...now produces: SyntaxError: Function statements require a valid function name. ...instead of: SyntaxError: Unexpected Token ( Bug: v8:3698, v8:6513 Change-Id: I3c12dfcfe80b94209aa9af434ae1d212970cf362 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1500914 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#60376} | 7 年前 | |
[parser] Improve parse error message for missing name in FunctionDeclaration Added a new Error Message for Missing Function Name. The program: function(){} ...now produces: SyntaxError: Function statements require a valid function name. ...instead of: SyntaxError: Unexpected Token ( Bug: v8:3698, v8:6513 Change-Id: I3c12dfcfe80b94209aa9af434ae1d212970cf362 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1500914 Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#60376} | 7 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[flags] Remove --harmony-namespace-exports It's shipped since M72. Bug: v8:8101 Change-Id: I80856b9e1acfb6e434f20b6174e864f8c4e2896a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509945 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#70955} | 5 年前 | |
[flags] Remove --harmony-namespace-exports It's shipped since M72. Bug: v8:8101 Change-Id: I80856b9e1acfb6e434f20b6174e864f8c4e2896a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2509945 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#70955} | 5 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[tests] Clean up flags for staged JS features Bug: 391658080 Change-Id: Ib68e18d2f3c31e39236e019ebcdd91701ed6653c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6199809 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#98370} | 1 年前 | |
[import-attributes] Remove support for import assertions The 'assert' syntax has been deprecated for 3 milestones with a warning message saying it will removed in 12.6. This CL: - Removes the --harmony-import-assertions flag and support for the assert keyword - Rewords error messages to refer to attributes - Deprecates v8::ModuleRequest::GetImportAssertions() See https://groups.google.com/a/chromium.org/g/blink-dev/c/ZHvzLaJZRvo/m/FgNDBjrtBQAJ Bug: 40643756 Change-Id: I75832917867278e12e717053f4a43c14229529fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5507047 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#96500} | 1 年前 | |
[tests] Clean up flags for staged JS features Bug: 391658080 Change-Id: Ib68e18d2f3c31e39236e019ebcdd91701ed6653c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6199809 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#98370} | 1 年前 | |
[import-attributes] Remove support for import assertions The 'assert' syntax has been deprecated for 3 milestones with a warning message saying it will removed in 12.6. This CL: - Removes the --harmony-import-assertions flag and support for the assert keyword - Rewords error messages to refer to attributes - Deprecates v8::ModuleRequest::GetImportAssertions() See https://groups.google.com/a/chromium.org/g/blink-dev/c/ZHvzLaJZRvo/m/FgNDBjrtBQAJ Bug: 40643756 Change-Id: I75832917867278e12e717053f4a43c14229529fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5507047 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#96500} | 1 年前 | |
[tests] Clean up flags for staged JS features Bug: 391658080 Change-Id: Ib68e18d2f3c31e39236e019ebcdd91701ed6653c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6199809 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#98370} | 1 年前 | |
[import-attributes] Remove support for import assertions The 'assert' syntax has been deprecated for 3 milestones with a warning message saying it will removed in 12.6. This CL: - Removes the --harmony-import-assertions flag and support for the assert keyword - Rewords error messages to refer to attributes - Deprecates v8::ModuleRequest::GetImportAssertions() See https://groups.google.com/a/chromium.org/g/blink-dev/c/ZHvzLaJZRvo/m/FgNDBjrtBQAJ Bug: 40643756 Change-Id: I75832917867278e12e717053f4a43c14229529fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5507047 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#96500} | 1 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[source-phase-imports] Static source phase import Add source phase import support in import statements with necessary embedder APIs. And resolve WebAssembly.Module as a ModuleSource with static source phase imports in d8. In HTML draft integration spec, importing WebAssembly.Module at source phase doesn't need any import attribute to indicate the module type. The default type javascript-or-wasm is distinguished by resource's MIME type. However, whether or not a requested module is JS or WASM is determined by file extensions in d8. Refs: https://github.com/whatwg/html/pull/10380 Bug: 42204365 Change-Id: I095dcb4375c4980c9aa37ff85365ee44b3823cba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5783137 Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#95914} | 1 年前 | |
[source-phase-imports] Static source phase import Add source phase import support in import statements with necessary embedder APIs. And resolve WebAssembly.Module as a ModuleSource with static source phase imports in d8. In HTML draft integration spec, importing WebAssembly.Module at source phase doesn't need any import attribute to indicate the module type. The default type javascript-or-wasm is distinguished by resource's MIME type. However, whether or not a requested module is JS or WASM is determined by file extensions in d8. Refs: https://github.com/whatwg/html/pull/10380 Bug: 42204365 Change-Id: I095dcb4375c4980c9aa37ff85365ee44b3823cba Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5783137 Reviewed-by: Shu-yu Guo <syg@chromium.org> Commit-Queue: Chengzhong Wu (legendecas) <legendecas@gmail.com> Cr-Commit-Position: refs/heads/main@{#95914} | 1 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[import-attributes] Remove support for import assertions The 'assert' syntax has been deprecated for 3 milestones with a warning message saying it will removed in 12.6. This CL: - Removes the --harmony-import-assertions flag and support for the assert keyword - Rewords error messages to refer to attributes - Deprecates v8::ModuleRequest::GetImportAssertions() See https://groups.google.com/a/chromium.org/g/blink-dev/c/ZHvzLaJZRvo/m/FgNDBjrtBQAJ Bug: 40643756 Change-Id: I75832917867278e12e717053f4a43c14229529fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5507047 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#96500} | 1 年前 | |
[top-level-await] Add support for parsing top level await Adds support for parsing top level await to V8, as well as many tests. This is the final cl in the series to add support for top level await to v8. Spec is here: https://tc39.es/proposal-top-level-await/#sec-execute-async-module Bug: v8:9344 Change-Id: Ie8f17ad8c7c60d1f6996d134ae154416cc1f31e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703878 Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63946} | 6 年前 | |
[top-level-await] Add support for parsing top level await Adds support for parsing top level await to V8, as well as many tests. This is the final cl in the series to add support for top level await to v8. Spec is here: https://tc39.es/proposal-top-level-await/#sec-execute-async-module Bug: v8:9344 Change-Id: Ie8f17ad8c7c60d1f6996d134ae154416cc1f31e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703878 Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63946} | 6 年前 | |
[import-attributes] Remove support for import assertions The 'assert' syntax has been deprecated for 3 milestones with a warning message saying it will removed in 12.6. This CL: - Removes the --harmony-import-assertions flag and support for the assert keyword - Rewords error messages to refer to attributes - Deprecates v8::ModuleRequest::GetImportAssertions() See https://groups.google.com/a/chromium.org/g/blink-dev/c/ZHvzLaJZRvo/m/FgNDBjrtBQAJ Bug: 40643756 Change-Id: I75832917867278e12e717053f4a43c14229529fd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5507047 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#96500} | 1 年前 | |
[top-level-await] Add support for parsing top level await Adds support for parsing top level await to V8, as well as many tests. This is the final cl in the series to add support for top level await to v8. Spec is here: https://tc39.es/proposal-top-level-await/#sec-execute-async-module Bug: v8:9344 Change-Id: Ie8f17ad8c7c60d1f6996d134ae154416cc1f31e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1703878 Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63946} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[api] add v8::Module::GetStalledTopLevelAwaitMessage() Adds Module::GetStalledTopLevelAwaitMessage() API which searches for modules that have no pending async dependencies but have not yet resolved. An embedder may call this API when they are about to exit to check if TLA evaluation has stalled and provide a better error message. Change-Id: I3b88802f70cc84c973551f13d73ef3e3d06f4027 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2341765 Commit-Queue: Joyee Cheung <joyee@igalia.com> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#81080} | 4 年前 | |
[api] add v8::Module::GetStalledTopLevelAwaitMessage() Adds Module::GetStalledTopLevelAwaitMessage() API which searches for modules that have no pending async dependencies but have not yet resolved. An embedder may call this API when they are about to exit to check if TLA evaluation has stalled and provide a better error message. Change-Id: I3b88802f70cc84c973551f13d73ef3e3d06f4027 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2341765 Commit-Queue: Joyee Cheung <joyee@igalia.com> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#81080} | 4 年前 | |
[api] add v8::Module::GetStalledTopLevelAwaitMessage() Adds Module::GetStalledTopLevelAwaitMessage() API which searches for modules that have no pending async dependencies but have not yet resolved. An embedder may call this API when they are about to exit to check if TLA evaluation has stalled and provide a better error message. Change-Id: I3b88802f70cc84c973551f13d73ef3e3d06f4027 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2341765 Commit-Queue: Joyee Cheung <joyee@igalia.com> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/main@{#81080} | 4 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "Reland "Let all early errors be SyntaxErrors."" This is a reland of 89d93e3851bbe1d0a5ec8e300dfd7ae5bd4b5708 Original change's description: > Reland "Let all early errors be SyntaxErrors." > > This is a reland of 99fd5b9b9d1fea426e9e62a5869c4b0592281475 which includes a missed update to > test/test262/test262.status. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe > TBR: adamk@chromium.org > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62500} Bug: v8:9326 Change-Id: Ic30280400dfa5b83a4a397888e563eee479446c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688271 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62553} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "Reland "Let all early errors be SyntaxErrors."" This is a reland of 89d93e3851bbe1d0a5ec8e300dfd7ae5bd4b5708 Original change's description: > Reland "Let all early errors be SyntaxErrors." > > This is a reland of 99fd5b9b9d1fea426e9e62a5869c4b0592281475 which includes a missed update to > test/test262/test262.status. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe > TBR: adamk@chromium.org > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62500} Bug: v8:9326 Change-Id: Ic30280400dfa5b83a4a397888e563eee479446c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688271 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62553} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "Reland "Let all early errors be SyntaxErrors."" This is a reland of 89d93e3851bbe1d0a5ec8e300dfd7ae5bd4b5708 Original change's description: > Reland "Let all early errors be SyntaxErrors." > > This is a reland of 99fd5b9b9d1fea426e9e62a5869c4b0592281475 which includes a missed update to > test/test262/test262.status. > > Implement the spec change from the following TC39 PR: > https://github.com/tc39/ecma262/pull/1527 > > Bug: v8:9326 > Change-Id: Ie3aac60db550e90fb648fc30886a05419fa41afe > TBR: adamk@chromium.org > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1682989 > Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> > Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> > Cr-Commit-Position: refs/heads/master@{#62500} Bug: v8:9326 Change-Id: Ic30280400dfa5b83a4a397888e563eee479446c5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688271 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#62553} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[error messages] Enhance the "unexpected identifier" error message Bug: chromium:1338838 Change-Id: I1b8c54b460d272b19a4faa180a491e725bee4b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726147 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81658} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[error messages] Enhance the "unexpected identifier" error message Bug: chromium:1338838 Change-Id: I1b8c54b460d272b19a4faa180a491e725bee4b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726147 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81658} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland ^2 "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" This is a reland of 9e48a24fd9b88712e4ec591c8b1fd40dc6381f18 Original change's description: > Reland "[array] Move Array.p.sort to Torque and use TimSort instead of QuickSort" > > The CL was reverted because it broke some tests in ChromeOS. > > > [array] Move Array.p.sort to Torque and use TimSort instead of QuickSort > > > > This CL changes the sorting algorithm used in Array.p.sort from > > QuickSort to TimSort (implemented in Torque). > > > > Detailed performance results can be found here: https://goo.gl/4E733J > > > > To save on code space, fast-paths are implemented as sets of > > function pointers instead of specializing generics. > > > > R=cbruni@chromium.org, jgruber@chromium.org > > > > Bug: v8:7382, v8:7624 > > Change-Id: I7cd4287e4562d84ab7c79c58ae30780630f976de > > Reviewed-on: https://chromium-review.googlesource.com/1151199 > > Commit-Queue: Simon Zünd <szuend@google.com> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#55003} > > Bug: v8:7382, v8:7624 > Change-Id: Ic7a3230f3708177774b0760f08b7659d83ec5505 > Reviewed-on: https://chromium-review.googlesource.com/1184901 > Commit-Queue: Simon Zünd <szuend@google.com> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Cr-Commit-Position: refs/heads/master@{#55325} Bug: v8:7382, v8:7624 Change-Id: I297611f45c09967e0f6961156b0c9ebdebc7053f Reviewed-on: https://chromium-review.googlesource.com/1186801 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#55360} | 7 年前 | |
[parser] classify binding pattern errors when parsing await expression await expressions are an invalid destructuring target, and should result in a SyntaxError when used in a position where a destructuring target is expected. BUG=v8:7173 R=marja@chromium.org, adamk@chromium.org Change-Id: I1bdb4bc13cb2e3e904fc4389a6e0abca1e0ed17f Reviewed-on: https://chromium-review.googlesource.com/811946 Reviewed-by: Sathya Gunasekaran (ooo until 12/12) <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#49977} | 8 年前 | |
[parser] classify binding pattern errors when parsing await expression await expressions are an invalid destructuring target, and should result in a SyntaxError when used in a position where a destructuring target is expected. BUG=v8:7173 R=marja@chromium.org, adamk@chromium.org Change-Id: I1bdb4bc13cb2e3e904fc4389a6e0abca1e0ed17f Reviewed-on: https://chromium-review.googlesource.com/811946 Reviewed-by: Sathya Gunasekaran (ooo until 12/12) <gsathya@chromium.org> Commit-Queue: Caitlin Potter <caitp@igalia.com> Cr-Commit-Position: refs/heads/master@{#49977} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Cleanup pattern classification This changes the split from AssignmentPattern and BindingPattern to Pattern and BindingPattern. Pattern collects all errors that are invalid in both assignment and binding pattern contexts. Binding pattern additionally collects errors for binding pattern contexts (property access isn't a valid target). The distinction is piggybacked on to distinguish assignment vs binding pattern errors since binding pattern verification will first throw the binding pattern error. Since we don't throw pattern error as binding pattern as well, this can mean that a later binding pattern syntax error will show up before an early pattern error. Since that just changes the message to another syntax violation, I think that's fine. Change-Id: Ib6a22c8d11c49eacc6667ae8ee5e98bababadd43 Reviewed-on: https://chromium-review.googlesource.com/c/1349273 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57774} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Cleanup pattern classification This changes the split from AssignmentPattern and BindingPattern to Pattern and BindingPattern. Pattern collects all errors that are invalid in both assignment and binding pattern contexts. Binding pattern additionally collects errors for binding pattern contexts (property access isn't a valid target). The distinction is piggybacked on to distinguish assignment vs binding pattern errors since binding pattern verification will first throw the binding pattern error. Since we don't throw pattern error as binding pattern as well, this can mean that a later binding pattern syntax error will show up before an early pattern error. Since that just changes the message to another syntax violation, I think that's fine. Change-Id: Ib6a22c8d11c49eacc6667ae8ee5e98bababadd43 Reviewed-on: https://chromium-review.googlesource.com/c/1349273 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#57774} | 7 年前 | |
Fix error message for octal escapes in templates This updates the scanner to use the correct error message when it encounters an octal escape sequence in a template literal. Previously, the error message referred to strict mode, even when the template literal was not in strict mode code. Bug: v8:7502 Change-Id: I37bb1338cf796c471108bc10f35f824cdf3ce0b7 Reviewed-on: https://chromium-review.googlesource.com/945411 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51823} | 8 年前 | |
Fix error message for octal escapes in templates This updates the scanner to use the correct error message when it encounters an octal escape sequence in a template literal. Previously, the error message referred to strict mode, even when the template literal was not in strict mode code. Bug: v8:7502 Change-Id: I37bb1338cf796c471108bc10f35f824cdf3ce0b7 Reviewed-on: https://chromium-review.googlesource.com/945411 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#51823} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
[parser] Change how conflicting param and let in body declarations are detected Now we just check for each variable declared in the parameter scope whether it occurs as a lexical variable in the body scope. This way the preparser will also identify them. Bug: v8:2728, v8:5064 Change-Id: I9fd96590fa431de0656c85295fd31af9b36f2e32 Reviewed-on: https://chromium-review.googlesource.com/c/1384225 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58375} | 7 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
[parser] Change how conflicting param and let in body declarations are detected Now we just check for each variable declared in the parameter scope whether it occurs as a lexical variable in the body scope. This way the preparser will also identify them. Bug: v8:2728, v8:5064 Change-Id: I9fd96590fa431de0656c85295fd31af9b36f2e32 Reviewed-on: https://chromium-review.googlesource.com/c/1384225 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58375} | 7 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
[parser] Change how conflicting param and let in body declarations are detected Now we just check for each variable declared in the parameter scope whether it occurs as a lexical variable in the body scope. This way the preparser will also identify them. Bug: v8:2728, v8:5064 Change-Id: I9fd96590fa431de0656c85295fd31af9b36f2e32 Reviewed-on: https://chromium-review.googlesource.com/c/1384225 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58375} | 7 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
[parser] Change how conflicting param and let in body declarations are detected Now we just check for each variable declared in the parameter scope whether it occurs as a lexical variable in the body scope. This way the preparser will also identify them. Bug: v8:2728, v8:5064 Change-Id: I9fd96590fa431de0656c85295fd31af9b36f2e32 Reviewed-on: https://chromium-review.googlesource.com/c/1384225 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58375} | 7 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland: Enable --harmony-function-tostring by default Update tests to work with new behavior. Thanks Yang Guo for fixing the GC problem in ad126d46bb5cb7630189c641613043546960ee70 R=adamk@chromium.org, machenbach@chromium.org Q_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel Bug: v8:4958 Change-Id: Ia7d9417f80087fb6df4ef877d0b4357875ee6c30 Reviewed-on: https://chromium-review.googlesource.com/834458 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Josh Wolfe <jwolfe@igalia.com> Cr-Commit-Position: refs/heads/master@{#50486} | 8 年前 | |
[preparser] Support escapes in arguments contextual keywords Bug: 430344952 Change-Id: Ib35df2f992cfe5a5207109ab500a0baaadf9b988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6732379 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#101389} | 11 个月前 | |
[preparser] Support escapes in arguments contextual keywords Bug: 430344952 Change-Id: Ib35df2f992cfe5a5207109ab500a0baaadf9b988 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6732379 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#101389} | 11 个月前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parsing] Provide location for function redeclaration error. Bug: v8:7387 Change-Id: I831bf8f580d4112d7e0f48d90bbe2f44eff73225 Reviewed-on: https://chromium-review.googlesource.com/897326 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51047} | 8 年前 | |
[parsing] Provide location for function redeclaration error. Bug: v8:7387 Change-Id: I831bf8f580d4112d7e0f48d90bbe2f44eff73225 Reviewed-on: https://chromium-review.googlesource.com/897326 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#51047} | 8 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[test] Remove module pragma in favor of .mjs d8 treats files with the .mjs extension as modules instead of classic scripts. Thus, the // MODULE pragma and its corresponding logic in test runners can be removed in favor of explicitly adding the extension. Bug: v8:7950, v8:9395, v8:9406 Also-By: tmrts@chromium.org Change-Id: Ic74328dc5c5f176bb4bdf6d74bdd4d3966279ba5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1675958 Commit-Queue: Mathias Bynens <mathias@chromium.org> Reviewed-by: Tamer Tas <tmrts@chromium.org> Auto-Submit: Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/master@{#62421} | 6 年前 | |
[parser] Fix crash in string constant folding Folding a string constant added into a previous string constant expression needs to make sure to clear that previous expressions parenthesised status, otherwise arrow function argument parsing can get screwed up Fixed: 417373146 Change-Id: Id4237f6e95e83068e5f7205fc32765370e48b5e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6543875 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#100284} | 1 年前 | |
[parser] Fix crash in string constant folding Folding a string constant added into a previous string constant expression needs to make sure to clear that previous expressions parenthesised status, otherwise arrow function argument parsing can get screwed up Fixed: 417373146 Change-Id: Id4237f6e95e83068e5f7205fc32765370e48b5e4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6543875 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#100284} | 1 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Improve error message for Set/Map grow failures Bug: v8:11852 Change-Id: I1d3c01b827e847bb7edcd2ebe7d3b340f7d53069 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097473 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#76355} | 4 年前 | |
Improve error message for Set/Map grow failures Bug: v8:11852 Change-Id: I1d3c01b827e847bb7edcd2ebe7d3b340f7d53069 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3097473 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#76355} | 4 年前 | |
[test] Automatically add --no-stress-opt to message tests Message tests check the output of a test against an expected file. Executing with --stress-opt changes the output, since the test will be run multiple times. For that reason, most message tests explicitly add the --no-stress-opt flag. Since this is redundant, and not a per-test setting, just configure this globally for all message tests instead. R=machenbach@chromium.org Bug: v8:12425 Change-Id: I52f1b43da2781fcb6f6bd37e67d483ca69c1c929 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471637 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79164} | 4 年前 | |
[test] Automatically add --no-stress-opt to message tests Message tests check the output of a test against an expected file. Executing with --stress-opt changes the output, since the test will be run multiple times. For that reason, most message tests explicitly add the --no-stress-opt flag. Since this is redundant, and not a per-test setting, just configure this globally for all message tests instead. R=machenbach@chromium.org Bug: v8:12425 Change-Id: I52f1b43da2781fcb6f6bd37e67d483ca69c1c929 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3471637 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#79164} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[runtime] Add additional test for spread call error Bug: v8:10378 Change-Id: Ida53679c819e0a1427f31a31526142348510ca78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2166906 Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#67386} | 6 年前 | |
[builtins] Improve kIteratorSymbolNonCallable error message Bug: v8:12918 Change-Id: Id3419cf7cef833cc8e18948874c40e13a3f20675 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3798522 Commit-Queue: Igor Sheludko <ishell@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#82150} | 3 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
[callprinter] Correctly point to the incorrect spread arg The source position is set to the function call (console.log) not the spread (..x), in the bytecode generator, as the spread operation is done as part of the CallWithSpread bytecode. The CallPrinter stops at the function call and doesn't look at the arguments as well (in CallPrinter::VisitCall) to see if the error is from an incorrect spread operation. With this patch, we pass some state to the CallPrinter in the CallWithSpread error case and check that in CallPrinter::VisitCall before returning. For the given source string: x = undefined; console.log(1, ...x); Previously, the error was - test.js:2: TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) console.log(1, ...x); ^ TypeError: console.log is not iterable (cannot read property Symbol(Symbol.iterator)) at test.js:2:9 Now, the error is - _test.js:2: TypeError: x is not iterable (cannot read property undefined) console.log(1, ...x); ^ TypeError: x is not iterable (cannot read property undefined) at _test.js:2:9 Bug: v8:10038 Change-Id: I199de9997f1d949c6f9b7b4f41d51f422b8b5131 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2037431 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#66131} | 6 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
Preserve "proper method names" as-is in error.stack. This changes the logic for generating method names in error.stack to prepend an inferred type name only when the function name is a valid ECMAScript identifiers and does not equal the inferred type name, to (1) give developers more control over the exact name shown in error.stack, as well as (2) avoid confusion in the presence of renaming of local variables. Previously we'd leave the function name as-is if it was prefixed by the inferred type name, but that condition is unnecessarily strict, and led to a bunch of inconsistencies around special names like <instance_member_initializer> where this dynamic approached often prefixed it with the correct type name, but also sometimes got it wrong and prepended Object., which is very unfortunate and misleading. Specifically for these special names, we'll add logic later in the parser to infer a useful (complete) name. The design doc (https://bit.ly/devtools-method-names-in-stack-traces) contains more background and examples of why we do this change. Doc: https://bit.ly/devtools-method-names-in-stack-traces Fixed: chromium:1294619 Bug: chromium:1283435 Change-Id: Ib8b528ba25255dcd07e9d11044c562c11d699bcb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3565724 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Benedikt Meurer <bmeurer@chromium.org> Cr-Commit-Position: refs/heads/main@{#79748} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[regexp] Improve String.prototype.matchAll error message Currently if the argument to matchAll has a null or undefined .flags property, the error message will read "String.prototype.matchAll called on null or undefined", which is very confusing. Drive-by fix: Remove the related and unused MethodInvokedOnNullOrUndefined error. Bug: v8:9895 Change-Id: I3644545282ac8d2156c7a51086e37a0ab7f97a78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874619 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64530} | 6 年前 | |
[regexp] Improve String.prototype.matchAll error message Currently if the argument to matchAll has a null or undefined .flags property, the error message will read "String.prototype.matchAll called on null or undefined", which is very confusing. Drive-by fix: Remove the related and unused MethodInvokedOnNullOrUndefined error. Bug: v8:9895 Change-Id: I3644545282ac8d2156c7a51086e37a0ab7f97a78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1874619 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#64530} | 6 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[interpreter] Merge hole elision info on break This e.g. allows us to optimize the access of x even though there's a conditional labeled break. Not y though due to the condition: lbl: { x; if (a) break lbl; y; } x; y; Bug: 449760249 Change-Id: I965ea1b15dc750cf9c570987001f30c198efe705 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7026071 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#103060} | 9 个月前 | |
[interpreter] Merge hole elision info on break This e.g. allows us to optimize the access of x even though there's a conditional labeled break. Not y though due to the condition: lbl: { x; if (a) break lbl; y; } x; y; Bug: 449760249 Change-Id: I965ea1b15dc750cf9c570987001f30c198efe705 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7026071 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/main@{#103060} | 9 个月前 | |
[ast] Store correct source position on ThisExpression Previously, all ThisExpression's had kNoSourcePositions leading to incorrect error messages like this: ➜ d8 -e "function t() { for (const x of this) {} } t();" unnamed:1: TypeError: undefined is not a function function t() { for (const x of this) {} } t(); ^ TypeError: undefined is not a function at t (unnamed:1:11) at unnamed:1:43 This patch allows creation of a ThisExpression with a source position, leading to a better error message: ➜ d8 -e "function t() { for (const x of this) {} } t();" unnamed:1: TypeError: this is not iterable function t() { for (const x of this) {} } t(); ^ TypeError: this is not iterable at t (unnamed:1:32) at unnamed:1:43 This patch does not remove the existing cached version of ThisExpression and instead creates a new one when required. Bug: v8:6513 Change-Id: Idee4fe8946a9b821d06ff4a5e7eaefe54874ec59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345226 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69300} | 5 年前 | |
[ast] Store correct source position on ThisExpression Previously, all ThisExpression's had kNoSourcePositions leading to incorrect error messages like this: ➜ d8 -e "function t() { for (const x of this) {} } t();" unnamed:1: TypeError: undefined is not a function function t() { for (const x of this) {} } t(); ^ TypeError: undefined is not a function at t (unnamed:1:11) at unnamed:1:43 This patch allows creation of a ThisExpression with a source position, leading to a better error message: ➜ d8 -e "function t() { for (const x of this) {} } t();" unnamed:1: TypeError: this is not iterable function t() { for (const x of this) {} } t(); ^ TypeError: this is not iterable at t (unnamed:1:32) at unnamed:1:43 This patch does not remove the existing cached version of ThisExpression and instead creates a new one when required. Bug: v8:6513 Change-Id: Idee4fe8946a9b821d06ff4a5e7eaefe54874ec59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2345226 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#69300} | 5 年前 | |
[builtins] catch and rethrow the message together with the exception This aligns the Torque semantics of catch with the JavaScript behavior: When we catch an exception, we also reset the pending exception. This also fixes a long-standing bug that we didn't restore the original pending message after executing arbitrary JS in IteratorCloseOnException Bug: v8:12439 Change-Id: I268d9d639d09023a424f352547cdce03428f983a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3303805 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Michael Stanton <mvstanton@chromium.org> Cr-Commit-Position: refs/heads/main@{#78259} | 4 年前 | |
Fix receiver type name in stack traces for static method calls JS classes were handled specially, extend the special handling to all functions. Also move the special handling into GetTypeName, so that users of Error.prepareStackTrace can also access the correct receiver type name Bug: 371019881 Change-Id: I2a0f564c31338ae0f7c07bdd7c1cbd2009cb1875 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5907815 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#97266} | 1 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Change how catch is parsed - Directly declares the special catch variable from the parser-base. - Tracks Scope on PreParserBlock and finds conflicting lexical declarations by simply walking the VariableMap of the block inserted for the pattern; or the catch variable in case of identifier. - This also enables throwing errors for duplicate let in the preparser. We may have to back that out if it breaks something. Bug: v8:2728, v8:7828 Change-Id: Id2eea62062533eb99cd6670c42a4b1da87139008 Reviewed-on: https://chromium-review.googlesource.com/c/1382095 Reviewed-by: Igor Sheludko <ishell@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58353} | 7 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[builtins]: Simple port of %TypedArray%.prototype.set() to CSA TFJ. - Fast path for same type source typed array - Move previous CPP implementation into a runtime function "TypedArraySet" - Remove parts covered by the TFJ - Basic receiver, offset, source checks - Handling of same type source typed array Bug: v8:3590 Change-Id: I0f19d961424c30cc8bbcb8648b623e7e6dfa33f4 Reviewed-on: https://chromium-review.googlesource.com/786414 Reviewed-by: Jaroslav Sevcik <jarin@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#49608} | 8 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Reland "[interpreter] Add bytecode for leading array spreads." This is a reland of 1c48d52bb1ee9bb28e146c60eda08cd4afaa5745. It turned out that IterableToList doesn't always behave according to the ES operation with the same name. Specifically, it allows holey arrays to take its fast path, which produces an output array with holes where actually "undefined" elements should appear. This CL changes the version of IterableToList that is used for spreads (IterableToListWithSymbolLookup) such that holey arrays take the slow path. It also includes tests for such situations. Original change's description: > [interpreter] Add bytecode for leading array spreads. > > This CL improves the performance of creating [...a, b] or [...a]. > If the array literal has a leading spread, this CL emits the bytecode > [CreateArrayFromIterable] to create the literal. CreateArrayFromIterable > is implemented by [IterableToListDefault] builtin to create the initial > array for the leading spread. IterableToListDefault has a fast path to > clone efficiently if the spread is an actual array. > > The bytecode generated is now shorter. Bytecode generation is refactored > into to BuildCreateArrayLiteral, which allows VisitCallSuper to benefit > from this optimization also. > For now, turbofan also lowers the bytecode to the builtin. > > The idiomatic use of [...a] to clone the array a now performs better > than a simple for-loop, but still does not match the performance of slice. > > Bug: v8:7980 > > Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng > Change-Id: Ibde659c82d3c7aa1b1777a3d2f6426ac8cc15e35 > Reviewed-on: https://chromium-review.googlesource.com/1181024 > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> > Reviewed-by: Sigurd Schneider <sigurds@chromium.org> > Reviewed-by: Jakob Gruber <jgruber@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Georg Neis <neis@chromium.org> > Commit-Queue: Hai Dang <dhai@google.com> > Cr-Commit-Position: refs/heads/master@{#55520} Bug: v8:7980 Change-Id: I0b5603a12d2b588327658bf0a9b214bd0f22e237 Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng Reviewed-on: https://chromium-review.googlesource.com/1201882 Commit-Queue: Hai Dang <dhai@google.com> Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#55639} | 7 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
Reland "Reland "Reland "Improve error messages for property access on null/undefined""" This is a reland of 819c3ae2f87fc7ad634fe4356de6653bb3cb3b87 Original change's description: > Reland "Reland "Improve error messages for property access on null/undefined"" > > This is a reland of 8b18c5e6a534d7c459a16aebdd4fe05133db6dea > > Original change's description: > > Reland "Improve error messages for property access on null/undefined" > > > > This is a reland of 24c626c1f7809ce725e56152ab2928696a2f8e9e > > > > Original change's description: > > > Improve error messages for property access on null/undefined > > > > > > Only print the property name when accessing null/undefined if we can > > > convert it to a string without causing side effects. > > > If we can't, omit the property name in the error message. > > > This should avoid confusion when the key is an object with toString(). > > > E.g. undefined[{toString:()=>'a'}] doesn't print 'read property [object > > > Object]' anymore, which was misleading since the property accessed would > > > be 'a', but we can't evaluate the key without side effects. > > > > > > Bug: v8:11365 > > > Change-Id: If82d1adb42561d4851e2bd2ca297a1c71738aee8 > > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2960211 > > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > > Cr-Commit-Position: refs/heads/master@{#75250} > > > > Bug: v8:11365 > > Change-Id: Ie2312337f4f1915faa31528a728d90833d80dbd1 > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2979599 > > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > > Commit-Queue: Patrick Thier <pthier@chromium.org> > > Cr-Commit-Position: refs/heads/master@{#75571} > > Bug: v8:11365 > Change-Id: I90360641ecd870bd93247aa6d91dfb0ad049cfb8 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3008219 > Auto-Submit: Patrick Thier <pthier@chromium.org> > Commit-Queue: Toon Verwaest <verwaest@chromium.org> > Reviewed-by: Toon Verwaest <verwaest@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75604} Bug: v8:11365 Change-Id: I002b537144f328ccbbdcd655e26e5dc87c49c6f5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3013935 Reviewed-by: Toon Verwaest <verwaest@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#75645} | 4 年前 | |
[error messages] Enhance the "unexpected identifier" error message Bug: chromium:1338838 Change-Id: I1b8c54b460d272b19a4faa180a491e725bee4b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726147 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81658} | 3 年前 | |
[error messages] Enhance the "unexpected identifier" error message Bug: chromium:1338838 Change-Id: I1b8c54b460d272b19a4faa180a491e725bee4b79 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3726147 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#81658} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Updated the Error Message for Unparenthesized Exponentiation Expression -5**2 now produces SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedence. Bug: v8:6894 Change-Id: I89dd034ff90ee1a49ba61e0c613da534fbf8b41b Reviewed-on: https://chromium-review.googlesource.com/c/1418592 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59011} | 7 年前 | |
[parser] Updated the Error Message for Unparenthesized Exponentiation Expression -5**2 now produces SyntaxError: Unary operator used immediately before exponentiation expression. Parenthesis must be used to disambiguate operator precedence. Bug: v8:6894 Change-Id: I89dd034ff90ee1a49ba61e0c613da534fbf8b41b Reviewed-on: https://chromium-review.googlesource.com/c/1418592 Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Suraj Sharma <surshar@microsoft.com> Cr-Commit-Position: refs/heads/master@{#59011} | 7 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[explicit-resource-management] Fix rethrow message This CL fixes a bug where when rethrowing the sole error message in a block with resources to dispose, the message is not correctly preserved, causing no error message to be displayed in d8. Bug: 42203506 Change-Id: I22ca4c26800f37c741df14e72d424f81ffa83333 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6300617 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Rezvan Mahdavi Hezaveh <rezvan@chromium.org> Cr-Commit-Position: refs/heads/main@{#98901} | 1 年前 | |
[explicit-resource-management] Fix rethrow message This CL fixes a bug where when rethrowing the sole error message in a block with resources to dispose, the message is not correctly preserved, causing no error message to be displayed in d8. Bug: 42203506 Change-Id: I22ca4c26800f37c741df14e72d424f81ffa83333 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6300617 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Rezvan Mahdavi Hezaveh <rezvan@chromium.org> Cr-Commit-Position: refs/heads/main@{#98901} | 1 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
[parser] Declare variables through ExpressionScope Use variable tracking from ExpressionScopes rather than the PatternRewriter and PreParserExpression::variables_ to declare variables. We only figure out that variables are non-simple parameters once we see the first non-simple parameter. This still uses the pattern rewriter to make variables non-simple (kLet instead of kVar). Change-Id: I4a4ee4852d667c26806bb24896722cfea3e093f2 Reviewed-on: https://chromium-review.googlesource.com/c/1417630 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#58954} | 7 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
Resolved an issue where an earlier error was not reported first in certain cases Previously, once after an error was reported, following errors were ignored even if they had occured in prior lines. Strict octal error and conflicting variable declarations error could be missed under this implementation. This patch solves this problem by making an error replaceable. Bug: v8:13187 Change-Id: I8295baf0db757a5c1b504920cb274cdee78f5055 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4019398 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/main@{#84212} | 3 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[wasm][refactor] Simplify/unify parts of the function decoder Changes: - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool. Refactor call sites to reflect this (decouple current code reachability check from type check). - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking part of Return() into TypeCheckStackAgainstMerge(). - Make sure all TypeCheck* functions are only called within VALIDATE. - In graph-builder-interface, rename end_env -> merge_env to reflect its function for loops. - Change expected error messages in some tests. Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#74100} | 5 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[wasm][refactor] Simplify/unify parts of the function decoder Changes: - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool. Refactor call sites to reflect this (decouple current code reachability check from type check). - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking part of Return() into TypeCheckStackAgainstMerge(). - Make sure all TypeCheck* functions are only called within VALIDATE. - In graph-builder-interface, rename end_env -> merge_env to reflect its function for loops. - Change expected error messages in some tests. Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#74100} | 5 年前 | |
[cleanup] Remove Wasm exception-handling runtime flag It's been enabled by default since Chromium M95. Also removes duplicate setup code for WebAssembly.Tag JS API from WasmJs::InstallConditionalFeatures, since we're guaranteed to set it up via the non-conditional WasmJs::Install. Bug: v8:8091 Change-Id: Ic500feb655ad4fc0703ed226504847ca6d940537 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3996810 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#84074} | 3 年前 | |
[wasm][eh] Wasm exceptions are not JS errors Context: https://github.com/WebAssembly/exception-handling/pull/197 This change removes the wasm exception -> JS Error inheritance. R=jkummerow@chromium.org Bug: v8:8091 Change-Id: I479f16fe03d4d77d2ecd8409e96f9a3c063912b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688401 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80997} | 4 年前 | |
[wasm][eh] Add WebAssembly.Exception traceStack parameter Context: https://github.com/WebAssembly/exception-handling/pull/197 This change adds the optional {traceStack: <bool>} parameter to the WebAssembly.Exception constructor. When set to true, this captures the stack and sets the stack accessor on the exception object. R=jkummerow@chromium.org Bug: v8:8091 Change-Id: I4430b6317b27ec62f11e951fbe95ee480ac72d37 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688402 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#81041} | 4 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[cleanup] Remove Wasm exception-handling runtime flag It's been enabled by default since Chromium M95. Also removes duplicate setup code for WebAssembly.Tag JS API from WasmJs::InstallConditionalFeatures, since we're guaranteed to set it up via the non-conditional WasmJs::Install. Bug: v8:8091 Change-Id: Ic500feb655ad4fc0703ed226504847ca6d940537 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3996810 Reviewed-by: Andreas Haas <ahaas@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#84074} | 3 年前 | |
[wasm][eh] Wasm exceptions are not JS errors Context: https://github.com/WebAssembly/exception-handling/pull/197 This change removes the wasm exception -> JS Error inheritance. R=jkummerow@chromium.org Bug: v8:8091 Change-Id: I479f16fe03d4d77d2ecd8409e96f9a3c063912b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3688401 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#80997} | 4 年前 | |
[wasm] Remove --expose-wasm and refactor Wasm JS installation - Remove the --expose-wasm flag and instead determine based on the other flags (--jitless, correctness-fuzzer-suppressions, --wasm-jitless) whether the WebAssembly object should be installed as a global property. - Always use the WebAssembly object from the context for installing new (conditional) features. - Add more checks when installing new properties. - Make some methods private. Bug: 373485797 Change-Id: I1b39502a6b6a1b680a3d481b2c6c0031431c9c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5932661 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#96636} | 1 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[wasm] Remove --expose-wasm and refactor Wasm JS installation - Remove the --expose-wasm flag and instead determine based on the other flags (--jitless, correctness-fuzzer-suppressions, --wasm-jitless) whether the WebAssembly object should be installed as a global property. - Always use the WebAssembly object from the context for installing new (conditional) features. - Add more checks when installing new properties. - Make some methods private. Bug: 373485797 Change-Id: I1b39502a6b6a1b680a3d481b2c6c0031431c9c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5932661 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#96636} | 1 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[wasm] Remove --expose-wasm and refactor Wasm JS installation - Remove the --expose-wasm flag and instead determine based on the other flags (--jitless, correctness-fuzzer-suppressions, --wasm-jitless) whether the WebAssembly object should be installed as a global property. - Always use the WebAssembly object from the context for installing new (conditional) features. - Add more checks when installing new properties. - Make some methods private. Bug: 373485797 Change-Id: I1b39502a6b6a1b680a3d481b2c6c0031431c9c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5932661 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#96636} | 1 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[wasm] Remove --expose-wasm and refactor Wasm JS installation - Remove the --expose-wasm flag and instead determine based on the other flags (--jitless, correctness-fuzzer-suppressions, --wasm-jitless) whether the WebAssembly object should be installed as a global property. - Always use the WebAssembly object from the context for installing new (conditional) features. - Add more checks when installing new properties. - Make some methods private. Bug: 373485797 Change-Id: I1b39502a6b6a1b680a3d481b2c6c0031431c9c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5932661 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#96636} | 1 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[wasm][refactor] Simplify/unify parts of the function decoder Changes: - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool. Refactor call sites to reflect this (decouple current code reachability check from type check). - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking part of Return() into TypeCheckStackAgainstMerge(). - Make sure all TypeCheck* functions are only called within VALIDATE. - In graph-builder-interface, rename end_env -> merge_env to reflect its function for loops. - Change expected error messages in some tests. Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#74100} | 5 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[wasm][refactor] Simplify/unify parts of the function decoder Changes: - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool. Refactor call sites to reflect this (decouple current code reachability check from type check). - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking part of Return() into TypeCheckStackAgainstMerge(). - Make sure all TypeCheck* functions are only called within VALIDATE. - In graph-builder-interface, rename end_env -> merge_env to reflect its function for loops. - Change expected error messages in some tests. Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#74100} | 5 年前 | |
[d8][mjsunit][tools] Improve d8 file API - Add d8.file.read() and d8.file.execute() helpers - Change tools and tests to use new d8.file helper - Unify error throwing in v8::Shell::ReadFile Change-Id: I5ef4cb27f217508a367106f01e872a4059d5e399 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2928505 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74883} | 5 年前 | |
[wasm][refactor] Simplify/unify parts of the function decoder Changes: - Remove TypeCheckBranchResult. Change TypeCheckBranch() to return bool. Refactor call sites to reflect this (decouple current code reachability check from type check). - Unify TypeCheckBranch(), TypeCheckFallthrough(), and the type-checking part of Return() into TypeCheckStackAgainstMerge(). - Make sure all TypeCheck* functions are only called within VALIDATE. - In graph-builder-interface, rename end_env -> merge_env to reflect its function for loops. - Change expected error messages in some tests. Change-Id: I857edc18db9c2454ad12d539ffe7a10e96367710 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2839560 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/master@{#74100} | 5 年前 | |
[wasm] Remove --expose-wasm and refactor Wasm JS installation - Remove the --expose-wasm flag and instead determine based on the other flags (--jitless, correctness-fuzzer-suppressions, --wasm-jitless) whether the WebAssembly object should be installed as a global property. - Always use the WebAssembly object from the context for installing new (conditional) features. - Add more checks when installing new properties. - Make some methods private. Bug: 373485797 Change-Id: I1b39502a6b6a1b680a3d481b2c6c0031431c9c45 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5932661 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#96636} | 1 年前 | |
[string] Use rapidhash for string hashing Rapidhash is used in Chromium for hashing, and should present a better performance/hash quality tradeoff than our existing hash. This is a port of the rapidhash fork in chromium: https://source.chromium.org/chromium/chromium/src/+/main:third_party/rapidhash/ Since rapidhash works on blocks of characters rather than individual characters, we have to make two adjustments to our hashing: * Handle two-byte strings of one-byte characters specially, so that they have the same hash as the equivalent one-byte string * Calculate the hash separately from the character-by-character check for digits in the integer index loop. Bug: 392441189 Change-Id: I17c7443f36e71751f1394c0f037d5776f7ec0bcd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6185430 Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/main@{#98391} | 1 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[symbol-as-weakmap-key] Implement Symbol as WeakMap Keys Allow non-registered symbols as keys in weakmap and weakset. Allow non-registered symbols as target and unregisterToken in WeakRef and FinalizationRegistry. Bug: v8:12947 Change-Id: Ieb63bda66e3cc378879ac651e23300b71caed627 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3865056 Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#83313} | 3 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[weakrefs] Remove --no-harmony-weak-refs flag Bug: v8:8179 Change-Id: I7f699073807d1874d0c10a4f1641de6bfb0efe6f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2741582 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org> Cr-Commit-Position: refs/heads/master@{#73871} | 5 年前 | |
[symbol-as-weakmap-key] Implement Symbol as WeakMap Keys Allow non-registered symbols as keys in weakmap and weakset. Allow non-registered symbols as target and unregisterToken in WeakRef and FinalizationRegistry. Bug: v8:12947 Change-Id: Ieb63bda66e3cc378879ac651e23300b71caed627 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3865056 Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#83313} | 3 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 | |
Split message tests in failing and non-failing This way, we can also check the return code of d8. We currently have a bug (6981) which makes failing tests not being detected, even though the failure message is (sometimes) being printed. After this refactoring, we can write tests for our mjsunit test functions. R=machenbach@chromium.org Bug: v8:6981 Change-Id: I0aa0abcb0f9a4f622a1e1d1a4d826da1e6eb4f07 Reviewed-on: https://chromium-review.googlesource.com/737991 Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#48951} | 8 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 5 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 1 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 11 个月前 | ||
| 11 个月前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 3 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 6 年前 | ||
| 6 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 9 个月前 | ||
| 9 个月前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 7 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 年前 | ||
| 7 年前 | ||
| 3 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 3 年前 | ||
| 4 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 5 年前 | ||
| 3 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 | ||
| 8 年前 |