Missing coverage encountered while implementing
<https://github.com/tc39/ecma262/pull/3307> in SpiderMonkey.
Ensure environment lookups are performed in the correct order:
- keyed-destructuring-property-reference-target-evaluation-order-with-bindings.js
Ensure `delete super[elem]` steps are correctly performed:
- delete/super-property-topropertykey.js
- delete/super-property-uninitialized-this.js
Ensure ToPropertyKey for computed property names in object literals
correctly performed:
- object/computed-property-name-topropertykey-before-value-evaluation.js
Ensure `GetSuperBase` is executed before `ToPropertKey`:
- super/prop-expr-getsuperbase-before-topropertykey-*
Ensure `GetThisBinding` is executed first:
- super/prop-expr-uninitialized-this-*
This cl adds a test for having `await using` in the async
generator function body.
Bug: 42203814
Change-Id: I30c0d2fe354a3047f67a4a71f7c6472c3d832bbf
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5867651
Commit-Queue: Rezvan Mahdavi Hezaveh <rezvan@chromium.org>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#96146}
* Add tests for `%WrapForValidIteratorPrototype%.return()`
* Address review
- Remove unused `flags
- Do not use `deepEqual.js`
- Assert `return` never got when `this` value is invalid
- Use `TemporalHelpers` to observer get / call
These tests add coverage for a corner case in the TZDB. In spring 1919,
the America/Toronto time zone switched to DST at 23:30 on March 30th,
skipping an hour ahead to 00:30 on March 31st. This meant that both March
30th and March 31st were 23.5-hour days.
See: https://github.com/tc39/proposal-temporal/issues/2910
Tweak some tests to provide coverage of new execution paths in the spec,
such as calling GetOptionsObject inside ToTemporal___; add a few new tests
for things that weren't covered before, such as rounding a PlainDateTime
at the edge of the range; and tweak the tests verifying when the
properties of the options bag are read, which I made a mistake in #4119.
See: https://github.com/tc39/proposal-temporal/pull/2925
Add support for the accessor keywords for public class fields as part of the decorators proposal.
Changes to the parser:
- Minor cleanup of reused code.
- Support declaration of public auto-accessors.
Changes to the bytecode generator:
- Add logic to create the accessor storage private name for public
members.
- Add the generated getter and setter to the arguments list passed to
Runtime::kDefineClass
Changes to class boilerplate:
- Add logic to add a template AccessorPair to the descriptors lists
for each auto accessor property. The template AccessorPair object
is initialized with consecutive indices corresponding to the
positions in the Runtime::kDefineClass arguments.
Add tests.
Bug: 42202709
Change-Id: I2253eddb734e950d8faf83fff1763e32b7f53a73
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5745256
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Commit-Queue: Luis Pardo <lpardosixtos@microsoft.com>
Cr-Commit-Position: refs/heads/main@{#95784}
* Import relevant files from #3888
* Adds resizableArrayBufferUtils.js to includes and removes its content from each test
* renamed tests to indicate the end argument is tested too
* Adds more tests for the 'end' argument of .subarray
* Import relevant files from #3888
* Removing parts in resizableArrayBufferUtils.js and adding it in includes,
while applying review changes from PRs for previously tested methods.
* Apply suggestions from code review
* Address review: get implementation dependent toLocaleString separator.
* Apply suggestions from code review
* Import relevant files from #3888
* Removing parts in resizableArrayBufferUtils.js and adding it in includes,
while applying review changes from PRs for previously tested methods.
* Add coerced-start-shrink test for Array.p.slice
* Renames files to add more tests for the end argument of .slice.
* Tests for the 'end' argument of .slice and test file for Array.p.slice
parallel to TypedArray.p.slice resizable-buffer.js
Support for the accessor keywords for private class fields as part of
the decorators proposal.
Changes to AST:
- Add an AUTO_ACCESSOR value to the ClassLiteralProperty::Kind enum.
- Add an AutoAccessorInfo class to be used in ClassLiteralProperty
objects of kind AUTO_ACCESSOR to hold the information about the
generated getters/setters and backing storage.
- Add AutoAccessorGetterBody and AutoAccessorSetterBody statements to
implement the logic of generated getters and setters.
Changes to Parser:
- Add logic to parse the "accessor" keyword and throw when used on non
field class properties.
- Add preparser logic to mock the function scopes and variable
declarations required for the generated getters/setters.
- Add parser logic to synthetically create statements for the
generated setters/getters.
Changes to the Bytecode Generator:
- Add logic to BuildClassLiteral to build auto accessor storage
private names.
- Add logic to set the generated getters/setters in the accessor pair.
- Add logic to initialize the accessor storage in BuildClassProperty.
- Add AutoAccessorGetterBody and AutoAccessorSetterBody visitors.
Tests:
- Add parsing-unittests for parsing converage.
- Add test262 tests for functionality coverage.
- Add test-debug test for devtools support coverage.
Bug: 42202709
Change-Id: Ibb9bee3bbd0c09341108856f969e0c22bbb8b9cc
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5547688
Reviewed-by: Seth Brenith <seth.brenith@microsoft.com>
Commit-Queue: Luis Pardo <lpardosixtos@microsoft.com>
Reviewed-by: Shu-yu Guo <syg@chromium.org>
Cr-Commit-Position: refs/heads/main@{#95612}
* Import relevant files from #3888
* Removing parts in resizableArrayBufferUtils.js and adding it in includes,
while applying review changes from PRs for previously tested methods.
* Address review comments.