| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
[wasm][liftoff][growable-stacks] Do not change cache state in branch GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=jkummerow@chromium.org Fixed: 452079504 Change-Id: I96e5703b3f0a6f1e25f5cc54175e8574c1594e6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7117263 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#103510} | 7 个月前 | |
[wasm][liftoff][growable-stacks] Do not change cache state in branch GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=jkummerow@chromium.org Fixed: 452079504 Change-Id: I96e5703b3f0a6f1e25f5cc54175e8574c1594e6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7117263 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#103510} | 7 个月前 | |
[wasm][liftoff][growable-stacks] Do not change cache state in branch GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=jkummerow@chromium.org Fixed: 452079504 Change-Id: I96e5703b3f0a6f1e25f5cc54175e8574c1594e6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7117263 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#103510} | 7 个月前 | |
[loong64][wasm][liftoff][growable-stacks] Do not change cache state in branch Port commit a5a3253e03dbdf7b42c6c680808a19e82cc44b55 Change-Id: I96be22558f95e4242d7ca34df97b44e99fd6c328 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7123643 Reviewed-by: Zhao Jiazhong <zhaojiazhong-hf@loongson.cn> Commit-Queue: Liu Yu <liuyu@loongson.cn> Cr-Commit-Position: refs/heads/main@{#103522} | 7 个月前 | |
[wasm] Remove nondeterminism detection in Liftoff We now have determinism within the same platform even in the presence of NaNs (https://crbug.com/431593798), and the previous Liftoff nondeterminism detection is disabled since a while. This CL removes it. R=jkummerow@chromium.org Bug: 448768896 Change-Id: I7f6508d7b262c04e763d6bbf3072d75cd583dbb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7002928 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#102903} | 8 个月前 | |
PPC/s390: [wasm][liftoff][growable-stacks] Do not change cache state in branch Port a5a3253e03dbdf7b42c6c680808a19e82cc44b55 Original Commit Message: GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=thibaudm@chromium.org, junyan1@ibm.com BUG= LOG=N Change-Id: I9cb8df59fc53092f78bfee0c3c298fb7708dbdac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7119884 Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@ibm.com> Reviewed-by: Junliang Yan <junyan1@ibm.com> Cr-Commit-Position: refs/heads/main@{#103531} | 7 个月前 | |
[riscv] Use amo* instr in codegen Change-Id: I9a84eb93e7c877f3f549c15cf36f5ea35cb75358 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7138845 Auto-Submit: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Reviewed-by: Kasper Lund <kasperl@rivosinc.com> Commit-Queue: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Reviewed-by: Florian Loitsch <floitsch@rivosinc.com> Cr-Commit-Position: refs/heads/main@{#103669} | 7 个月前 | |
PPC/s390: [wasm][liftoff][growable-stacks] Do not change cache state in branch Port a5a3253e03dbdf7b42c6c680808a19e82cc44b55 Original Commit Message: GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=thibaudm@chromium.org, junyan1@ibm.com BUG= LOG=N Change-Id: I9cb8df59fc53092f78bfee0c3c298fb7708dbdac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7119884 Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Milad Farazmand <mfarazma@ibm.com> Reviewed-by: Junliang Yan <junyan1@ibm.com> Cr-Commit-Position: refs/heads/main@{#103531} | 7 个月前 | |
[wasm][liftoff][growable-stacks] Do not change cache state in branch GetUnusedRegister potentially spills and changes the cache state, so call it before the branch in LoadOldFramePointer on x64/ia32. This was done correctly on other archs. R=jkummerow@chromium.org Fixed: 452079504 Change-Id: I96e5703b3f0a6f1e25f5cc54175e8574c1594e6a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7117263 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/main@{#103510} | 7 个月前 | |
[riscv] improve calls/jumps to avoid RAS pollution The RISC-V Unprivileged ISA specification (20191213) describes Return-address stack (RAS) prediction hints in Table 2.1. The patch makes several changes to not use t0(x5) at all as the source register for JALR instruction. This allows to avoid pollution of RAS stack with unintentional RAS-pop and RAS-pop-then-push operations. Added assertions into MacroAssembler::Call/Jump to check the invariant. All the changes have been done incrementally with usage of the above assertions and V8 regression tests till the results are green. Performance testing with kraken/octane/sunspider didn't show observable improvements/regressions but hopefully the patch would still be helpful. Change-Id: I9ddc9eac9553b09cb4a642915c6a43cc4fdede3a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6562942 Reviewed-by: Daniel Lehmann <dlehmann@chromium.org> Reviewed-by: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Commit-Queue: Yahan Lu (LuYahan) <yahan@iscas.ac.cn> Cr-Commit-Position: refs/heads/main@{#100681} | 1 年前 | |
[cleanup] Fix inl header includes We have many inl headers which either do not include their non-inl header, or are including other headers first. Both can lead to compile errors because definitions of inline functions might not be visible in inl headers. This CL adds a script to fix those includes, and runs it over the whole code base. R=leszeks@chromium.org Change-Id: I1b7b04c59e5a5b89308512bfc40729f7ec4afc38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6387805 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#99453} | 1 年前 | |
[base] SmallVector: Perform default-initialization in more cases This change implements proper default-construction for implicit lifetime types which are not trivially default-constructible (e.g. because the default constructor is user-defined.) This change forbids using SmallVector(size_t) and resize(size_t) for types which are not default-constructible. As there are non-default-constructible types using SmallVector to get "uninitialized" memory that will later be overwritten, a new function resize_no_init(size_t) is added for these cases to document the "surprising" behavior more explicitly in these cases. This change solves the issue that base::SmallVector<OpIndex, n> did not call the non-trivial default constructor when growing. Change-Id: I6b0365835f55351d8170b8b85d3ac8854ebeabc8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7046584 Auto-Submit: Matthias Liedtke <mliedtke@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#103245} | 8 个月前 | |
[wasm] Remove nondeterminism detection in Liftoff We now have determinism within the same platform even in the presence of NaNs (https://crbug.com/431593798), and the previous Liftoff nondeterminism detection is disabled since a while. This CL removes it. R=jkummerow@chromium.org Bug: 448768896 Change-Id: I7f6508d7b262c04e763d6bbf3072d75cd583dbb6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7002928 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#102903} | 8 个月前 | |
[wasm][compilation-hints] Write compilation hints to stdout and file We generate the compilation-hints sections from a module, based on collected feedback, behind a couple of new flags. Namely: - We generate the compilation-priority section based on whether a function was compiled and/or marked for tierup. We always generate a 0 compilation priority if the function was compiled, and a 0 optimization priority if it was also marked for tierup. Note that we do not actually tier up in this configuration. - We generate the instruction-frequencies and call-targets sections based on collected liftoff feedback. The flag --wasm-generate-compilation-hints writes a proper wasm module to a file, containing only the new sections. The flag --trace-wasm-generate-compilation-hints emits a textual representation of these sections to stdout. Bug: 405952385 Change-Id: Ibb89123966c4ed3ced77fcefd028f535495f2b30 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7157372 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#103947} | 7 个月前 | |
[wasm] Use designated initialization for LiftoffOptions Remove the setter logic and use standard C++ designated initialization (C++20) instead. R=jkummerow@chromium.org Change-Id: I977001937467766cf8747da4ab326f26527d436b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/7021156 Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Reviewed-by: Matthias Liedtke <mliedtke@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#103033} | 8 个月前 | |
[cleanup] Modernize std::*::value and ::type Mechanically replacing std::foo<X>::value with std::foo_v<X>, and the same for ::type -> _t. Change-Id: I543dda07ba4c95534cdcd51f1f438f2626be8273 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6491388 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#99940} | 1 年前 | |
[deoptimizer][wasm] Add int64 lowering for FrameState inputs On Turbofan side int64 values need to be lowered to multiple int32 inputs. Unfortunatly, in liftoff, this works slightly differently in the way that int64s aren't replaced but instead there is some special handling for int64 values which use register pairs that are treated as a single value. This way, the deoptimizer now has to handle different input and output counts: For every int64 input, the FrameState has two inputs while Liftoff has one LiftoffVarState. Bug: 42204618 Change-Id: Ia32db24b4a41e8840b8dfb6e1b7dca11a3d6e66a Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5683545 Commit-Queue: Matthias Liedtke <mliedtke@chromium.org> Auto-Submit: Matthias Liedtke <mliedtke@chromium.org> Reviewed-by: Manos Koukoutos <manoskouk@chromium.org> Cr-Commit-Position: refs/heads/main@{#94928} | 1 年前 | |
[cleanup] Fix inl header includes We have many inl headers which either do not include their non-inl header, or are including other headers first. Both can lead to compile errors because definitions of inline functions might not be visible in inl headers. This CL adds a script to fix those includes, and runs it over the whole code base. R=leszeks@chromium.org Change-Id: I1b7b04c59e5a5b89308512bfc40729f7ec4afc38 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6387805 Reviewed-by: Leszek Swirski <leszeks@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#99453} | 1 年前 | |
[liftoff] Fix wrong DCHECK The DCHECK was a condition before https://crrev.com/c/5816951. Turn it back into one and add a comment. R=thibaudm@chromium.org Fixed: 363019801 Change-Id: I585dc4b8ead4c5c04030565473d25bf55322173b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5833499 Reviewed-by: Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#95941} | 1 年前 | |
Remove std::aligned_storage. This is deprecated in C++23. Bug: 388068052 Change-Id: I212e558abf77ea9074a00c45878647590624dfca Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/6149676 Commit-Queue: Peter Kasting <pkasting@chromium.org> Reviewed-by: Matthias Liedtke <mliedtke@chromium.org> Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/main@{#98045} | 1 年前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 7 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 8 个月前 | ||
| 8 个月前 | ||
| 7 个月前 | ||
| 8 个月前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 | ||
| 1 年前 |