Go to file
Clemens Hammacher ad98ba7773 [Liftoff] Fix register spilling on stack transfer
When moving arguments for calls into the right registers and stack
slots, we were sometimes overwriting stack slots which would still be
used later to load arguments from. This is because we popped the (wasm)
value stack before executing the register moves, hence the stack
transfer would think the values are not being used any more and reuse
the stack slots.
With this CL, we only pop the arguments from the stack after executing
the stack transfer.

R=ahaas@chromium.org

Bug: v8:7366, v8:6600
Change-Id: I3aa5126c82634fd281959075e91e73465c39abaa
Reviewed-on: https://chromium-review.googlesource.com/883802
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#50853}
2018-01-24 19:42:48 +00:00
benchmarks Fix common misspellings 2017-08-02 09:35:28 +00:00
build_overrides [ndk] Change android ndk root for v8 2018-01-11 08:10:33 +00:00
docs
gni [gn] do not hide symbols for monolithic build. 2018-01-05 16:11:55 +00:00
gypfiles [compile] Remove AST numbering 2018-01-24 17:15:55 +00:00
include Implement v8::Object::SetLazyDataProperty. 2018-01-24 15:48:45 +00:00
infra Reland "[build] Prepare switching win asan to 64 bits" 2018-01-24 19:11:37 +00:00
samples [gyp] move gyp files from src to gypfiles. 2018-01-23 09:54:36 +00:00
src [Liftoff] Fix register spilling on stack transfer 2018-01-24 19:42:48 +00:00
test [Liftoff] Fix register spilling on stack transfer 2018-01-24 19:42:48 +00:00
testing
third_party Update third_party/binutils version to match Chromium. 2017-12-08 07:28:26 +00:00
tools Only run git-cl-try if there are bots to trigger to avoid triggering CQ dry-run 2018-01-24 19:41:28 +00:00
.clang-format
.editorconfig
.git-blame-ignore-revs [build] Add DEPS formatting to hyper-blame 2017-10-09 14:08:45 +00:00
.gitignore [test] Remove promises-aplus test suite 2017-12-19 09:29:26 +00:00
.gn
.vpython Add a comment for the VPython dep 2017-10-25 12:23:35 +00:00
.ycm_extra_conf.py [ycm] Switch from gnu++11 to gnu++14 2017-11-27 07:48:21 +00:00
AUTHORS Revert "Reland: Reimplement Object.entries/values as CSA to optimize performance." 2018-01-22 09:47:43 +00:00
BUILD.gn [compile] Remove AST numbering 2018-01-24 17:15:55 +00:00
ChangeLog [tools] Merge ChangeLog from latest release 2017-12-19 12:30:56 +00:00
CODE_OF_CONDUCT.md
codereview.settings
DEPS Update V8 DEPS. 2018-01-24 04:44:44 +00:00
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
Makefile [gyp] move gyp files from src to gypfiles. 2018-01-23 09:54:36 +00:00
Makefile.android
OWNERS Update top-level OWNERS. 2018-01-19 08:37:12 +00:00
PRESUBMIT.py [gyp] move gyp files from src to gypfiles. 2018-01-23 09:54:36 +00:00
README.md
snapshot_toolchain.gni MIPS[64]: Generate snapshots on MIPS big-endian targets 2017-11-24 19:00:32 +00:00
WATCHLISTS Add adamk to a few WATCHLISTS 2017-11-10 21:38:29 +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://github.com/v8/v8/wiki

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 on the V8 wiki.