Go to file
yangguo b8c050424e [debugger] separate break point info from code instrumentation.
Previously, we would both instrument the code, and add/remove
BreakPointInfo objects through BreakLocation. This is bad design and
unsuitable for having two different code kinds.

We would now add/remove BreakPointInfo objects, and use that as source
of truth when instrumenting the code. If we have both bytecode and FCG
code, we would simply apply these break points twice to either.

Notable changes:
- Removed many functionality from BreakLocation.
- Instrumentation (patching code for breaks) happens by applying break
  point info onto code.
- Instrumentation (code patching) is done by the BreakIterator. For
  bytecode, it's BytecodeArrayBreakIterator. For FCG code, it's
  CodeBreakIterator.
- Changes to code instrumentation mostly involves clearing current
  instrumentation and then (re-)applying break points.
- DebugInfo can now reference both bytecode and FCG code.

R=jgruber@chromium.org, mstarzinger@chromium.org
BUG=v8:5265

Review-Url: https://codereview.chromium.org/2238893002
Cr-Commit-Position: refs/heads/master@{#38596}
2016-08-12 06:06:49 +00:00
benchmarks Revert "Refactoring: Make gtest testsuite the default." 2014-09-02 09:17:26 +00:00
build_overrides [gn] Switch off java targets for v8 standalone 2016-07-26 14:15:31 +00:00
docs [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
gni [swarming] Remove hard-coded shared library configs 2016-07-28 07:18:15 +00:00
gypfiles [inspector] Remove inspector_protocol_parser_test target. 2016-08-11 16:45:14 +00:00
include Move SimulatorHelper into V8 out of profiler clients. 2016-08-10 17:12:27 +00:00
infra [gn] Switch tsan to gn 2016-08-05 11:55:23 +00:00
samples Provide a convenience array buffer allocator 2016-06-29 07:42:40 +00:00
src [debugger] separate break point info from code instrumentation. 2016-08-12 06:06:49 +00:00
test [debugger] separate break point info from code instrumentation. 2016-08-12 06:06:49 +00:00
testing Use GTEST_LANG_CXX11 in V8 2016-07-25 13:06:42 +00:00
third_party/binutils Update binutils version to match Chromium. 2016-07-08 07:03:29 +00:00
tools [turbolizer] Enlarge node labels and bubbles. Fix dead node display on old JSON. 2016-08-11 16:46:18 +00:00
.clang-format [formatting] Remove the formatting requirement for 2 empty lines between declarations. 2016-01-25 09:50:17 +00:00
.gitignore Reland [inspector] add inspector protocol parser test build target. 2016-08-01 05:42:37 +00:00
.gn Remove NaCl support. 2016-07-27 07:50:31 +00:00
.ycm_extra_conf.py Use C++11 / gnu++11, not 0x 2016-03-22 15:24:43 +00:00
AUTHORS Updating the code example in FunctionTemplate class documentation 2016-07-14 06:34:26 +00:00
BUILD.gn Revert runtime lowering of wasm SIMD ops 2016-08-10 21:39:21 +00:00
ChangeLog [Release] Update ChangeLog file 2016-02-17 21:29:09 +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 Use v8-reviews@ for review mail, so v8-dev@ is free for dev discussions 2015-09-09 08:14:11 +00:00
DEPS Update V8 DEPS. 2016-08-12 03:25:05 +00:00
LICENSE Updates to the license information of third party components. 2015-06-16 12:37:50 +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
Makefile Remove NaCl support. 2016-07-27 07:50:31 +00:00
Makefile.android [build] Fix d8-for-Android builds 2016-05-20 12:10:45 +00:00
OWNERS Adding some wasm committers to top level OWNERS. 2016-06-28 16:28:06 +00:00
PRESUBMIT.py Enable check for non-gender neutral pronouns 2016-06-23 07:15:18 +00:00
README.md [Docs] Removed unused docs because they are moved to GitHub 2015-11-19 10:23:30 +00:00
snapshot_toolchain.gni Attempt #4 to land "Fix double-building of v8 in GN builds." 2016-07-25 09:30:17 +00:00
WATCHLISTS Remove myself from v8 WATCHLISTS 2016-07-04 14:45:04 +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.