- 13 Oct, 2021 1 commit
-
-
Joyee Cheung authored
Introduces several new runtime mechanics for defining private fields, including: - Bytecode StaKeyedPropertyAsDefine - Builtins StoreOwnIC{Trampoline|Baseline|_NoFeedback} - Builtins KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic} - TurboFan IR opcode JSDefineProperty These new operations can reduce a runtime call per class field into a more traditional Store equivalent. In the microbenchmarks, this results in a substantial win over the status quo (~8x benchmark score for single fields with the changes, ~20x with multiple fields). The TurboFan JSDefineProperty op is lowered in JSNativeContextSpecialization, however this required some hacks. Because private fields are defined as DONT_ENUM when added to the object, we can't find a suitable transition using the typical data property (NONE) flags. I've added a mechanism to specify the required PropertyAttributes for the transition we want to look up. Details: New bytecodes: - StaKeyedPropertyAsDefine, which is essentially StaKeyedProperty but with a different IC builtin (KeyedDefineOwnIC). This is a bytecode rather than a flag for the existing StaKeyedProperty in order to avoid impacting typical keyed stores in any way due to additional branching and testing. New builtins: - StoreOwnIC{TTrampoline|Baseline|_NoFeedback} is now used for StaNamedOwnProperty. Unlike the regular StoreIC, this variant will no longer look up the property name in the prototype. In adddition, this CL changes an assumption that StoreNamedOwnProperty can't result in a map transition, as we can't rely on the property already being present in the Map due to an object literal boilerplate. In the context of class features, this replaces the runtime function %CreateDataProperty(). - KeyedDefineOwnIC{Trampoline|Baseline|_Megamorphic} is used by the new StaKeyedPropertyAsDefine bytecode. This is similar to an ordinary KeyedStoreIC, but will not check the prototype for setters, and for private fields, will take the slow path if the field already exists. In the context of class features, this replaces the runtime function %AddPrivateField(). TurboFan IR: - JSDefineProperty is introduced to represent a situation where we need to use "Define" semantics, in particular, it codifies that we do not consult the prototype chain, and the semantics relating to private fields are implied as well. R=leszeks@chromium.org, syg@chromium.org, rmcilroy@chromium.org Bug: v8:9888 Change-Id: Idcc947585c0e612f9e8533aa4e2e0f8f0df8875d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2795831Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Michael Stanton <mvstanton@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Joyee Cheung <joyee@igalia.com> Cr-Commit-Position: refs/heads/main@{#77377}
-
- 23 Sep, 2021 2 commits
-
-
Shu-yu Guo authored
'#x in expr' currently parses incorrectly and associates #x as an operand of an existing binary expression continuation if the previous operator was of higher precedence. For example, 0 << #x in foo gets incorrectly parsed as (0 << #x) in foo. Bug: v8:12259, v8:12086 Change-Id: Ie37ff49ff6e63b3ea91fd0fba6bc73ec839c580b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3176506Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#77020}
-
Jakob Gruber authored
The proposal has changed and we'll start on the new implementation from scratch. Bug: v8:11935, v8:7467 Change-Id: I29e39a414027d80fd91764ce02a05d7c032a41f7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3178964 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#77016}
-
- 02 Sep, 2021 1 commit
-
-
legendecas authored
Removes outdated type-error throwing on TypedArray.prototype.set when the first argument is a number. Bug: v8:11294 Change-Id: Ida3a46dec154b645620e2b064ded7a18de238649 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3136773Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/main@{#76631}
-
- 01 Sep, 2021 1 commit
-
-
Jakob Kummerow authored
When an attempt to parse a huge string to a BigInt fails, then including the entire string in it makes the exception's message unwieldy, so this patch puts only the first 1000 characters of such invalid strings into the exception message. Bug: chromium:1245239 Change-Id: I2c62f0d34256653ba67da9666e8c5a1a4bbe0599 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3133142 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Mathias Bynens <mathias@chromium.org> Cr-Commit-Position: refs/heads/main@{#76619}
-
- 09 Aug, 2021 1 commit
-
-
Camillo Bruni authored
This is a partial fix to mitigate immediate issues. The code needs some overhaul to match the recent spec changes. Drive-by-fix: Partially update comments to match spec Bug: v8:11949 Change-Id: I6b03d38c758176e29e8951af21c43d030bbb684d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3075360 Commit-Queue: Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#76172}
-
- 06 Aug, 2021 1 commit
-
-
Jakob Kummerow authored
Firstly, the fast path checking for applicability of the equality "A/B = 0 with remainder A" must use the condition "A<B", not "A<=B". Secondly, *all* early return paths must ensure that enough padding '0' characters are written. Fixed: chromium:1236694 Bug: v8:11515 Change-Id: I3fa7e17f5f3969ddbb5417b53abf3bff3fc1355b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3075365Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#76139}
-
- 02 Aug, 2021 2 commits
-
-
Mythri A authored
stress_flush_bytecode controls stress flushing of both bytecode and baseline code. So rename the flag to better reflect its functionality Bug: v8:11947 Change-Id: Ie6c124a476c3a7c6eabd1d75de030ee15fe78e32 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3062567 Commit-Queue: Mythri Alle <mythria@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#76043}
-
Jakob Kummerow authored
Regressed in crrev.com/152ecad8. Fixed: chromium:1234931 Change-Id: I8f2b603a914fccaeaeb3dcffa63070cf8fb6f0e3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3064604 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Georg Neis <neis@chromium.org> Auto-Submit: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Georg Neis <neis@chromium.org> Cr-Commit-Position: refs/heads/master@{#76033}
-
- 29 Jul, 2021 1 commit
-
-
legendecas authored
This proposal reached Stage 3 at the July 2021 TC39. https://github.com/tc39/proposal-array-find-from-last Bug: v8:11990 Change-Id: I1364b46b7ed4bc56e4b3024d14bde799f9878b5a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3037160 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#76007}
-
- 27 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
It was previously only passed to compilation units in src/bigint/, but inconsistencies arise when it's not passed to other compilation units that #include src/bigint/bigint.h. Fixed: chromium:1233397 Change-Id: Idb310d8c13bad12766699086574aa2c3869eb56c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3056452Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75941}
-
- 26 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
Bug: v8:11515 Change-Id: I1353726c9e81c3601258202fe56c05ffd16a4a25 Fixed: chromium:1232733 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3054112Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75927}
-
- 23 Jul, 2021 1 commit
-
-
legendecas authored
According to the spec https://tc39.github.io/proposal-error-cause, the property 'cause' should not present on Error.prototype. Bug: v8:12006 Change-Id: Ib1601769793b808c5f5a7065effcc77d1def4cbb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3037911Reviewed-by:
Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#75872}
-
- 22 Jul, 2021 1 commit
-
-
Shu-yu Guo authored
RegExp match indices have shipped since M90 Bug: v8:9548 Change-Id: I8bf54ce1a50b5079aad71140f75c979a09aae5bb Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3042842 Auto-Submit: Shu-yu Guo <syg@chromium.org> Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Cr-Commit-Position: refs/heads/master@{#75848}
-
- 16 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
When the FFT multiplication algorithm invokes itself for the recursive steps, the input is "mod Fn"-normalized, i.e. it is at most of the shape (1 << N), but we only read N bits of it, so in the rare case where it was exactly 1 << N, that lone top bit was ignored, leading to an incorrect result of the overall multiplication. Fixed: chromium:1228267 Change-Id: I7b245fc3701696d95e5d75fb970f02d72ce40ff8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3032081Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75755}
-
- 12 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
A single ClusterFuzz report flushed out two minor issues in the bit fiddling routines. Bug: chromium:1227752,v8:11515 Change-Id: I16ab914b7c3859f55aa141ced371dd80171d0cb5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3017809Reviewed-by:
Maya Lekova <mslekova@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75678}
-
- 01 Jul, 2021 1 commit
-
-
Jakob Kummerow authored
When adding up the results of the recursive steps, the Karatsuba algorithm can temporarily have intermediate results that are one bit bigger than the final result. This patch makes sure we handle that case correctly. Since that extra bit would always get subtracted again, the old code would not have caused incorrect results or memory corruption, but it did run into DCHECK-failures, and potentially could have caused segfaults. Bug: v8:11515, chromium:1223724 Change-Id: I3592835d01cc36def8f0a9bae625e9249864ef78 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2988758Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#75509}
-
- 17 Jun, 2021 1 commit
-
-
Toon Verwaest authored
This also removes intrinsics that were just used in tests. It keeps InlineIncBlockCounter for now because it's a less straightforward. Change-Id: I77e55d7a746294892d0fd7ab577ebf8eb42f1f08 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2953195 Commit-Queue: Toon Verwaest <verwaest@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#75217}
-
- 15 Jun, 2021 1 commit
-
-
Jakob Kummerow authored
No changes to the algorithm; minor speedup due to the move from Handle<BigInt> to Digits. Bug: v8:11515 Change-Id: Id85fe4f0c276d3ad826fee79205719092d0e0715 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2947412 Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#75158}
-
- 01 Jun, 2021 1 commit
-
-
Camillo Bruni authored
- 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}
-
- 31 May, 2021 1 commit
-
-
Victor Gomes authored
Bug: chromium:1213927 Change-Id: I11729540d9f20b437411f0b9f8077be2a7f066b3 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2922117Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Cr-Commit-Position: refs/heads/master@{#74850}
-
- 18 May, 2021 3 commits
-
-
Jakob Gruber authored
The test relies on deterministic GC behavior. Bug: v8:11771 Change-Id: I4c04f683ca51e0849e11736c97a2f2342977cc36 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2902735 Auto-Submit: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#74639}
-
Shu-yu Guo authored
Bug: v8:11719 Change-Id: Ib9064e09a77b03adc1234e2f1739983cdab24113 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2898778 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#74619}
-
Shu-yu Guo authored
Bug: v8:11718 Change-Id: If903f5e336729fa55bec03acef40025ce20d6ce7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2898176Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#74614}
-
- 06 May, 2021 1 commit
-
-
Daniel Clark authored
It turns out that KeyAccumulator::GetKeys will fail if the object it is operating on is a Proxy with an ownKeys() or getOwnPropertyDescriptor() trap that throws. Handle this case in Isolate::GetImportAssertionsFromArgument by bailing out early. Bug: v8:11730 Change-Id: I363bf2d218f6ba7eeb2001cd644f5529901fdb3e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2875541Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Dan Clark <daniec@microsoft.com> Cr-Commit-Position: refs/heads/master@{#74417}
-
- 23 Apr, 2021 1 commit
-
-
Leszek Swirski authored
The ToString intrinsic isn't used anymore, since there is now a ToString bytecode, so we can remove it. Change-Id: I5ed121ae4d117660e1ee8a64a2b30e1fb054a886 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2848465 Auto-Submit: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#74151}
-
- 08 Apr, 2021 2 commits
-
-
Antoine du Hamel authored
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}
-
Victor Gomes authored
https://github.com/tc39/proposal-error-cause Bug: chromium:1192162 Change-Id: If6e2d1f105bb520104bb832ccbc7f660bb8115a1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2784681 Auto-Submit: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#73855}
-
- 19 Mar, 2021 1 commit
-
-
Shu-yu Guo authored
This CL implements https://github.com/tc39/proposal-top-level-await/pull/159, which reached consensus at the March 2021 TC39. The high-level intent is for parent modules that depend on async modules to remember the DFS post-order such that when their async dependency finishes, they execute in that original post-order. This aligns the ordering between completely sync module graphs and async module graphs. Bug: v8:11557 Change-Id: I5bd8f38f040115c255ca1ce8253b9686fdb4af03 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2757901 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73551}
-
- 15 Mar, 2021 1 commit
-
-
Shu-yu Guo authored
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}
-
- 18 Feb, 2021 1 commit
-
-
Shu-yu Guo authored
Stage 3 proposal: https://github.com/tc39/proposal-class-static-block Bug: v8:11375 Change-Id: I579adab4679cce0190b9d8bd814a7cd297ebfa15 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2699449Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72847}
-
- 11 Feb, 2021 1 commit
-
-
Marja Hölttä authored
Notes: https://docs.google.com/document/d/1fEumNPCcOn4X0N5jGlAT7GQ5CEKKnw0YxLPXMoaSK5Q/edit?usp=sharing Bug: v8:11374 Change-Id: I96720c0d69fe28e7229c4c22ed3d291587b73f59 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667511 Commit-Queue: Marja Hölttä <marja@chromium.org> Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72659}
-
- 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}
-
- 04 Feb, 2021 1 commit
-
-
Frank Emrich authored
For dictionary mode objects, whether or not a property is constant was not tracked before. This CL makes the required non-Turbofan changes, guarded behind the new flag V8_DICT_PROPERTY_CONST_TRACKING. In addition, prototypes are not converted to fast mode objects if this flags is enabled. Bug: v8:11247 Change-Id: Ia5942733239a97560b6efc015f0e25a35fea3d7a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2566757 Commit-Queue: Frank Emrich <emrich@google.com> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72524}
-
- 03 Feb, 2021 1 commit
-
-
Shu-yu Guo authored
There is a bug in the top-level await spec draft such that async strongly connected components are not always evaluated before their depending modules. See https://github.com/tc39/proposal-top-level-await/pull/161 for full discussion and spec fix. Bug: v8:11376 Change-Id: I88bf06afb2e9a5d8d0b757de8276f1d1242a875e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2667772Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Commit-Queue: Shu-yu Guo <syg@chromium.org> Cr-Commit-Position: refs/heads/master@{#72508}
-
- 26 Jan, 2021 3 commits
-
-
Marja Hölttä authored
Details: https://docs.google.com/document/d/1-Gi37Ks7rXMVVRkC_HkwGxenP7T1huQUOMrYOtkUCFk/edit?usp=sharing Bug: v8:11340 Change-Id: Ia1d75270373a7ef2307e7ee0fd24da9ecfa27d18 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2643381Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72315}
-
Daniel Clark authored
This change completes support for import assertions for dynamic import(). A new version of the HostImportModuleDynamically callback taking import assertions is added to the public API. The name is very verbose; we could consider removing the "ImportAssertions" part when the old API is removed. Bytecode generation is updated to pass the assertions, if present, to Runtime_DynamicImportCall. Isolate::RunHostImportModuleDynamicallyCallback extracts the assertions from the options bag, filters out the assertions not present in the list specified by the host in HostGetSupportedImportAssertions, and sorts them by code point order of the keys per https://tc39.es/proposal-import-assertions/#sec-import-call-runtime-semantics-evaluation. The resulting array is passed to the host in the callback. Bug: v8:10958 Change-Id: I931df00f954a9f9c65bff5bcf461ba1c8f11e94e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2620578 Commit-Queue: Dan Clark <daniec@microsoft.com> Reviewed-by:
Camillo Bruni <cbruni@chromium.org> Reviewed-by:
Mythri Alle <mythria@chromium.org> Reviewed-by:
Marja Hölttä <marja@chromium.org> Cr-Commit-Position: refs/heads/master@{#72307}
-
Shu-yu Guo authored
This CL implements the upcoming spec change: https://github.com/tc39/proposal-regexp-match-indices/pull/49 A new JSRegExpResultWithIndices subclass is introduced with a separate map and an extra slot for storing the indices. If /d is passed, exec() constructs a JSRegExpResultWithIndices and eagerly builds indices. The existing re-execution logic is removed. Bug: v8:9548 Change-Id: Ic11853e7521017af5e8bd583c7b82bb672821132 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2616873 Commit-Queue: Shu-yu Guo <syg@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Toon Verwaest <verwaest@chromium.org> Cr-Commit-Position: refs/heads/master@{#72306}
-
- 21 Jan, 2021 1 commit
-
-
Camillo Bruni authored
Change-Id: I3eaa9c7e80bea7748dc28ec4ff09fecbdd7a434d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2639767Reviewed-by:
Victor Gomes <victorgomes@chromium.org> Commit-Queue: Camillo Bruni <cbruni@chromium.org> Cr-Commit-Position: refs/heads/master@{#72220}
-
- 24 Nov, 2020 1 commit
-
-
Gus Caplan authored
Bug: v8:10961 Change-Id: I3746dca570de005d203a2648dcffedd81122f215 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2553157Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Reviewed-by:
Shu-yu Guo <syg@chromium.org> Commit-Queue: Gus Caplan <snek@chromium.org> Cr-Commit-Position: refs/heads/master@{#71377}
-