- 06 Dec, 2021 1 commit
-
-
Shu-yu Guo authored
This is a reland of 3ee4804f. The CL was originally reverted for blink test failures. Since the revert, the blink top-level await flag has been removed. Original change's description: > [top-level-await] Remove --harmony-top-level-await > > TLA has been shipped since v8.9. > > Bug: v8:9344, chromium:1271114 > Change-Id: Ibebf21da8bacb1f0d212390133847495ad8553e5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307103 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78169} Bug: v8:9344, chromium:1271114 Change-Id: I96a9641967a23a12ba2467a69e5859ad8647f3e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3318717 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78261}
-
- 30 Nov, 2021 2 commits
-
-
Adam Klein authored
This reverts commit 3ee4804f. Reason for revert: breaks blink_unit_tests: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Blink%20Linux/15074/overview Original change's description: > [top-level-await] Remove --harmony-top-level-await > > TLA has been shipped since v8.9. > > Bug: v8:9344, chromium:1271114 > Change-Id: Ibebf21da8bacb1f0d212390133847495ad8553e5 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307103 > Commit-Queue: Shu-yu Guo <syg@chromium.org> > Reviewed-by: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/main@{#78169} Bug: v8:9344, chromium:1271114 Change-Id: I0874bcaba18fde3b48f5ef7eeae89f2fa4978d51 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3308422 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/main@{#78170}
-
Shu-yu Guo authored
TLA has been shipped since v8.9. Bug: v8:9344, chromium:1271114 Change-Id: Ibebf21da8bacb1f0d212390133847495ad8553e5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3307103 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#78169}
-
- 09 Aug, 2021 1 commit
-
-
Camillo Bruni authored
Change-Id: Ia324f486f138757017951c0d2b83502937b950d9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3075362 Auto-Submit: Camillo Bruni <cbruni@chromium.org> Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#76158}
-
- 10 Feb, 2021 1 commit
-
-
Daniel Clark authored
With top-level await, when Evaluate is performed on an already-evaluated synthetic module, Module::InnerEvaluate returns undefined. This breaks top-level await's assumption that the returned value is always a promise. In order to make SyntheticModule's behavior consistent with SourceTextModule, the top_level_capability field is moved up to Module and SyntheticModule::Evaluate places the promise returned from the host's evaluation steps in that field. Now SourceTextModule and SyntheticModule can share the same code to handle the case where the module is either kErrored or kEvaluated, so the code for this is moved up to Module. Thus, SyntheticModule is now guaranteed to return the promise from the evaluation steps even on subsequent Evaluate() calls. Unfortunately Node hasn't yet updated their EvaluationStepsCallback to return a Promise, so we can't yet assume that the returned value is a Promise without breaking Node. So, this change also adds a clause to check for this condition and create a new resolved Promise if one was not provided by the callback steps. This could eventually be removed once Node's callback steps are updated for top-level await. Change-Id: I2d6ae918abfeba9e3a757838502d4df92946edaa Bug: v8:11398 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2673794Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Dominik Inführ <dinfuehr@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#72629}
-
- 30 Nov, 2020 1 commit
-
-
Daniel Clark authored
This change completes the necessary API changes for import assertions discussed in https://docs.google.com/document/d/1yuXgNHSbTAPubT1Mg0JXp5uTrfirkvO1g5cHHCe-LmY. The old ResolveCallback is deprecated and replaced with a ResolveModuleCallback that includes import assertions. Until ResolveCallback is removed, InstantiateModule and associated functions are modified to accept both types of callback, using the new one if it was supplied and the old one otherwise. An alternative that I chose not to go with would be to just duplicate InstantiateModule and associated functions for both callback types. SyntheticModule::PrepareInstantiate's callback parameter was unused so I removed it. Bug: v8:10958 Change-Id: I8e9fbaf9c2853b076b13da02473fbbe039b9db57 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2551919Reviewed-by: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#71506}
-
- 28 Oct, 2020 1 commit
-
-
Tobias Tebbi authored
This CL splits the class definitions per .tq file, to realize the following relationship: A class defined in src/objects/foo.tq has a C++ definition in src/objects/foo.h. Torque then generates: - torque-generated/src/objects/foo-tq.inc An include file (no proper header) to be included in src/objects/foo.h containing the Torque-generated C++ class definition. - torque-generated/src/objects/foo-tq-inl.inc An include file (no proper header) to be included in src/objects/foo-inl.h containing inline function definitions. - torque-generated/src/objects/foo-tq.cc A source file including src/objects/foo-inl.h that contains non-inline function definitions. Advantages of this approach: - Avoid big monolithic headers and preserve the work that went into splitting objects.h - Moving a definition to Torque keeps everything in the same place from a C++ viewpoint, including a fully Torque-generated C++ class definition. - The Torque-generated include files do not need to be independent headers, necessary includes or forward declarations can just be added to the headers that include them. Drive-by changes: A bunch of definitions and files had to be moved or created to realize a consistent 1:1 relationship between .tq files and C++ headers. Bug: v8:7793 TBR: hpayer@chromium.org Change-Id: I239a89a16d0bc856a8669d7c92aeafe24a7c7663 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2470571 Commit-Queue: Tobias Tebbi <tebbi@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Seth Brenith <seth.brenith@microsoft.com> Cr-Commit-Position: refs/heads/master@{#70853}
-
- 24 Oct, 2020 1 commit
-
-
Camillo Bruni authored
This is a reland of eb6b4ce1 Skip test that serializes Error which references a Script. All errors created by ThrowAt store the current Script under the error_script_symbol. Original change's description: > [runtime] Use Isolate::ThrowAt with MessageLocation > > Fix various missing source positions when reporting parse and compile > errors. Namely this fixes missing source positions when having invalid > module imports. > > - Use Isolate::ThrowAt with valid MessageLocation objects > - Change public Isolate::Throw to no longer accept MessageLocation to > avoid misues > - Introduce private Isolate::ThrowInternal that accepts MessageLocation > > Bug: v8:6513 > Change-Id: I3ee633c9fff8c9d361bddb37f56e28a50c280ec1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2467839 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70623} Bug: v8:6513 Change-Id: Icba74f74178e28fbda0fd0c237eeb7bacbc33570 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2487123Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#70741}
-
- 19 Oct, 2020 2 commits
-
-
Michael Achenbach authored
This reverts commit eb6b4ce1. Reason for revert: Might need rebaseline: https://ci.chromium.org/p/v8/builders/ci/V8%20Blink%20Linux/7519 Original change's description: > [runtime] Use Isolate::ThrowAt with MessageLocation > > Fix various missing source positions when reporting parse and compile > errors. Namely this fixes missing source positions when having invalid > module imports. > > - Use Isolate::ThrowAt with valid MessageLocation objects > - Change public Isolate::Throw to no longer accept MessageLocation to > avoid misues > - Introduce private Isolate::ThrowInternal that accepts MessageLocation > > Bug: v8:6513 > Change-Id: I3ee633c9fff8c9d361bddb37f56e28a50c280ec1 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2467839 > Commit-Queue: Camillo Bruni <cbruni@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70623} TBR=marja@chromium.org,cbruni@chromium.org,ishell@chromium.org Change-Id: Ifa16ef8b6e5e411712fbad2e2a58fd700da12a69 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:6513 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2485498Reviewed-by: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#70631}
-
Camillo Bruni authored
Fix various missing source positions when reporting parse and compile errors. Namely this fixes missing source positions when having invalid module imports. - Use Isolate::ThrowAt with valid MessageLocation objects - Change public Isolate::Throw to no longer accept MessageLocation to avoid misues - Introduce private Isolate::ThrowInternal that accepts MessageLocation Bug: v8:6513 Change-Id: I3ee633c9fff8c9d361bddb37f56e28a50c280ec1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2467839 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/master@{#70623}
-
- 23 Sep, 2020 1 commit
-
-
Camillo Bruni authored
- Make Module::RecordErrorUsingPendingException and Module::RecordError static (There is no need for them to be "fast" instance methods with raw pointers) - Share various debug print snippets - Share status change code in SetStatusInternal - Simplify several casts Change-Id: I159dc3dd9104bf76858a2d5ad142a72a75640716 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2416490 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Auto-Submit: Camillo Bruni <cbruni@chromium.org> Reviewed-by: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#70094}
-
- 21 Oct, 2019 1 commit
-
-
Daniel Clark authored
Per spec, Module::SetSyntheticModuleExport should throw a ReferenceError when called with an export name that was not supplied when constructing that SyntheticModule. Instead, the current implementation crashes with a failed CHECK(). Add a new Module::SyntheticModuleSetExport that throws (without an ensuing crash) for this case, and deprecate the old Module::SetSyntheticModuleExport. Bug: v8:9828 Change-Id: I3b3d353064c3851882781818099bd8f6ee74c809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1860996Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#64438}
-
- 16 Sep, 2019 1 commit
-
-
Joshua Litt authored
The first land did not correctly handle exceptions for already evaluated modules. Original description: Implements AsyncModules in SourceTextModule. However, there is no support in the parser or D8 for actually creating / resolving AsyncModules. Also adds a flag '--top-level-await,' but the only external facing change with the flag enabled is that Module::Evaluate returns a promise. Bug: v8:9344 Change-Id: I24725816ee4a6c3616c3c8b08a75a60ca9f27727 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1797658 Commit-Queue: Joshua Litt <joshualitt@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#63803}
-
- 11 Sep, 2019 2 commits
-
-
Joshua Litt authored
This reverts commit 591d1c9d. Reason for revert: breaks blink Original change's description: > [top-level-await] Implement top-level-await in V8 > > Implements AsyncModules in SourceTextModule. However, there is no > support in the parser or D8 for actually creating / resolving > AsyncModules. Also adds a flag '--top-level-await,' but the only > external facing change with the flag enabled is that Module::Evaluate > returns a promise. > > Bug: v8:9344 > Change-Id: Idc722efc1e2aa780d04bdb985bb7920ab969d34e > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1728037 > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Georg Neis <neis@chromium.org> > Commit-Queue: Joshua Litt <joshualitt@chromium.org> > Cr-Commit-Position: refs/heads/master@{#63686} TBR=ulan@chromium.org,adamk@chromium.org,neis@chromium.org,joshualitt@chromium.org Change-Id: I6ceeb3a293a948af04bf200ab784ceb03386a3fd No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:9344 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1797656Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#63692}
-
Joshua Litt authored
Implements AsyncModules in SourceTextModule. However, there is no support in the parser or D8 for actually creating / resolving AsyncModules. Also adds a flag '--top-level-await,' but the only external facing change with the flag enabled is that Module::Evaluate returns a promise. Bug: v8:9344 Change-Id: Idc722efc1e2aa780d04bdb985bb7920ab969d34e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1728037Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Joshua Litt <joshualitt@chromium.org> Cr-Commit-Position: refs/heads/master@{#63686}
-
- 09 Jul, 2019 1 commit
-
-
Daniel Clark authored
ResolveExport and Evaluate are the final unimplemented SyntheticModule methods; with this change the implementation is complete. Test-api unit tests are also provided. Bug: v8:9292 Change-Id: Ieb7643cc5b6495dd201a51f04199d2406a703e52 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1681187Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#62582}
-
- 27 Jun, 2019 1 commit
-
-
Daniel Clark authored
This change is a partial implementation of Synthetic Module Record as specified here: https://heycam.github.io/webidl/#synthetic-module-records This includes: - Introduce SyntheticModule class inheriting from Module. - Extend v8::Module interface in v8.h to include Synthetic Module APIs, with corresponding implementations in api.cc. - Provide SyntheticModule implementations of PrepareInstantiate, FinishInstantiate, and SetExport. - Provide cctest unit tests for the implementations in the preceding item. We will follow up with further submissions to implement the remaining members of SyntheticModule (ResolveExport and Evaluate). Bug: v8:9292 Change-Id: I25b1b695b5d1c3004677cd685f0dfd95283438fa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1626829 Commit-Queue: Dan Clark <daniec@microsoft.com> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#62433}
-