Go to file
Milad Farazmand 8c0d9f919c AIX: [Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames.
Port 8e7945a691

Original Commit Message:

    Port 381a7f9e76

    Original Commit Message:

        On Arm/64 the last return address is stored in a link register instead of
        being pushed to the top-of-stack like on x64/ia32. Extend the support in the
        tick sampler to check for samples in a frameless bytecode handler with support
        for checking the link register if it exists instead of top-of-stack. In addition,
        make the x64/ia32 check more robust by ensuring we only apply the change if the
        pc is a bytecode handler and the top frame isn't a bytecode handler (stub) frame.

R=miladfar@ca.ibm.com, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:9162
LOG=N

Change-Id: I52c40f8d4ba1bb10049410417d1e60f95315489d
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1614791
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#61605}
2019-05-17 11:00:45 +00:00
benchmarks [test] Ensure random generator in JSTests does not use float arithmetic 2018-12-17 10:05:08 +00:00
build_overrides Clean up infra owners 2019-05-15 11:18:43 +00:00
custom_deps Clean up infra owners 2019-05-15 11:18:43 +00:00
docs Add OWNERS for docs/ 2019-05-15 12:06:15 +00:00
gni Clean up infra owners 2019-05-15 11:18:43 +00:00
include [cpu-profiler] Implement CPU profiler subsampling/multiplexing 2019-05-15 16:48:27 +00:00
infra Reland "[ptr-compr][x64] Temporarily enable pointer compression on x64" 2019-05-15 22:28:10 +00:00
samples Add OWNERS file for samples/ 2019-05-14 16:55:03 +00:00
src AIX: [Profiler] Ensure ticks in frameless bytecode handlers are interpreted frames. 2019-05-17 11:00:45 +00:00
test [ptr-compr][arm64] Fix to timeout of regress-708247 2019-05-17 09:30:17 +00:00
testing Remove dummy files created for rolling googletest. 2018-03-27 05:55:56 +00:00
third_party Reland: [csa] verify skipped write-barriers in MemoryOptimizer 2019-05-15 11:46:30 +00:00
tools [torque] Move Map layout definition to Torque 2019-05-16 19:39:37 +00:00
.clang-format [clang-format] Don't derive pointer alignment 2017-01-17 09:28:19 +00:00
.clang-tidy [tool] Remove unfixed clang-tidy warnings to ease use. 2018-10-26 07:40:32 +00:00
.editorconfig Add .editorconfig 2017-07-28 13:39:24 +00:00
.git-blame-ignore-revs [build] Add DEPS formatting to hyper-blame 2017-10-09 14:08:45 +00:00
.gitattributes .gitattributes: Mark minified emscripten js files as -diff 2018-09-19 16:27:10 +00:00
.gitignore Add .ccls-cache to .gitignore 2019-02-26 10:32:45 +00:00
.gn v8: Stop setting secondary_source. 2019-05-13 16:06:53 +00:00
.vpython [tools] Implement confidence-based number of runs 2019-05-09 09:42:28 +00:00
.ycm_extra_conf.py [ycm] Switch from gnu++11 to gnu++14 2017-11-27 07:48:21 +00:00
AUTHORS make deleted functions public in include 2019-05-13 07:58:31 +00:00
BUILD.gn Revert "Move logging and diagnostics related source files" 2019-05-17 09:00:46 +00:00
ChangeLog [release] Merge ChangeLog back to master 2018-12-07 15:41:59 +00:00
CODE_OF_CONDUCT.md Explicitly state that the Chromium Code of Conduct also applies to V8 2016-03-02 09:51:24 +00:00
codereview.settings Make Gerrit the default code review for V8 2017-06-30 17:37:37 +00:00
DEPS Update V8 DEPS. 2019-05-17 05:52:04 +00:00
ENG_REVIEW_OWNERS Add eng review owners as escalation path 2019-05-15 19:12:10 +00:00
INFRA_OWNERS Clean up infra owners 2019-05-15 11:18:43 +00:00
LICENSE [wasm] Draft version of C/C++ Wasm API 2019-04-17 16:00:26 +00:00
LICENSE.fdlibm Add LICENSE.fdlibm for all the fdlibm imported sources. 2016-06-09 07:17:03 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
OWNERS Add eng review owners as escalation path 2019-05-15 19:12:10 +00:00
PRESUBMIT.py Revert "[torque] Temporarily disable torque format check to pass presubmit" 2019-02-20 14:07:17 +00:00
README.md [docs] Change links from old wiki to v8.dev 2019-03-07 12:13:30 +00:00
snapshot_toolchain.gni Move snapshot_toolchain.gni to gni/ 2019-05-15 11:07:24 +00:00
WATCHLISTS Update WATCHLIST wrt yangguo 2018-11-23 08:29:12 +00:00

V8 JavaScript Engine

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

Getting the Code

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/*

Contributing

Please follow the instructions mentioned at v8.dev/docs/contribute.