Go to file
Toon Verwaest 2eab4de35d [parser] Further simplify ParseAssignmentExpression
This moves is_async and parenthesized_formals tracking out of the
ParseAssignmentExpression header. Instead we set flags on the parser for the
next arrow function: next_arrow_function_kind_ that defaults to kArrowFunction
and next_arrow_formals_parenthesized_ which defaults to false.

If we end up recognizing an async arrow head, we update
next_arrow_function_kind_ to kAsyncArrowFunction. If we detect (...) followed
by => or async(...) followed by => we set next_arrow_formals_parenthesized_ to
true. When we start parsing the arrow continuation we consume the values and
reset them to default for the next arrow function.

Change-Id: Ia22c0068fea0f175fafc568b7339813fd10c3b5a
Reviewed-on: https://chromium-review.googlesource.com/c/1345996
Commit-Queue: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57684}
2018-11-21 13:53:26 +00:00
benchmarks Reland: [builtins] Implement Array.prototype.slice in Torque 2018-10-19 21:27:19 +00:00
build_overrides
custom_deps [build] Add common directory for custom deps 2018-06-08 19:23:02 +00:00
docs
gni [build] disable asan on Windows for Torque 2018-10-10 11:47:40 +00:00
include [ptr-compr] Introduce EmbedderDataSlot 2018-11-21 12:30:13 +00:00
infra [build][test] Remove configs for nosnap fuzzers 2018-11-20 13:09:39 +00:00
samples Add a sample that uses the JS API to create wasm 2018-06-07 23:43:38 +00:00
src [parser] Further simplify ParseAssignmentExpression 2018-11-21 13:53:26 +00:00
test Implement Faster MicrotaskQueue Step 2 2018-11-21 13:10:07 +00:00
testing Remove dummy files created for rolling googletest. 2018-03-27 05:55:56 +00:00
third_party Update V8 DEPS. 2018-11-14 20:08:33 +00:00
tools Implement Faster MicrotaskQueue Step 2 2018-11-21 13:10:07 +00:00
.clang-format
.clang-tidy [tool] Remove unfixed clang-tidy warnings to ease use. 2018-10-26 07:40:32 +00:00
.editorconfig
.git-blame-ignore-revs
.gitattributes .gitattributes: Mark minified emscripten js files as -diff 2018-09-19 16:27:10 +00:00
.gitignore Ignore .torquelint-cache 2018-10-24 10:24:11 +00:00
.gn [test] Remove obsolete test262 archive extract 2018-03-28 13:52:15 +00:00
.vpython [tools] Correctly identify and report test crashes and infra failures 2018-10-30 15:05:40 +00:00
.ycm_extra_conf.py
AUTHORS [typedarray] Use fast path for Float32Array.from(float_64_array) and similar 2018-10-26 09:47:46 +00:00
BUILD.gn Implement Faster MicrotaskQueue Step 2 2018-11-21 13:10:07 +00:00
ChangeLog
CODE_OF_CONDUCT.md
codereview.settings
DEPS Update V8 DEPS. 2018-11-21 09:16:25 +00:00
LICENSE Add antlr4 runtime library to support Torque 2018-04-10 10:01:01 +00:00
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
OWNERS Reduce wasm OWNERS to current team members 2018-10-15 14:47:49 +00:00
PRESUBMIT.py [tools] Correctly identify and report test crashes and infra failures 2018-10-30 15:05:40 +00:00
README.md
snapshot_toolchain.gni Reland "Add Windows ARM64 ABI support to V8" 2018-10-24 19:46:36 +00:00
WATCHLISTS [watchlist] Add csa and torque watchlists and add myself 2018-11-15 10:01:08 +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.