- 15 Oct, 2021 1 commit
-
-
Ng Zhi An authored
Bug: v8:12244,v8:12245 Change-Id: I6a449ec60a75d55715f04b9a57988c8a7caf038c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3227267Reviewed-by:
Thibaud Michaud <thibaudm@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/main@{#77420}
-
- 17 Sep, 2021 1 commit
-
-
Clemens Backes authored
This ports the trap handler implementation for the arm64 simulator from POSIX to Windows. Apart from different registers being used for passing parameters, and different access to these register values in the signal handler, the implementation is exactly the same. The new logic is being used for sanitizer builds which automatically target arm64 via the simulator, or if manually compiling an arm64 simulator build on x64. I manually tested the latter. Also, the existing unit test is enabled for Mac (which was missing) and Windows now. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Cq-Include-Trybots: luci.v8.try:v8_win64_asan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_mac64_asan_rel_ng Change-Id: Ia62405b28808a3cc9f199e3f43a45ffc4bda491b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3163256 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/main@{#76902}
-
- 11 Aug, 2021 1 commit
-
-
Clemens Backes authored
This adds a comment to explain why the additional "ret" instruction added in https://crrev.com/c/3071202 is actually needed. R=mseaborn@chromium.org CC=ahaas@chromium.org Bug: v8:11955 Change-Id: Ifd874c499fd3094f7cf5383e991d6b193b23ca63 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3081601Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76230}
-
- 04 Aug, 2021 1 commit
-
-
Clemens Backes authored
For some reason, the "ret" instruction goes missing on Mac release builds, probably because the compiler decides to split the inline assembly block and move the "v8_probe_memory_continuation" block somewhere else. This CL fixes that by adding another explicit "ret" at the end of "ProbeMemory". Also, we remove the "v8_probe_memory_address" symbol (which is identical to just "ProbeMemory"), to prevent the compiler from splitting "ProbeMemory" and "v8_probe_memory_address". R=ahaas@chromium.org Bug: v8:11955 Change-Id: I2e63b2db94206e329be214ab7b553ab502d6ecc2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3071202Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76091}
-
- 03 Aug, 2021 1 commit
-
-
Clemens Backes authored
This ports https://crrev.com/c/3040844 to also work on Mac. All that's needed is minor tweaks to the inline assembly. The inline assembly is stripped down to what's actually needed. I didn't find documentation on ".pushsection" and ".popsection" on Mac. Since we do not have this on other inline assembly (e.g. src/heap/base/asm/x64/push_registers_asm.cc) removing this here does not regress the status quo. If this ever causes problems, we will have to consistently add it everywhere. The new code paths are tested by the v8_mac_arm64* CQ bots, and the "V8 Mac - arm64 - sim - {debug,release}" waterfall bots. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: If0b78a2d2a8b365c1c77b171de0591452e4bbeec Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3063500Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#76060}
-
- 28 Jul, 2021 1 commit
-
-
Clemens Backes authored
Found these when compiling the arm64 simulator for MSan (Release) and ASan (Debug and Release). Depending on the exact configuration (and compiler), different functions will get inlined and different symbols need to be available at link time. 1) Since GetRecoveredTrapCount is used in a unittest, it needs to be exported. 2) The thread-local g_thread_in_wasm_code cannot be exported on Windows, hence it cannot (safely) be used in unit tests. Use the {GetThreadInWasmThreadLocalAddress} function instead, which will return the address of that thread-local variable. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: I118f60c1580a8362f8232541576a1c41da7042bd Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3049077Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#75960}
-
- 20 Jul, 2021 2 commits
-
-
Clemens Backes authored
This is a reland of 431fff66. The fix is in BUILD.gn: We need to also include chromeos, which is a linux target which is not covered by "is_linux" in gn. R=ahaas@chromium.org Original change's description: > [traphandler] Add simulator support > > This prepares the trap handler to support being used from simulators. > Modifications to the arm64 simulator will be done in a follow-up CL. For > now, the trap handler will be registered but not used in Wasm (we emit > explicit bounds checks instead, as before). > > The implementation uses inline assembly, so it is only available on x64 > POSIX systems for now. This is the main platform we use for testing and > for fuzzing, so it should give us the test coverage we need. If needed, > inline assembly for other platforms can be added later. > The new code will be executed by the existing arm64 simulator bots, e.g. > "V8 Linux - arm64 - sim". > > R=ahaas@chromium.org, mseaborn@chromium.org > > Bug: v8:11955 > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75780} Bug: v8:11955 Change-Id: I8af39dea5b2cd3fa5418170a458832b3d6075107 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040844 Commit-Queue: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Auto-Submit: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75809}
-
Clemens Backes authored
This reverts commit 431fff66. Reason for revert: Causes link error in chrome: https://ci.chromium.org/ui/p/chromium/builders/ci/Linux%20ChromiumOS%20MSan%20Builder/24667/overview Original change's description: > [traphandler] Add simulator support > > This prepares the trap handler to support being used from simulators. > Modifications to the arm64 simulator will be done in a follow-up CL. For > now, the trap handler will be registered but not used in Wasm (we emit > explicit bounds checks instead, as before). > > The implementation uses inline assembly, so it is only available on x64 > POSIX systems for now. This is the main platform we use for testing and > for fuzzing, so it should give us the test coverage we need. If needed, > inline assembly for other platforms can be added later. > The new code will be executed by the existing arm64 simulator bots, e.g. > "V8 Linux - arm64 - sim". > > R=ahaas@chromium.org, mseaborn@chromium.org > > Bug: v8:11955 > Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#75780} Bug: v8:11955 Change-Id: I74d2e41864fc515bd9727898f12ec1498b97ee62 No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3040839 Auto-Submit: Clemens Backes <clemensb@chromium.org> Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com> Cr-Commit-Position: refs/heads/master@{#75798}
-
- 19 Jul, 2021 1 commit
-
-
Clemens Backes authored
This prepares the trap handler to support being used from simulators. Modifications to the arm64 simulator will be done in a follow-up CL. For now, the trap handler will be registered but not used in Wasm (we emit explicit bounds checks instead, as before). The implementation uses inline assembly, so it is only available on x64 POSIX systems for now. This is the main platform we use for testing and for fuzzing, so it should give us the test coverage we need. If needed, inline assembly for other platforms can be added later. The new code will be executed by the existing arm64 simulator bots, e.g. "V8 Linux - arm64 - sim". R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: Idc50291c704d9dea902ae0098e5309f19055816c Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3011160 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75780}
-
- 13 Jul, 2021 1 commit
-
-
Clemens Backes authored
This CL cleans up the trap handler code on POSIX before making additions for arm64 simulator support. In particular, - it extends a comment about restoring the signal mask before restoring the "thread in wasm" flag, and fixes the code to actually implement that again; - it renames "SigUnmaskStack" to "UnmaskOobSignalScope", to make the intent clear, and it moves the signal masking code to the constructor of that class; - it replaces a call to "IsThreadInWasm" by just reading "g_thread_in_wasm_code" to make it more transparent what is happening (note that the next instruction will just write to that flag); - it replaces an if block by another early exit for consistency; and lastly - it avoids curly braces for single-line conditions, to increase readability and to match the rest of V8. R=ahaas@chromium.org, mseaborn@chromium.org Bug: v8:11955 Change-Id: I023381f8b8e4640e2b21ac617fe301ec9f130783 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015562 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75697}
-
- 12 Jul, 2021 1 commit
-
-
Clemens Backes authored
When porting to MacOS (in https://crrev.com/c/1282960), we forgot to update signal masking to unmask SIGBUS instead of SIGSEGV. R=mseaborn@chromium.org, ahaas@chromium.org Bug: chromium:906565 Change-Id: I486a204f33139f1da4a074a07878921692b713e7 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3015565 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#75680}
-
- 18 May, 2021 1 commit
-
-
Milad Fa authored
Using `thread_local` on AIX causes the following error during linking: ``` ld: 0711-317 ERROR: Undefined symbol: TLS init function for ... ``` To avoid the issue we can use the __thread keyword. More on this gcc bug: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100641 Bug: v8:11755 Change-Id: Ic9738e8dfb7110b550328c5d9929f4453e545b0b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2903586Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Milad Fa <mfarazma@redhat.com> Cr-Commit-Position: refs/heads/master@{#74642}
-
- 17 May, 2021 2 commits
-
-
Clemens Backes authored
This will allow us to refactor those V8 files without being concerned about potential interference with the security of the trap handler. This requires the duplication of V8_EXPORT_PRIVATE, the CHECK/DCHECK macros, and V8_DISABLE_ASAN. The trap-handler specific definitions are prefixed with "TH_". R=ahaas@chromium.org Bug: v8:11755 Change-Id: Iac39b553704ef50e51937375c8db805d57ce2625 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2880218 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#74588}
-
Clemens Backes authored
V8 uses "thread_local" since several years now, so we can assume it to be available on all platforms. This avoids a cumbersome macro definition. R=ahaas@chromium.org Bug: v8:11755 Change-Id: I64826188a15a22238ffbcb3215a5b5d66470d573 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2885038Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#74585}
-
- 25 Feb, 2021 1 commit
-
-
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}
-
- 28 Jan, 2021 1 commit
-
-
Thibaud Michaud authored
This is a reland of a80d51d4 There were two main issues: - Liftoff did 32 bit addition to get the offset, which overflowed and created a valid address where an OOB was expected - The access mode and landing pad was missing for SIMD load and store instructions Also fixed the macros to disable trap handlers from simulator builds. Original change's description: > [wasm][mac][arm64] Enable OOB trap handler > > R=ahaas@chromium.org,mark@chromium.org,mseaborn@chromium.org > > Bug: v8:11098 > Change-Id: Ic4eb02a96805e49da71f301269567a6e0ac1b843 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519555 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72136} Bug: v8:11098 Change-Id: I2ebe434577f2cbe168f0bccf2936f69ca211e3c1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637223Reviewed-by:
Clemens Backes <clemensb@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Cr-Commit-Position: refs/heads/master@{#72401}
-
- 19 Jan, 2021 1 commit
-
-
Michael Achenbach authored
This reverts commit a80d51d4. Reason for revert: Breaks: https://ci.chromium.org/p/v8/builders/ci/V8%20Mac%20-%20arm64%20-%20release/2042 Original change's description: > [wasm][mac][arm64] Enable OOB trap handler > > R=ahaas@chromium.org,mark@chromium.org,mseaborn@chromium.org > > Bug: v8:11098 > Change-Id: Ic4eb02a96805e49da71f301269567a6e0ac1b843 > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519555 > Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> > Reviewed-by: Zhi An Ng <zhin@chromium.org> > Reviewed-by: Igor Sheludko <ishell@chromium.org> > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Cr-Commit-Position: refs/heads/master@{#72136} TBR=mseaborn@chromium.org,ahaas@chromium.org,mark@chromium.org,ishell@chromium.org,zhin@chromium.org,thibaudm@chromium.org Change-Id: I73d868f044f3c362e4a6d65533fccbdb49c51cd3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11098 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2637216Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#72143}
-
- 18 Jan, 2021 1 commit
-
-
Thibaud Michaud authored
R=ahaas@chromium.org,mark@chromium.org,mseaborn@chromium.org Bug: v8:11098 Change-Id: Ic4eb02a96805e49da71f301269567a6e0ac1b843 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2519555 Commit-Queue: Thibaud Michaud <thibaudm@chromium.org> Reviewed-by:
Zhi An Ng <zhin@chromium.org> Reviewed-by:
Igor Sheludko <ishell@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#72136}
-
- 25 Nov, 2020 1 commit
-
-
Zhi An Ng authored
Also remove a comment referring to using the macro. Bug: v8:11074 Change-Id: Ib56a0360b28812833b372738f4956ef41c59a97b Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2557058Reviewed-by:
Ross McIlroy <rmcilroy@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Commit-Queue: Zhi An Ng <zhin@chromium.org> Cr-Commit-Position: refs/heads/master@{#71388}
-
- 26 Oct, 2020 3 commits
-
-
Clemens Backes authored
This is a reland of bcb0a7c5. Data races detected by TSan are fixed by using (relaxed) atomic updates. Original change's description: > [wasm] Disallow late enabling of trap handlers > > It's dangerous if trap handlers are enabled after we already used the > information whether they are enabled or not. > This CL checks for such misbehaviour by remembering whether > {IsTrapHandlerEnabled} was already called, and disallowing > {EnableTrapHandler} afterwards. Also, calling {EnableTrapHandler} > multiple times is disallowed now. > > The trap handler tests are changed to only enable trap handlers once, > and to do that before allocating wasm memory or generating code. > > R=ahaas@chromium.org > > Bug: v8:11017 > Change-Id: Ib2256bb8435efd914c12769cedd4a0051052aeef > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494935 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70750} Bug: v8:11017 Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng Change-Id: I24299c433ffa3ce31e2aac12134dc03f30609da2 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2498683 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70761}
-
Leszek Swirski authored
This reverts commit bcb0a7c5. Reason for revert: TSAN failure (https://ci.chromium.org/p/v8/builders/ci/V8%20Linux64%20TSAN/33868) Original change's description: > [wasm] Disallow late enabling of trap handlers > > It's dangerous if trap handlers are enabled after we already used the > information whether they are enabled or not. > This CL checks for such misbehaviour by remembering whether > {IsTrapHandlerEnabled} was already called, and disallowing > {EnableTrapHandler} afterwards. Also, calling {EnableTrapHandler} > multiple times is disallowed now. > > The trap handler tests are changed to only enable trap handlers once, > and to do that before allocating wasm memory or generating code. > > R=ahaas@chromium.org > > Bug: v8:11017 > Change-Id: Ib2256bb8435efd914c12769cedd4a0051052aeef > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494935 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/master@{#70750} TBR=ahaas@chromium.org,clemensb@chromium.org Change-Id: I1d93dcb399e2a0b5b0543aa60d34087317c01cb3 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: v8:11017 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2497176Reviewed-by:
Leszek Swirski <leszeks@chromium.org> Commit-Queue: Leszek Swirski <leszeks@chromium.org> Cr-Commit-Position: refs/heads/master@{#70751}
-
Clemens Backes authored
It's dangerous if trap handlers are enabled after we already used the information whether they are enabled or not. This CL checks for such misbehaviour by remembering whether {IsTrapHandlerEnabled} was already called, and disallowing {EnableTrapHandler} afterwards. Also, calling {EnableTrapHandler} multiple times is disallowed now. The trap handler tests are changed to only enable trap handlers once, and to do that before allocating wasm memory or generating code. R=ahaas@chromium.org Bug: v8:11017 Change-Id: Ib2256bb8435efd914c12769cedd4a0051052aeef Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494935Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70750}
-
- 23 Oct, 2020 1 commit
-
-
Clemens Backes authored
If trap handlers are disabled, we don't need guard regions around wasm memories. Hence use the dynamic {trap_handler::IsTrapHandlerEnabled()} check, instead of always reserving guard regions on all 64-bit platforms. This will allow to reserve pretty much arbitrarily many wasm memories if trap handlers are disabled. Two tests are added to test the number of memories that can be allocated: With trap handlers, at least 50 memories should always be possible. Without trap handlers, 10000 small memories should not be a problem (each one is taking 64kB, so it's 640MB overall). Drive-by: Improve tracing. R=ahaas@chromium.org Bug: v8:11017 Change-Id: Ic4c620f63dfbef571e64df0b3372b83a1db566ab Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2491034Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/master@{#70732}
-
- 20 Oct, 2020 1 commit
-
-
Edward Lesmes authored
Generate DIR_METADATA files and remove metadata from OWNERS files for v8. R=jkummerow@chromium.org, ochang@chromium.org, yangguo@chromium.org Bug: chromium:1113033 Change-Id: I82cbb62e438d82dbbc408e87120af39fa9da0afa Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2476680Reviewed-by:
Adam Klein <adamk@chromium.org> Reviewed-by:
Maya Lekova <mslekova@chromium.org> Reviewed-by:
Jakob Kummerow <jkummerow@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Commit-Queue: Edward Lesmes <ehmaldonado@chromium.org> Auto-Submit: Edward Lesmes <ehmaldonado@chromium.org> Cr-Commit-Position: refs/heads/master@{#70669}
-
- 17 Aug, 2020 1 commit
-
-
Jakob Kummerow authored
This is a comment-only CL. Change-Id: I002b1765bfa839982ab11c22f744734fdd34d4ce Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2352788Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Jakob Gruber <jgruber@chromium.org> Commit-Queue: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/master@{#69417}
-
- 09 Jun, 2020 1 commit
-
-
Ng Zhi An authored
Making them private was a way to hide the functions, we can explicitly delete them, which give a better compilation error message as well. Also see: https://stackoverflow.com/q/55205874 Bug: v8:10488 Change-Id: I27cb7b9aa3d2b90e1c05c1f12585f94c746cbdb1 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2233981 Commit-Queue: Zhi An Ng <zhin@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#68273}
-
- 08 Nov, 2019 1 commit
-
-
David Carlier authored
Using proper register (RIP) on this platform. Change-Id: Iaa0a25e328bd82c152db0ef3632523fd7d621020 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1857221Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Yang Guo <yangguo@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#64863}
-
- 03 Jun, 2019 1 commit
-
-
Yang Guo authored
R=rmcilroy@chromium.org NOPRESUBMIT=true Bug: v8:9247 Change-Id: I355ac92c323ab34e1898c0764856ebadc3357dcc Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1635691 Commit-Queue: 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@{#61960}
-
- 24 May, 2019 1 commit
-
-
Yang Guo authored
TBR=mvstanton@chromium.org,neis@chromium.org,ahaas@chromium.org Bug: v8:9247 Change-Id: I5433c863a54f3412d73df0d38aba3fdbcfac7ebe Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1627973 Commit-Queue: Yang Guo <yangguo@chromium.org> Auto-Submit: Yang Guo <yangguo@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#61830}
-
- 15 Apr, 2019 1 commit
-
-
Bill Ticehurst authored
Check if storage for thread_local variables has been allocated before attempting to access such variables, as exceptions may be raised in the thread before this initializion is complete, causing an infinite loop. Bug: v8:8966 Change-Id: Ifc6223b74999a55bfd0ed2d6ebf054bbffd7e809 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1507714 Commit-Queue: Ben Titzer <titzer@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Cr-Commit-Position: refs/heads/master@{#60852}
-
- 29 Jan, 2019 1 commit
-
-
Andreas Haas authored
In the trap handler we validate the list of registered code objects every time we register or de-register a new code object. The complexity of this validation is O(num-code-objects * num-instructions). For big WebAssembly modules with several hundred thousand code objects, this validation causes significant overhead (we saw up to 10x) and makes debugging very tedious. With this CL I mark the validation as slow. Thereby it is still enabled in most tests on our bots, but it is possible to disable validation when debugging large web applications. The referenced bug issue was created by developers who had problems with debugging because of this issue. R=mark@chromium.org Bug: v8:8536 Change-Id: If7ecb554eebcb04eb43a1f791b96c7a42a47e60f Reviewed-on: https://chromium-review.googlesource.com/c/1442634Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#59181}
-
- 04 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
This reverts commit 26a78061. Reason for revert: Not all fuzzers support custom segfault handlers yet, see https://crbug.com/918949 Original change's description: > Remove trap handler fallback for sanitizers > > Since https://crrev.com/c/1335572, our sanitizers allow to set custom > segfault handlers. Thus remove special code that was added to handle > sanitizers that prevent installation of segfault handlers. Instead, > CHECK that the signal handler was installed correctly. > > R=ahaas@chromium.org, mseaborn@chromium.org, mark@chromium.org > > Bug: chromium:830894 > Change-Id: I3bd66e33efdceb3e8469f3f4a09fbde90cb3d7ec > Reviewed-on: https://chromium-review.googlesource.com/c/1392199 > Reviewed-by: Andreas Haas <ahaas@chromium.org> > Commit-Queue: Clemens Hammacher <clemensh@chromium.org> > Cr-Commit-Position: refs/heads/master@{#58513} TBR=mseaborn@chromium.org,ahaas@chromium.org,mark@chromium.org,clemensh@chromium.org # Not skipping CQ checks because original CL landed > 1 day ago. Bug: chromium:830894, chromium:918949 Change-Id: Ide545860cf7729139ac50c0dd2e85facca49b0b1 Reviewed-on: https://chromium-review.googlesource.com/c/1396277Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58556}
-
- 03 Jan, 2019 1 commit
-
-
Clemens Hammacher authored
Since https://crrev.com/c/1335572, our sanitizers allow to set custom segfault handlers. Thus remove special code that was added to handle sanitizers that prevent installation of segfault handlers. Instead, CHECK that the signal handler was installed correctly. R=ahaas@chromium.org, mseaborn@chromium.org, mark@chromium.org Bug: chromium:830894 Change-Id: I3bd66e33efdceb3e8469f3f4a09fbde90cb3d7ec Reviewed-on: https://chromium-review.googlesource.com/c/1392199Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#58513}
-
- 30 Nov, 2018 1 commit
-
-
Clemens Hammacher authored
Building on linux x64 with "is_component_build = true" currently fails with linker errors (undefined references). This CL fixes that. R=ahaas@chromium.org TBR=mseaborn@chromium.org,mark@chromium.org Bug: v8:8532 Change-Id: I6b32c00bd974a22268ad1f161ce06a9ebe47c805 Reviewed-on: https://chromium-review.googlesource.com/c/1356505Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57960}
-
- 29 Nov, 2018 1 commit
-
-
Andreas Haas authored
The problem were missing V8_EXPORT_PRIVATE and V8_EXPORT. The unittests test if the trap handler only handles those traps it is supposed to handle: * Only handle traps when the thread-in-wasm flag is set. * Only handle traps of the right type, i.e. memory access violations. * Only handle traps at recorded instructions. The tests also test the consistency of the thread-in-wasm flag. I made one change in the trap handler where that consistency could be violated. All tests are executed with the default trap handler provided by V8, and with the trap handler callback installed in a test signal/exception handler. Patchset 1 is the original CL. R=mstarzinger@chromium.org Change-Id: I172d94f24cdba4c3a1f7f344825b059dbb59da79 Reviewed-on: https://chromium-review.googlesource.com/c/1351024Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57947}
-
- 27 Nov, 2018 2 commits
-
-
Clemens Hammacher authored
This reverts commit 4644b32e. Reason for revert: Link errors on win64: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Win64%20-%20debug/25950 Original change's description: > [wasm] Add more unit tests for trap handler > > The unittests test if the trap handler only handles those traps it > is supposed to handle: > * Only handle traps when the thread-in-wasm flag is set. > * Only handle traps of the right type, i.e. memory access violations. > * Only handle traps at recorded instructions. > > The tests also test the consistency of the thread-in-wasm flag. I made > one change in the trap handler where that consistency could be > violated. > > All tests are executed with the default trap handler provided by V8, > and with the trap handler callback installed in a test signal/exception > handler. > > Change-Id: I03904bb6effd2e8694d3f4d1fbf62bc38002646e > Reviewed-on: https://chromium-review.googlesource.com/c/1340246 > Commit-Queue: Andreas Haas <ahaas@chromium.org> > Reviewed-by: Michael Starzinger <mstarzinger@chromium.org> > Cr-Commit-Position: refs/heads/master@{#57858} TBR=mstarzinger@chromium.org,ahaas@chromium.org,mark@chromium.org Change-Id: Iac2f20c73744226885ea1810813863a21c5faf8c No-Presubmit: true No-Tree-Checks: true No-Try: true Reviewed-on: https://chromium-review.googlesource.com/c/1351021Reviewed-by:
Clemens Hammacher <clemensh@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#57861}
-
Andreas Haas authored
The unittests test if the trap handler only handles those traps it is supposed to handle: * Only handle traps when the thread-in-wasm flag is set. * Only handle traps of the right type, i.e. memory access violations. * Only handle traps at recorded instructions. The tests also test the consistency of the thread-in-wasm flag. I made one change in the trap handler where that consistency could be violated. All tests are executed with the default trap handler provided by V8, and with the trap handler callback installed in a test signal/exception handler. Change-Id: I03904bb6effd2e8694d3f4d1fbf62bc38002646e Reviewed-on: https://chromium-review.googlesource.com/c/1340246 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#57858}
-
- 20 Nov, 2018 1 commit
-
-
Andreas Haas authored
In the chrome-side implementation I currently use the default trap handlers of V8, see https://crrev.com/c/1290955 Bug: chromium:906565 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I74c5a18c479ad1c69303d104ad4f040de436c4e7 Reviewed-on: https://chromium-review.googlesource.com/c/1282960 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#57636}
-
- 30 Oct, 2018 1 commit
-
-
Andreas Haas authored
This is the V8 side of the implementation. You can take a look at a prototype of the Chrome side changes in https://crrev.com/c/1273043. Chrome could also use V8's default implementation of the trap handler, see https://crrev.com/c/1290952. Bug: v8:6743 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I9bb3e717db17a4f30bbb8acfd80a1f6510d463ff Reviewed-on: https://chromium-review.googlesource.com/c/1283111 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57117}
-
- 26 Oct, 2018 1 commit
-
-
Andreas Haas authored
This CL refactors the existing trap handler code for Linux to allow a cleaner extension to Windows. 1) The CL extracts platform-specific code into separate files, see https://docs.google.com/document/d/1HCgKIpdjy_CEodTLvZ5VuykDI6gGTHrTtau2j0zwm28. Specifically this means: * Move posix-specific API functions from v8.h to v8-wasm-trap-handler-posix.h. Deprecate the existing TryHandleSignal API function. * Move posix-specific function declarations from trap-handler-internal.h to handler-inside-posix.h * Move posix-specific function definitions from handler-shared.cc to handler-outside-posix.cc 2) The CL changes filenames from *-linux.* to *-posix.*. I expect that most of the implementation for MacOS will be the same as for Linux. Bug: v8:6743 Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng Change-Id: I4bb7f199564a2f01042084d15a82311d11a93c7b Reviewed-on: https://chromium-review.googlesource.com/c/1280324 Commit-Queue: Andreas Haas <ahaas@chromium.org> Reviewed-by:
Ben Titzer <titzer@chromium.org> Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Cr-Commit-Position: refs/heads/master@{#57028}
-