0
Commit Graph

7 Commits

Author SHA1 Message Date
Avi Drissman
468e51b677 Update copyright headers in gin/
The methodology used to generate this CL is documented in
https://crbug.com/1098010#c34.

No-Try: true
Bug: 1098010
Change-Id: Iafb266228260abedd345bc3e8c1d483c3a4dc4d6
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3891087
Commit-Queue: Mark Mentovai <mark@chromium.org>
Auto-Submit: Avi Drissman <avi@chromium.org>
Owners-Override: Avi Drissman <avi@chromium.org>
Reviewed-by: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1046550}
2022-09-13 20:47:01 +00:00
Xiaohan Wang
c696a4748e gin: Use BUILDFLAG for OS checking
Use BUILDFLAG(IS_XXX) instead of defined(OS_XXX).

Generated by `os_buildflag_migration.py` (https://crrev.com/c/3311983).

R=thakis@chromium.org

Bug: 1234043
Test: No functionality change
Change-Id: I992993b030d052e6821486adbb7f8653dd363bd8
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3373825
Reviewed-by: Nico Weber <thakis@chromium.org>
Commit-Queue: Nico Weber <thakis@chromium.org>
Owners-Override: Nico Weber <thakis@chromium.org>
Cr-Commit-Position: refs/heads/main@{#956756}
2022-01-08 01:20:46 +00:00
Dan Elphick
05acd60b25 Use fine-grained v8 headers in gin
Now that v8.h has been split into many parts, include only the parts
that are needed.

Bug: v8:11965
Change-Id: Id7557c588354a88533268d51f5fcdfc4fe29a733
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3122173
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Auto-Submit: Dan Elphick <delphick@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/main@{#916424}
2021-08-30 15:22:07 +00:00
Paolo Severini
fb4ab3be3f V8 x64 backend doesn't emit ABI compliant stack frames
On 64 bit Windows, stack walking does not work across stack frames generated
by V8 because the V8 x64 backend doesn't emit unwinding info and because it does
not emi ABI compliant stack frames. (bug v8:3598).
This should be fixed with this CL:
https://chromium-review.googlesource.com/c/v8/v8/+/1469329

The fix consists in having V8 register dynamically PDATA/XDATA for the whole
code-range address space of an isolate every time a new isolate is initialized,
and unregister them when the Isolate is destroyed.
A more detailed description of the V8 fix can be found here:
https://docs.google.com/document/d/1-wf50jFlii0c_Pr52lm2ZU-49m220nhYMrHDi3vXnh0/edit

This V8 changes are currently experimental, behind the v8_win64_unwinding_info
build flag and the '--win64-unwinding-info' command line flag.

However Crashpad already registers PDATA/XDATA for the code range of a V8
isolate, in order to be able to handle and report unhandled exceptions that have
V8 dynamic code in the call stack. For more details, see:
9b32bb22c1

Since it is not possible to register multiple PDATA entries for the same
address range, a new functions has been added to the V8 API:
- SetUnhandledExceptionCallback() can be used by an embedder to register its
own unhandled exception handler for exceptions that arise in V8-generated code.

This CL contains a few small changes to use this updated V8 API:
Crashpad calls v8::Isolate::SetUnhandledExceptionCallback() to register its own
custom exception handler for V8-code.
- When the '--win64-unwinding-info' flag is set, V8 will register the specified
exception handler as part of the Win64 unwind info, for jitted code and for
embedded builtins code.
- When the '--win64-unwinding-info' flag is not set, V8 will still register the
specified exception handler (but no precise unwind data) for the code range of
jitted code only, as Crashpad currently does.

Bug: v8:3598
Change-Id: Iba4a724a04a3bc3420c986d3e3b22f3b4aea279a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1474703
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jeremy Roman <jbroman@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Paolo Severini <paolosev@microsoft.com>
Cr-Commit-Position: refs/heads/master@{#651075}
2019-04-16 00:17:49 +00:00
Yang Guo
c0b760ab6f Remove uses of V8's function entry hook.
Bug: v8:8503,821764
Change-Id: I0b541e06f0326f8270e14e0b7a685cab3c288882
Reviewed-on: https://chromium-review.googlesource.com/c/1350177
Reviewed-by: Nico Weber <thakis@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#611032}
2018-11-27 06:59:37 +00:00
jochen
284435c33e Hook up custom Win 64 SEH to v8
BUG=v8:3597
R=cpu@chromium.org,wfh@chromium.org

Review URL: https://codereview.chromium.org/619543002

Cr-Commit-Position: refs/heads/master@{#297820}
2014-10-02 13:08:43 +00:00
jochen
4879fd2c9e Move setup of code event handlers to gin
This will make sure that the handlers are set at the correct point
during v8::Isolate construction

BUG=none
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/567343002

Cr-Commit-Position: refs/heads/master@{#295066}
2014-09-16 15:06:01 +00:00