commit | e0644f3e0cb01d99058a959e7587b6e96665af0f | [log] [tgz] |
---|---|---|
author | Jakob Linke <jgruber@chromium.org> | Wed Feb 08 10:53:39 2023 |
committer | V8 LUCI CQ <v8-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Feb 08 13:07:27 2023 |
tree | 05ba821c111d5e78288288cc02cbb415c111d655 | |
parent | 906d6166c9de653d9c6e5efe84e4a6531d8c61ae [diff] |
[regexp] Fix stack iteration when -fomit-frame-pointer is enabled .. and don't misuse CallCFunction by calling it recursively. Even after the recent addition of the StackFrame::IRREGEXP marker, iteration is still broken when -fomit-frame-pointer is set (because we cannot reliably determine the caller_fp). We fix this by not setting fast_c_call_caller_fp and fast_c_call_caller_pc from Irregexp code, effectively skipping over Irregexp frames in stack iteration. Note this also fixes a misuse of CallCFunction, which was never intended to be called recursively. The original assumption was 'targets may not call back into JS, thus no reentrancy'; but this didn't hold for Irregexp code, which itself can be called using CallCFunction. Fixed: v8:12670 Change-Id: I3891a866b79de77dc9a12d09e9d31caf89b25b00 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/4231973 Reviewed-by: Patrick Thier <pthier@chromium.org> Commit-Queue: Jakob Linke <jgruber@chromium.org> Cr-Commit-Position: refs/heads/main@{#85731}
V8 is Google's open source JavaScript engine.
V8 implements ECMAScript as specified in ECMA-262.
V8 is written in C++ and is used in Google Chrome, the open source browser from Google.
V8 can run standalone, or can be embedded into any C++ application.
V8 Project page: https://v8.dev/docs
Checkout depot tools, and run
fetch v8
This will checkout V8 into the directory v8
and fetch all of its dependencies. To stay up to date, run
git pull origin gclient sync
For fetching all branches, add the following into your remote configuration in .git/config
:
fetch = +refs/branch-heads/*:refs/remotes/branch-heads/* fetch = +refs/tags/*:refs/tags/*
Please follow the instructions mentioned at v8.dev/docs/contribute.