Go to file
Patrick Thier 17b9d8728a [regexp] Add missing case for EscapeRegExpPattern
EscapeRegExpPattern should return a string representation of a
RegExp instance that in turn can be used to construct a new
RegExp instance with the same internal state as the original one.

Previous versions incorrectly escaped '/' also inside character classes
(e.g. /[/]/ returned "[\/]").

This patch properly escapes '/' when necessary and omits unnecessary
escapes.

Bug: v8:8615, v8:1982, v8:9446
Change-Id: I4ecb993dc69d6976f4637cedf43465cd0c32e427
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1688050
Commit-Queue: Patrick Thier <pthier@google.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#62587}
2019-07-09 08:11:51 +00:00
benchmarks Add missing owners files 2019-05-31 07:21:01 +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 [tracing] Fix perfetto build caused by invalid sources 2019-06-24 15:03:31 +00:00
include [modules] Implement SyntheticModule::ResolveExport and SyntheticModule::Evaluate. 2019-07-09 00:09:32 +00:00
infra Switch gcmole to run on Xenial 2019-07-05 16:21:20 +00:00
samples [cleanup] Drop some occurrences of Isolate::Current 2019-06-26 19:39:21 +00:00
src [regexp] Add missing case for EscapeRegExpPattern 2019-07-09 08:11:51 +00:00
test [regexp] Add missing case for EscapeRegExpPattern 2019-07-09 08:11:51 +00:00
testing Add missing owners files 2019-05-31 07:21:01 +00:00
third_party [DevTools] Roll inspector_protocol (V8). 2019-07-03 10:41:47 +00:00
tools [browser-stories] gate features behind {experimental} flag 2019-07-08 13:09:46 +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 Add recent code rewrite to .git-blame-ignore-revs 2019-05-23 10:38:45 +00:00
.gitattributes .gitattributes: Mark minified emscripten js files as -diff 2018-09-19 16:27:10 +00:00
.gitignore [wasm-c-api] Un-.gitignore third_party/wasm-api/ 2019-06-17 08:52:37 +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
AUTHORS Reland "Reland "Let all early errors be SyntaxErrors."" 2019-07-08 10:15:46 +00:00
BUILD.gn Make adding crash keys a platform API 2019-07-08 17:23:49 +00:00
ChangeLog [release] Merge ChangeLog back to master 2018-12-07 15:41:59 +00:00
CODE_OF_CONDUCT.md
codereview.settings
COMMON_OWNERS [OWNERS] Add solanes@ to COMMON_OWNERS 2019-05-22 13:50:51 +00:00
DEPS [tracing] Use the new perfetto client API 2019-07-08 13:37:16 +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
INTL_OWNERS Add missing owners files 2019-05-31 07:21:01 +00:00
LICENSE [wasm] Draft version of C/C++ Wasm API 2019-04-17 16:00:26 +00:00
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
MIPS_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
OWNERS Make nested DEPS files commonly owned 2019-06-18 14:31:05 +00:00
PPC_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
PRESUBMIT.py Reland "Move logging and diagnostics related source files" 2019-05-20 09:54:57 +00:00
README.md [docs] Change links from old wiki to v8.dev 2019-03-07 12:13:30 +00:00
S390_OWNERS Move architecture dependent files 2019-05-28 14:02:15 +00:00
WATCHLISTS Move remaining files in src/ 2019-05-24 18:24:36 +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.