- 22 Jun, 2020 1 commit
-
-
Anton Bikineev authored
This allows the implementation of different stack scanning mechanisms in V8 (e.g. conservative scanning) while re-using the stack walking API. Change-Id: I9b9c3b8ffe5d527ca3f7105776821776b509b187 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2238194 Commit-Queue: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Cr-Commit-Position: refs/heads/master@{#68457}
-
- 06 Apr, 2020 3 commits
-
-
Michael Lippautz authored
With this change we support allocation of objects and keeping them alive via conservative stack scan. This reverts commit 2b047a58. Change-Id: Iac1913e7ef0556c28399509a160777a89e60150c Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2137402 Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67016}
-
Nico Hartmann authored
This reverts commit 44a1ed8f. Reason for revert: https://ci.chromium.org/p/v8/builders/ci/V8%20Linux%20gcc/6124? Original change's description: > cppgc: Integrate conservative stack scan into GC > > With this change we support allocation of objects and keeping them alive via > conservative stack scan. > > Change-Id: Id94d7ced503ad0b1378643e0c13c2a8b65ad2327 > Bug: chromium:1056170 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135729 > Reviewed-by: Omer Katz <omerkatz@chromium.org> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org> > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#67008} TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,bikineev@chromium.org,omerkatz@chromium.org Change-Id: I71bf7a9b7f54f0ec8d64b1b1781699adb0feb138 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2137401Reviewed-by: Nico Hartmann <nicohartmann@chromium.org> Commit-Queue: Nico Hartmann <nicohartmann@chromium.org> Cr-Commit-Position: refs/heads/master@{#67009}
-
Michael Lippautz authored
With this change we support allocation of objects and keeping them alive via conservative stack scan. Change-Id: Id94d7ced503ad0b1378643e0c13c2a8b65ad2327 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135729Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#67008}
-
- 03 Apr, 2020 1 commit
-
-
Michael Lippautz authored
Add support for ia32 Windows using clang. Change the callback function from a member function to a free function. This the compiler generating thiscall calling convention for the member function which allows for keeping the asm trampoline uniform. Bug: chromium:1056170 Change-Id: Ic8fcac27a628a0de026d8fe7d2e376c8f58a1737 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2134136Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66975}
-
- 02 Apr, 2020 1 commit
-
-
Michael Lippautz authored
Use inline asm to generate the x64 PushAllRegistersAndIterateStack which is the trampoline for conservative stack scanning. Keep the function definition as C code to allow clang to generate the correct mangling for each platform. This approach has the benefit that it immediately works for all platforms that support clang. Bug: chromium:1056170 Change-Id: Ic7a1c1b57e67ae1442bd8bda4e55d89112facfc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132787Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66958}
-
- 01 Apr, 2020 2 commits
-
-
Michael Lippautz authored
The trampoline should never inline the actual iteration method and always use a full call. As a result, there can be no interesting data in the redzone. This allows simplifying as the existence and size of a red zone is platform dependent. Bug: chromium:1056170 Change-Id: I38d686b0e60fdcc383c40a45e7a81ec0e91f4d62 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132788Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66955}
-
Michael Lippautz authored
Even though the default toolchain for assembly on Windows uses MASM assemblers, we are not supposed to use them to support Linux/Win cross-compile. Bug: chromium:1056170, chromium:1066834 Change-Id: If17dbd68915f843e3fb47584560a4667d5c35bc7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2132250Reviewed-by: Anton Bikineev <bikineev@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66951}
-
- 31 Mar, 2020 4 commits
-
-
Michael Lippautz authored
Bug: v8:10370 Change-Id: Ia20388951ce420bdcd47d3c884ce762b87eefdf1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130272Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Anton Bikineev <bikineev@chromium.org> Auto-Submit: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66931}
-
Zhi An Ng authored
This reverts commit c567e447. Reason for revert: Broke V8 Linux - arm64 - sim - MSAN (tree closed) Original change's description: > cppgc: Limit stack scan to clang-only > > Quickfix to get non-clang bots green. > > Bug: v8:10370 > Change-Id: I83591cd2bda94cd5aaffd023fe2b7068bdc7442f > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131066 > Reviewed-by: Anton Bikineev <bikineev@chromium.org> > Commit-Queue: Michael Lippautz <mlippautz@chromium.org> > Cr-Commit-Position: refs/heads/master@{#66928} TBR=mlippautz@chromium.org,bikineev@chromium.org Change-Id: I0e41e1caae696c6cb7dceeb48fa9a3ab277b5b66 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:10370 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2130759Reviewed-by: Zhi An Ng <zhin@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#66929}
-
Michael Lippautz authored
Quickfix to get non-clang bots green. Bug: v8:10370 Change-Id: I83591cd2bda94cd5aaffd023fe2b7068bdc7442f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2131066Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66928}
-
Michael Lippautz authored
Pure refactoring. The re-organization allows to easily add more platforms. Bug: chromium:1056170 Change-Id: Ia191c37a1dabff6952414c5314beeeae881713b7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2129636Reviewed-by: Anton Bikineev <bikineev@chromium.org> Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Cr-Commit-Position: refs/heads/master@{#66924}
-
- 30 Mar, 2020 1 commit
-
-
Michael Lippautz authored
Adds support for conservative stack scanning on x64. The trampolines saving callee-saved registers are compiled using clang (non-Windows) and MASM (Windows). This is using the default toolchain for assembly in Chromium/V8. This differs from Oilpan in Chromium where x86 and x64 are compiled using NASM [1]. V8 does not yet require this dependency and building the trampolines natively avoids it. (NASM also requires separate blocks for x64 Windows and non-Windows.) On non-x86/x64 platforms Chromium also uses clang, so there's little benefit in keeping the dependency. The trampolines are tested when building with clang. Other platforms follow in separate CLs. [1] https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/platform/heap/asm/SaveRegisters_x86.asm Change-Id: Ice2e23e44391aa94147abe75ee0b5afac458b8f8 Bug: chromium:1056170 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2124319 Commit-Queue: Michael Lippautz <mlippautz@chromium.org> Reviewed-by: Omer Katz <omerkatz@chromium.org> Reviewed-by: Hannes Payer <hpayer@chromium.org> Reviewed-by: Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#66913}
-