Begin modernization of --harmony-modules

The approach taken in this CL is to incrementally move toward the
currently-specced version of modules in ES6. The biggest change in this
patch is separating the parsing of modules from the parsing of scripts,
getting rid of the 'module' keyword and thus disallowing modules-in-scripts
as well as modules-in-modules.

The syntax supported by import/export declarations has not yet been significantly
changed, with the major exception being that import declarations require a string
as the 'from' part.

Most of the existing tests have been disabled, with a first new test added
in cctest/test-parsing.

BUG=v8:1569
LOG=n

Review URL: https://codereview.chromium.org/881623002

Cr-Commit-Position: refs/heads/master@{#26299}
10 files changed
tree: f92153bad90a618102c0d3f62573c89d9c0c6289
  1. benchmarks/
  2. build/
  3. include/
  4. samples/
  5. src/
  6. test/
  7. testing/
  8. tools/
  9. .clang-format
  10. .gitignore
  11. AUTHORS
  12. BUILD.gn
  13. ChangeLog
  14. codereview.settings
  15. DEPS
  16. LICENSE
  17. LICENSE.strongtalk
  18. LICENSE.v8
  19. LICENSE.valgrind
  20. Makefile
  21. Makefile.android
  22. Makefile.nacl
  23. OWNERS
  24. PRESUBMIT.py
  25. README.md
  26. WATCHLISTS
README.md

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://code.google.com/p/v8/

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