- 25 Feb, 2021 20 commits
-
-
Ng Zhi An authored
Bug: v8:11346 Change-Id: I95a82da62feb6c42562f655f954407ad58c4ca33 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718660Reviewed-by: Deepti Gandluri <gdeepti@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73055}
-
pthier authored
VLQ encoding was implemented in TranslationArray and Sparkplug PC <-> bytecode mapping. This CL introduces new VLQ helper methods used in both. Bug: v8:11429 Change-Id: I89d9777eab4ad28f08e5957421b63df07e37f9cc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2704674Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Patrick Thier <pthier@chromium.org> Cr-Commit-Position: refs/heads/master@{#73054}
-
Hannes Payer authored
Change-Id: Ib1c871098a9f39cd9db445f18a387d42583afe5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712758Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73053}
-
Hannes Payer authored
Change-Id: I0005fe0ed7b9f00fd074161d355da430b85675ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2714703Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73052}
-
Hannes Payer authored
Change-Id: I86b0d01ed283f97cde2f3d71df68c3a75107c61d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712906Reviewed-by: Adam Klein <adamk@chromium.org> Commit-Queue: Hannes Payer <hpayer@chromium.org> Cr-Commit-Position: refs/heads/master@{#73051}
-
Hannes Payer authored
Change-Id: Ib54d5abad3e67f74d1930af135778e1f201ba28f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712964 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73050}
-
Hannes Payer authored
Change-Id: I1acfd953b9ea4dd09edd8b9e6e170e94427dfeb9 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712757 Commit-Queue: Hannes Payer <hpayer@chromium.org> Reviewed-by: Yang Guo <yangguo@chromium.org> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org> Reviewed-by: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73049}
-
Santiago Aboy Solanes authored
We have several ways of doing the Isolate or LocalIsolate calls. Let's unify it to have one consistent way of doing it. Bug: v8:7790 Change-Id: I7d860e918406b07e3b8ab2d46e775a2beb5a4397 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718609Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73048}
-
Leszek Swirski authored
Clean-up and slightly unify the CodeEvent tags: * Remove INTERPRETED_FUNCTION_TAG. It was only used for interpreter trampoline copies, which are used for --interpreted-frames-native-stack. However, even actual bytecode compilation doesn't use INTERPRETED_FUNCTION_TAG, so we can remove it for simplicity. * The tag used by the above is now the same as for the bytecode creation event, i.e. EVAL_TAG, SCRIPT_TAG, FUNCTION_TAG or LAZY_COMPILE, depending on whether this was a script, and eval, an eager or a lazy compile (respectively. * Baseline was also using INTERPRETED_FUNCTION_TAG, so now it does the same thing as above. * Existing code is now logged as FUNCTION_TAG rather than LAZY_COMPILE, because we lost the laziness information. * The SCRIPT_TAG is set based on the SharedFunctionInfo flags, not the compilation flags, so that eager inner functions are labelled as FUNCTION_TAG rather than SCRIPT_TAG. Bug: v8:11420,v8:11429 Change-Id: I0286002674255ff4ba8f5d865df372a3e2975b16 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2713104Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73047}
-
Liu Yu authored
in builtin Port: 68105996 Bug: v8:11377 Change-Id: Ib60f0b0c0c994791e02ebde6ee8519134a3dd9f1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719806 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#73046}
-
v8-ci-autoroll-builder authored
Rolling v8/build: https://chromium.googlesource.com/chromium/src/build/+log/446bf3e..67d73b8 Rolling v8/buildtools: https://chromium.googlesource.com/chromium/src/buildtools/+log/4c78ef9..45fb4c0 Rolling v8/buildtools/third_party/libc++abi/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxxabi/+log/196ba1a..5fb4080 Rolling v8/buildtools/third_party/libunwind/trunk: https://chromium.googlesource.com/external/github.com/llvm/llvm-project/libunwind/+log/a2cc4f8..8d5fb6f Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/81c9d30..a34cee3 Rolling v8/third_party/depot_tools: https://chromium.googlesource.com/chromium/tools/depot_tools/+log/5fe664f..fb09de2 Rolling v8/tools/clang: https://chromium.googlesource.com/chromium/src/tools/clang/+log/cfd0f62..823927c TBR=v8-waterfall-sheriff@grotations.appspotmail.com Change-Id: I9815099eca93e82385b8a4a417c4a1cf28802eed Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717935Reviewed-by: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Commit-Queue: v8-ci-autoroll-builder <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#73045}
-
Santiago Aboy Solanes authored
Rename string_access to internalized_string_access and transition_array_access to full_transition_array_access. Bug: v8:7790 Change-Id: I225f90d4c0d6ddac1f15796848428bc962a2420f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718145Reviewed-by: Georg Neis <neis@chromium.org> Reviewed-by: Jakob Gruber <jgruber@chromium.org> Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org> Cr-Commit-Position: refs/heads/master@{#73044}
-
Lutz Vahl authored
TBR=hablich@chromium.org, vahl@chromium.org Change-Id: Ibbae1509e1f546c77d4ef21d42386af44f1005c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718607Reviewed-by: Lutz Vahl <vahl@chromium.org> Commit-Queue: Lutz Vahl <vahl@chromium.org> Cr-Commit-Position: refs/heads/master@{#73043}
-
Victor Gomes authored
Change-Id: I59b26323bd8d2fd35379fb73c799943315d5422b Bug: v8:11502 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719564 Commit-Queue: Victor Gomes <victorgomes@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Victor Gomes <victorgomes@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73042}
-
Dan Elphick authored
Remove most dependencies on v8_wrappers. The remainder all depend on v8_libbase anyway, so just fold it into that target which removes a gn check error. Also removes v8_wrappers from the fuzzers where it's not used. Bug: v8:7330 Change-Id: I916806b62f8c49cc1d50ef493aa900e30fc623aa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2716383 Commit-Queue: Dan Elphick <delphick@chromium.org> Commit-Queue: Ulan Degenbaev <ulan@chromium.org> Auto-Submit: Dan Elphick <delphick@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#73041}
-
Frank Emrich authored
This is a reland of https://chromium-review.googlesource.com/c/v8/v8/+/2715192. This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL adds the Add, DeleteEntry, Rehash, and Shrink operations, as well as some helpers required by those. Bug: v8:11388 Change-Id: I028dbf3215c76e4f40cba420c125ef25223f252e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719561Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#73040}
-
Ting Shao authored
Optimize the implementation of this method by removing unnecessary bitwise OR operation. Change-Id: Ic16e0d556d7fca6883aed77e592faa2fdd602624 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2709558Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Maya Lekova <mslekova@chromium.org> Cr-Commit-Position: refs/heads/master@{#73039}
-
Michael Achenbach authored
No-Try: true Bug: v8:11437 Change-Id: I589e9695a00bea632fa4cfa7575d902872b41e2b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719559 Auto-Submit: Michael Achenbach <machenbach@chromium.org> Commit-Queue: Simon Zünd <szuend@chromium.org> Reviewed-by: Simon Zünd <szuend@chromium.org> Cr-Commit-Position: refs/heads/master@{#73038}
-
Liu Yu authored
Port: 96a0677a Bug: v8:11477 Change-Id: I438a5b833a9838ffa53d30785cf627f75997d7fc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2719402 Auto-Submit: Liu yu <liuyu@loongson.cn> Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Cr-Commit-Position: refs/heads/master@{#73037}
-
Manos Koukoutos authored
Calling CheckForException through the BUILD macro for almost every invocation of WasmGraphBuilder from graph-builder-interface created multiple issues: - It generated an invalid graph with GetExceptionValues, resulting in us having to hack CallBuiltin(). - It will generate multiple problems with wasm-gc operations. - It needlessly slowed down compilation. Changes: - Remove BUILD macro, call CheckForException directly only for function calls and throws. - Split CheckForException into a fast inline path and a slow non-inline one. - Move BUILD's DCHECK into CHECK_INTERFACE. - Add an early exit to Decode(). - Since we do not need the hack anymore, implement CallBuiltin properly. Change-Id: I38e3c73e0af80894584ce37e2f3bfc90111ac54f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2717304 Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#73036}
-
- 24 Feb, 2021 20 commits
-
-
Ng Zhi An authored
Bug: v8:11086 Change-Id: I214ebd0cc7c3b0379fcd6bc78e131fccf7bfe631 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707776Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73035}
-
Francis McCabe authored
This reverts commit ae153904. Reason for revert: link error in https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20full%20debug/16047/overview Original change's description: > [dict-proto] C++ implementation of SwissNameDictionary, pt. 6 > > This CL is part of a series that adds the C++ implementation of > SwissNameDictionary, a deterministic property backing store based on > Swiss Tables. > > This CL adds the Add, DeleteEntry, Rehash, and Shrink operations, as > well as some helpers required by those. > > Bug: v8:11388 > Change-Id: I81a181e99e679095c2acc877a293e81b6a581db4 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715192 > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Marja Hölttä <marja@chromium.org> > Commit-Queue: Frank Emrich <emrich@google.com> > Cr-Commit-Position: refs/heads/master@{#73020} Bug: v8:11388 Change-Id: I7c83ddfab6055b992f1580e03aae0da31d83ba63 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718662 Auto-Submit: Francis McCabe <fgm@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#73034}
-
Junliang Yan authored
Change-Id: I60683dd37939d330169e3879982a6ac9ca7694a2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718230Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#73033}
-
Ng Zhi An authored
Accidentally omitted this in a previous change https://crrev.com/c/2686013. Extract code sequence into macro-assembler for sharing between Liftoff and TurboFan. Bug: v8:11348 Change-Id: Ia4e9d1e0dc7a7f3a1a21ff1e1745923a847328cf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707773Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73032}
-
Milad Fa authored
Change-Id: I0723febc3e0d18e68bb629ccd2548108aa662bf5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718472Reviewed-by: Junliang Yan <junyan@redhat.com> Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73031}
-
Ng Zhi An authored
arm64 is straightforward, for arm we extract the code sequence into a macro-assembler function. Bug: v8:11416 Change-Id: I6dddcee700c497e29f1ee8094cd81adfb1df2f4e Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707769Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73030}
-
Zhi An Ng authored
This reverts commit ea818f07. Reason for revert: Test failure in Linux64 UBSan https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux64%20UBSan/15251/overview Original change's description: > cppgc: Fix testing APIs that enable garbage collection > > The APIs require that the CppHeap is moved into a permanently detached > state that moves the heap out of a no-gc scope. > > Bug: chromium:1056170 > Change-Id: I1fc08451b3fdfaa4cfe58e6a1ddbe5dbed7efe5c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718146 > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73025} Bug: chromium:1056170 Change-Id: Id00cb18274cbe7d255e7e95bd9e8e4dbc4b0c6e7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718658 Auto-Submit: Zhi An Ng <zhin@chromium.org> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Francis McCabe <fgm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73029}
-
Ng Zhi An authored
Bug: v8:11086 Change-Id: I67f7aaeb1151b14678d6257a195efd19c86c5fbf Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2707775Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#73028}
-
Milad Fa authored
We also define the getters and setters for the newly defined registers and their lanes. Change-Id: I1da9caed5f2f2d9ce79f43d9f70dc994f2200bff Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718468Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73027}
-
Junliang Yan authored
Change-Id: Idc8d4e8d99b1a1e82af4c06940c3ca19f103d09f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718470Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#73026}
-
Michael Lippautz authored
The APIs require that the CppHeap is moved into a permanently detached state that moves the heap out of a no-gc scope. Bug: chromium:1056170 Change-Id: I1fc08451b3fdfaa4cfe58e6a1ddbe5dbed7efe5c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718146 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73025}
-
Austin Eng authored
- Add a CFunctionBuilder interface to allow adding modifier flags to argument types. This will be used to support IDL attributes like [EnforceRange], [Clamp], and [AllowShared]. This CL adds only the interface, but the actual modifier flags do not exist yet as they would not be implemented. - Remove the internals of the old CFunction type inference and implement it on top of CFunctionBuilder. Bug: chromium:1052746 Change-Id: I09a7cba07105097517a8426a8eeb891393883ac6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2686686Reviewed-by: Toon Verwaest <verwaest@chromium.org> Reviewed-by: Maya Lekova <mslekova@chromium.org> Commit-Queue: Austin Eng <enga@chromium.org> Cr-Commit-Position: refs/heads/master@{#73024}
-
Omer Katz authored
Two threads might get the same PersistentNode because the BasicCrossThreadPersistent ctor wasn't taking a lock. Then if one thread frees the node and the other initalizes it or updates its owner, we get some random object in our free list of PersistentNodes. I debug a crash in Assign(Unsafe) and Clear where the PersistentNode seemed to be allocated on stack. Empirically, adding this guard resolved it. I can't confirm in the code that the scenario above is what was happening. Drive-by: adding a few DCHECKs. Bug: chromium:1056170 Change-Id: I37d8ed5bb942a124c98d7524b7f04fe8ccb2aefd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718144 Commit-Queue: Omer Katz <omerkatz@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#73023}
-
Igor Sheludko authored
... to match what the builtin expects. Bug: v8:11499, v8:11429 Change-Id: I6e784f6c5109f8d92446e98b8abb7274d5a166a4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718151 Commit-Queue: Igor Sheludko <ishell@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Auto-Submit: Igor Sheludko <ishell@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73022}
-
Milad Fa authored
Change-Id: I9b40a06bdfd3b38aa25d05f2c3b8605f480b1236 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718465Reviewed-by: Junliang Yan <junyan@redhat.com> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#73021}
-
Frank Emrich authored
This CL is part of a series that adds the C++ implementation of SwissNameDictionary, a deterministic property backing store based on Swiss Tables. This CL adds the Add, DeleteEntry, Rehash, and Shrink operations, as well as some helpers required by those. Bug: v8:11388 Change-Id: I81a181e99e679095c2acc877a293e81b6a581db4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715192Reviewed-by: Igor Sheludko <ishell@chromium.org> Reviewed-by: Marja Hölttä <marja@chromium.org> Commit-Queue: Frank Emrich <emrich@google.com> Cr-Commit-Position: refs/heads/master@{#73020}
-
Thibaud Michaud authored
This was staged through a back-merge in v8.9. Also stage it for the upcoming v9.0 release. R=clemensb@chromium.org Bug: v8:8091 Change-Id: Ib9e8c33ca258c8b9e407fbcca5db9f0227b558b5 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718150Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73019}
-
Seth Brenith authored
Currently, some ScopeInfo fields are defined as indexed fields with a length of either one or zero, because the field might be present or it might not. Based on comments in https://crrev.com/c/v8/v8/+/2601880 , this strategy is not sustainable and we need a better way to represent optional fields so that we don't have to pass zero when accessing their only element. This change is a proposal to fix that problem. Syntax: I'm proposing using a question mark because TypeScript does, and Torque syntax looks somewhat like TypeScript. I don't feel strongly about this though, and I'm open to other suggestions. field_name?[condition_expression]: FieldType; Internal Torque compiler representation: Internally, I've updated the Torque compiler to still treat these fields as indexed, but with an extra flag saying they're optional. When getting a LocationReference for a field access expression on an optional field, Torque produces a Slice like it would for any other indexed field and subsequently calls AtIndex(0) to get a Reference. AtIndex can crash the process if the index is out of bounds (which is good), so some other parts of the Torque compiler need minor adjustments so that it doesn't take references to optional fields unless it actually needs them. Initialization: This proposal doesn't include any changes to initialization logic, so an optional field can still be initialized using '...' and an iterator. Perhaps we could introduce an Optional<T> struct for prettier initialization in a future change. Bug: v8:7793 Change-Id: I37649495f4c259e685261f53e4cf2859da66a31f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2706306 Commit-Queue: Seth Brenith <seth.brenith@microsoft.com> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#73018}
-
Junliang Yan authored
Port 96a0677a The precise type is only used for validation. For code generation, knowing the kind is more than enough. Hence, only store and pass the ValueKind in Liftoff, and not the full ValueType. Change-Id: Ia3a07df393b2f93d8d8c51bd41b3bd3a3bd6c6fe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715987Reviewed-by: Milad Fa <mfarazma@redhat.com> Commit-Queue: Junliang Yan <junyan@redhat.com> Cr-Commit-Position: refs/heads/master@{#73017}
-
Thibaud Michaud authored
This reverts commit 1db61fb3. Reason for revert: https://ci.chromium.org/ui/p/v8/builders/ci/V8%20Linux%20-%20debug/34083/overview Original change's description: > [wasm][eh] Stage exception handling > > This was staged through a back-merge in v8.9. Also stage it for the > upcoming v9.0 release. > > R=ahaas@chromium.org > > Bug: v8:8091 > Change-Id: Ie9e6d25bbc5d428e5c9128345209f95f2078b733 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2715524 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#73013} Bug: v8:8091 Change-Id: I18b9706e8aab4883a3d3c120a6cd06e7232aecf7 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2718148 Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#73016}
-