Commit Graph

1279 Commits

Author SHA1 Message Date
adamk@chromium.org
cca73459fe Mark global-constructors-listing as failing in TestExpectations
They're failing due to the addition of Symbol to the global scope.
These expectations can be removed once https://codereview.chromium.org/436353002
lands and gets picked up by the V8 webkit bots.

BUG=400507
LOG=N
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 23:59:25 +00:00
adamk@chromium.org
d8c30bd8e7 Enable ES6 Symbols by default
In doing so also remove all references to the --harmony-symbols flag.
Due to the way context snapshotting works, it's not possible to simply enable
the flag by default.

BUG=v8:2158
LOG=Y
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 18:17:54 +00:00
bmeurer@chromium.org
0bd7c29dbf Fix tools/generate-runtime-tests.py.
TBR=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:45:52 +00:00
bmeurer@chromium.org
d07a2eb806 Rename ASSERT* to DCHECK*.
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.

R=jochen@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jkummerow@chromium.org
f66ddb1845 Tick processor: improved [Summary] section
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 08:31:49 +00:00
machenbach@chromium.org
7682126ac2 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-02 12:52:28 +00:00
machenbach@chromium.org
393696527c Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 15:31:13 +00:00
machenbach@chromium.org
966d431c69 Whitespace change to trigger bots.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 15:24:42 +00:00
mstarzinger@chromium.org
204f1ce879 Extend TF test coverage to supported targets.
R=danno@google.com, titzer@chromium.org
TEST=all

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 10:47:01 +00:00
mstarzinger@chromium.org
4491e0e12e Implement lowering of JSStoreContext to machine operators.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-01 09:23:07 +00:00
mstarzinger@chromium.org
bff9c5daeb Add new files to the GN build after r22709.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 15:36:22 +00:00
machenbach@chromium.org
57861e4370 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
NOTREECHECKS=true
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 14:07:13 +00:00
mstarzinger@chromium.org
67388ea26a Implement lowering of JSLoadContext to machine operators.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 11:20:36 +00:00
machenbach@chromium.org
ec91e4ef42 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 06:36:59 +00:00
danno@chromium.org
a1383e2250 Land the Fan (disabled)
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jkummerow@chromium.org
49233c9972 Throw an exception when an access check fails and no external callback is installed
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 09:31:06 +00:00
verwaest@chromium.org
47f9d3ed52 Restore DefineApiAccessorProperty
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 08:09:14 +00:00
machenbach@chromium.org
31dd24fe36 Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 07:07:30 +00:00
machenbach@chromium.org
da0a2f8c7b Whitespace change to trigger bots.
TBR=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-29 06:30:08 +00:00
machenbach@chromium.org
e251f91f0c Teach releases script to read bleeding_edge tags.
The command 'git svn log' does unfortunately not provide the tag-revision relation. We therefore use 'svn log' to retrieve it from the remote repository.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:49:07 +00:00
danno@chromium.org
afcfa7d2b7 Keep new arrays allocated with 'new Array(N)' in fast mode (revisited)
Also explicit length setting with a.length = N should remain in fast mode.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-28 13:12:26 +00:00
danno@chromium.org
b5a5148260 Revert 22595: "Keep new arrays allocated with 'new Array(N)' in fast mode"
Due to failures in mjsunit/array-functions-prototype-misc

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:38:05 +00:00
ernstm@chromium.org
70e2a040b3 Move GCTracer to separate files.
- No functional changes.

R=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 13:06:38 +00:00
danno@chromium.org
ac89b17813 Keep new arrays allocated with 'new Array(N)' in fast mode
Also explicit length setting with a.length = N should remain in fast mode.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 12:08:23 +00:00
yangguo@chromium.org
63fb538128 Introduce more debug events for promises.
BUG=v8:3093
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 10:43:41 +00:00
machenbach@chromium.org
c218c20e54 Fix automatic tagging.
BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-24 07:36:25 +00:00
machenbach@chromium.org
0151837e98 Whitespace change to trigger bots.
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 18:58:43 +00:00
machenbach@chromium.org
f5a4b26061 Add tsan support to v8's gyp and test driver.
Tests only the default variant for now.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 13:14:26 +00:00
danno@chromium.org
51ff0b5e97 tools: more post-mortem constants
Expose more info about post-mortem constants

Useful for node.js and/or other tools.

BUG=
R=danno@chromium.org

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

Patch from Fedor Indutny <fedor.indutny@gmail.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 10:48:16 +00:00
machenbach@chromium.org
8c8e528850 Fix version check in push-to-trunk.
The local master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 09:25:36 +00:00
yangguo@chromium.org
c3edd49265 Expose the content of Sets and WeakSets through SetMirror.
BUG=v8:3093
LOG=Y
R=aandrey@chromium.org, arv@chromium.org, yangguo@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-23 07:33:47 +00:00
machenbach@chromium.org
049b4ad5e4 Fix automatic version update.
This fixes two things:
1. Guarantee that versions are bumped up also when presubmit errors exists. Those errors originate from other CLs and should not stop the automatic versioning.
2. Calculate the last bleeding edge version when pushing to trunk based on remote branch svn/bleeding_edge and not on local branch master. The master branch is not kept up-to-date by the script.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 12:13:36 +00:00
rossberg@chromium.org
8023c9f564 Implement basic code generation for arrow functions
Implements code generation for arrow functions by desugaring them into
a FunctionLiteral. For the moment, a normal FUNCTION_SCOPE is used, so
"this" and "arguments" behave as in normal functions. Implementing the
correct scoping rules is to be done later on.

BUG=v8:2700
LOG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 09:58:01 +00:00
yangguo@chromium.org
1eacdd55a0 Implement String.prototype.codePointAt and String.fromCodePoint.
Contributed by Mathias Bynens <mathiasb@opera.com>.

TBR=mathiasb@opera.com, rossberg@chromium.org
BUG=v8:2840
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:45:32 +00:00
yangguo@chromium.org
219e763155 Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=22452

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-21 08:07:04 +00:00
machenbach@chromium.org
d9fa8f77e8 Add automatic tag script.
The script can be run in a cron job to automatically tag
lkgrs.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/auto_tag.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-18 12:16:14 +00:00
yangguo@chromium.org
e3d9037121 Revert "Expose the content of Maps and WeakMaps through MapMirror."
This reverts r22452.

TBR=amikhaylova@google.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 16:43:52 +00:00
yangguo@chromium.org
4116944ced Expose the content of Maps and WeakMaps through MapMirror.
BUG=v8:3291
LOG=N
R=aandrey@chromium.org, yangguo@chromium.org

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

Patch from Alexandra Mikhaylova <amikhaylova@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-17 15:07:59 +00:00
yangguo@chromium.org
d1333142e2 Ship ES6 Math functions.
R=rossberg@chromium.org
BUG=v8:2938
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 14:00:15 +00:00
vogelheim@chromium.org
a42612b4a7 Change ScriptCompiler::CompileOptions to allow for two 'cache' modes
(parser or code) and to be explicit about cache consumption or production
(rather than making presence of cached_data imply one or the other.)

Also add a --cache flag to d8, to allow testing the functionality.

-----------------------------
API change

Reason: Currently, V8 supports a 'parser cache' for repeatedly executing the same script. We'd like to add a 2nd mode that would cache code, and would like to let the embedder decide which mode they chose (if any).

Note: Previously, the 'use cached data' property was implied by the presence of the cached data itself. (That is, kNoCompileOptions and source->cached_data != NULL.) That is no longer sufficient, since the presence of data is no longer sufficient to determine /which kind/ of data is present.

Changes from old behaviour:

- If you previously didn't use caching, nothing changes.
Example:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);

- If you previously used caching, it worked like this:

  - 1st run:
  v8::CompileUnbound(isolate, source, kProduceToCache);
  Then, source->cached_data would contain the
  data-to-be cached. This remains the same, except you
  need to tell V8 which type of data you want.
  v8::CompileUnbound(isolate, source, kProduceParserCache);

  - 2nd run:
  v8::CompileUnbound(isolate, source, kNoCompileOptions);
  with source->cached_data set to the data you received in
  the first run. This will now ignore the cached data, and
  you need to explicitly tell V8 to use it:
  v8::CompileUnbound(isolate, source, kConsumeParserCache);
-----------------------------

BUG=
R=marja@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:18:33 +00:00
mstarzinger@chromium.org
5963ae48a8 Rename [Load/Delete]ContextSlot for consistency after r22379.
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 12:03:33 +00:00
machenbach@chromium.org
ba37e4f9c8 Properly escape benchmark names when retrieving results.
This allows benchmarks to contain regular expression characters in their name.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 09:54:34 +00:00
machenbach@chromium.org
522beebb1a Allow benchmarks to provide the standard deviation.
Some benchmarks include their own runner which provides an
overall average and a standard deviation. This enables
extraction of that value similar to the other measurements.

These benchmarks should only be run once. If a benchmarks
specifies multiple runs and provides a standard deviation,
a warning will be issued that makes the build fail on the
buildbot side.

TEST=python -m unittest run_benchmarks_test
BUG=393947
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 08:53:46 +00:00
machenbach@chromium.org
570ea3bf5d Add script to bump up version on bleeding edge.
The version.cc file will from now on be controlled on
bleeding edge and on trunk. The next version to use will
always be max(bleeding_edge_version, trunk_version) + 1.

The trunk and bleeding_edge versions are not semantically
tied together. The trunk branch can be used to make
independent point releases of bleeding_edge revisions.

The version on bleeding_edge will be increased if:
- the lkgr version is smaller than the version of the latest
  revision,
- the lkgr version is not a version change itself,
- the tree is not closed for maintenance.

This will allow chromium to refer directly to bleeding_edge
revisions of v8. The v8 versions will not be unique, but
they will change as often as possible, dependent on the lkgr
cycle time and the frequency this script is called.

BUG=391261
LOG=n
TEST=tools/push-to-trunk/script_test.py
TEST=tools/push-to-trunk/bump_up_version.py --dry_run
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-16 07:57:13 +00:00
verwaest@chromium.org
1d55a634a9 Replace AddProperty by AddNamedProperty to speed up the common case
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:05:30 +00:00
verwaest@chromium.org
aa7198dfdd This CL simplifies var / const by ensuring the behavior is consistent in itself, and with regular JS semantics; between regular var/const and eval-ed var/const.
Legacy const is changed so that a declaration declares a configurable, but non-writable, slot, and the initializer reconfigures it (when possible) to non-configurable non-writable. This avoids the need for "the hole" as marker value in JSContextExtensionObjects and GlobalObjects. Undefined is used instead.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 14:01:04 +00:00
machenbach@chromium.org
4493756dcb Whitespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 09:27:07 +00:00
jochen@chromium.org
168742b81a Introduce a PrototypeIterator class and use it for prototype access
The new pattern is that we first get the map of the root of the
prototype chain using Object::GetMapRoot() and then walk up the
prototype chain using Map::prototype().

BUG=???
R=verwaest@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-14 07:19:49 +00:00
machenbach@chromium.org
df3c11d760 Whiltespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-12 16:56:32 +00:00
machenbach@chromium.org
ac96f2d727 Whiltespace change to trigger bots.
TBR=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-12 15:27:18 +00:00