Commit Graph

1445 Commits

Author SHA1 Message Date
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
machenbach@chromium.org
aa2aaa0831 Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:37:53 +00:00
machenbach@chromium.org
316e4ad297 Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 12:28:22 +00:00
machenbach@chromium.org
0a5a0cc36c Whitespace change to trigger bots.
BUG=
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-11 11:54:33 +00:00
machenbach@chromium.org
500b76d5be Only compare allocation output in predictable mode.
This also adds an assert that makes sure allocations are printed.

BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-10 09:48:31 +00:00
machenbach@chromium.org
562274b60d Fix number of times failures are rerun.
BUG=374134
LOG=n
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 12:48:08 +00:00
svenpanne@chromium.org
5f2bd30bb4 Fixed expected builtins count
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 12:11:35 +00:00
machenbach@chromium.org
13f4c91276 Fix test driver output for passes in predictable mode.
Passes in predictable mode were wrongly reported as failures by the json progress indicator. This moves control about what is reported completely to execution.py.

BUG=391747
LOG=n
R=ishell@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:37:36 +00:00
rossberg@chromium.org
23753270ba Fix several issues with ES6 redeclaration checks
R=ulan@chromium.org
BUG=v8:3426
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:35:05 +00:00
dusan.milosavljevic@rt-rk.com
a0f6878a06 Add mips64 port.
Summary:

- Changes in common code are mainly boilerplate changes,
gyp and test status files updates.

- On mips64 simulator all tests pass from all test units.

- Current issues: mjsunit JS debugger tests fail randomly on HW in release mode.
Corresponding tests are skipped on HW.

- Skipped tests on mips64: test-heap/ReleaseOverReservedPages, mjsunit/debug-*

TEST=
BUG=
R=danno@chromium.org, plind44@gmail.com, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 11:08:26 +00:00
mstarzinger@chromium.org
cb778b24ae Fix trailing whitespace in gdbinit file.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-09 10:55:55 +00:00
machenbach@chromium.org
e3e03d80ef Add predictable mode to test driver.
BUG=391747
LOG=n
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 15:59:23 +00:00
jkummerow@chromium.org
34e09e5644 Add gdbinit to tools/ directory.
Suggested usage: echo "source /path/to/v8/tools/gdbinit" >> ~/.gdbinit

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 16:21:29 +00:00
jochen@chromium.org
9230c1f3ca Reland^3 r22105 "Remove static initializer from isolate"
This time:
When accessing the isolate from the sampler signal handler, don't try
to take the global lock. A sampler should only be active if there is
already an isolate on that thread, so we don't need to check whether
the TLS key is already created.

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-07 10:56:36 +00:00
jarin@chromium.org
cfccf7938e Reland "Linux perf tool support update + refactoring." (r22146, fifth attempt)
Bringing the offending timer functions to the platform dependent files.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 19:18:26 +00:00
aandrey@chromium.org
952a986dd1 Introduce debug events for Microtask queue.
R=yangguo@chromium.org, adamk@chromium.org, rafaelw@chromium.org, rossberg@chromium.org
BUG=chromium:272416
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 15:56:01 +00:00
yangguo@chromium.org
f3b9ece6a4 Revert "Reland^2 r22105 "Remove static initializer from isolate""
This reverts r22167.

BUG=v8:3421
LOG=N
TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 12:33:16 +00:00
machenbach@chromium.org
ba584456e6 Fix result status of rerun flaky tests.
Tests that pass on reruns where wrongly treated as failures. Now the result state can include any of (PASS, FAIL, CRASH, TIMEOUT)

BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 09:33:22 +00:00
jochen@chromium.org
7b94143287 Don't even include v8.h from libbase or libplatform
BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 08:50:52 +00:00
jochen@chromium.org
abb0ff205c Buildfix for windows after r22180
TBR=yangguo@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:57:29 +00:00
jochen@chromium.org
ca16bb7ae2 Split out libplatform into a separate libary
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.

Change all binaries to use the default platfrom from libplatform.

Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).

BUG=none
R=jkummerow@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
machenbach@chromium.org
cf88d3c953 Fix rerun barrier for flaky tests.
- The rerun flag doesn't include the first run.
- Timeout is an int. The division makes it 0 for small
numbers.

BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 15:33:21 +00:00
jochen@chromium.org
d8aefde617 Reland^2 r22105 "Remove static initializer from isolate"
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler

BUG=none
R=dcarney@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:43:54 +00:00
yangguo@chromium.org
44d6ef37ab Reland "Fix stack trace accessor behavior."
BUG=v8:3404
LOG=N
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:18:10 +00:00
yangguo@chromium.org
b6fcac16a3 Revert "Reland "Linux perf tool support update + refactoring." (r22118)"
This reverts r22146.

TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 10:19:35 +00:00
machenbach@chromium.org
4d55c22827 Add information about rerun tests to json output.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 09:12:07 +00:00
jarin@chromium.org
1dbeb822bd Reland "Linux perf tool support update + refactoring." (r22118)
This disables the perf support in Android because of build problems with librt (should be fixable with a bit of effort, but priority is low).

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:38:52 +00:00
machenbach@chromium.org
ae017be69c Let test runner rerun failures to test for flakes.
When enabled, this dynamically adds jobs that had failures back to the pool. Special json output for flakes will be handled in a separate CL.

BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 08:15:44 +00:00
jochen@chromium.org
539c6183e3 Revert "Reland 22105 "Remove static initializer from isolate""
BUG=none
TBR=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
jochen@chromium.org
8fc4a8e1b3 Reland 22105 "Remove static initializer from isolate"
R=dcarney@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:04:44 +00:00
jarin@chromium.org
06e082c815 Revert "Linux perf tool support update + refactoring." (r22118).
Android ninja build still failing.

TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 13:12:08 +00:00
jarin@chromium.org
2b7580c2d4 Reland "Linux perf tool support update + refactoring."
This relands r22098.

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 12:20:21 +00:00
verwaest@chromium.org
cf094f48e9 Improve error reporting for duplicate object template properties.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 10:00:19 +00:00
jochen@chromium.org
9acb3bcbb2 Revert 22105 "Remove static initializer from isolate"
Fails to run on mac

BUG=none
LOG=n
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 07:07:50 +00:00
jochen@chromium.org
bb169b93ae Remove static initializer from isolate
We don't have a default isolate anymore, so we can just create the
thread data and keys on demand

BUG=none
R=dcarney@chromium.org, svenpanne@chromium.org
LOG=y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 06:43:14 +00:00
jochen@chromium.org
2e1a6ba72a Revert 22098 "Linux perf tool support update + refactoring."
GetCurrentThreadId doesn't compile on android

Also reverts follow up build fix attempts

BUG=none
LOG=n
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 17:21:35 +00:00
jarin@chromium.org
1f338fa2e8 Linux perf tool support update + refactoring.
This adds timestamps to allow profiling with code space reuse. Also a couple of updates to reflect the changes in the JIT perf interface + a move of the perf-related stuff into separate files.

Unfortunately, the change only works with the latest patch  to the perf tool from a Linux perf tool contributor (Stephane Eranian).

BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 14:35:58 +00:00
jochen@chromium.org
a4506cd3f2 Move platform abstraction to base library
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.

The CPU::FlushICache method is moved to CpuFeatures::FlushICache

RoundUp and related methods are moved to base/macros.h

Remove all layering violations from src/libplatform

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
yangguo@chromium.org
5d408ee73d Revert "Fix stack trace accessor behavior."
This reverts r22089.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:16:42 +00:00
yangguo@chromium.org
e1d80e2858 Fix stack trace accessor behavior.
R=verwaest@chromium.org
BUG=v8:3404
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 11:48:20 +00:00
yangguo@chromium.org
f6c4178aa7 Introduce debug events for promises.
R=aandrey@chromium.org, rossberg@chromium.org
BUG=v8:3093
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 11:12:42 +00:00
danno@chromium.org
9176485c8b Support non-internalized string key lookups in Hydrogen KeyedLoadIC
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-28 00:33:04 +00:00
machenbach@chromium.org
134e50142f Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 18:30:14 +00:00
vogelheim@chromium.org
86529a1826 Build "snapshot_blob.bin" only for the host when using separate toolsets.
BUG=389310
LOG=N
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 16:47:25 +00:00
verwaest@chromium.org
63431b23d1 Split SetProperty(...attributes, strictmode) into DefineProperty(...attributes) and SetProperty(...strictmode)
BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 13:48:37 +00:00
yangguo@chromium.org
0133d96be3 Remove script collected debug event.
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 12:10:43 +00:00
machenbach@chromium.org
0fbb59747c Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 10:28:44 +00:00
machenbach@chromium.org
9d0988b0fe Let test driver nuke test perf data on errors.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 09:51:08 +00:00
svenpanne@chromium.org
e25f833496 Added slim versions of output streams.
R=bmeurer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:42:17 +00:00
danno@chromium.org
eaca750b29 Remove distinction between hidden and normal runtime functions
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 15:26:10 +00:00
machenbach@chromium.org
bd7652f1f5 Whitespace change to trigger bots.
TBR=jkummerow@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:24:15 +00:00
machenbach@chromium.org
79b1f09d16 Fix tools/whitespace.txt. Huge perf improvements.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 14:14:54 +00:00
machenbach@chromium.org
70ef1c240f Whitespace change to trigger bots.
TBR=jkummerow@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 10:36:02 +00:00
wingo@igalia.com
bf8e802f1a Add @@iterator, .entries(), .values(), .keys() support to typed arrays
R=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:46:53 +00:00
machenbach@chromium.org
52ef087dcf Fix clusterfuzz check in auto-roll.
Minor fixes: Strip new lines from api key. Missing import. Use string query parameters.

BUG=
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:44:59 +00:00
machenbach@chromium.org
7833a1321c Add clusterfuzz check to v8 auto-roll script and use CQ.
This adds a check step that makes sure there are no new issues when rolling into chromium.

It also checks the cq bit on roll upload.

BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:17:45 +00:00
wingo@igalia.com
699bc8f73d Add @@iterator support for strings
R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:43:14 +00:00
marja@chromium.org
62ffc7de20 New try: Parser: Delay internalizing strings and values
This is a reincarnation of r21841.

The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:03:24 +00:00
machenbach@chromium.org
9d58d1428a Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 13:55:26 +00:00
baptiste.afsa@arm.com
f10c5574b0 ARM64: Enable low level profiling.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:40:20 +00:00
haitao.feng@intel.com
5970d4fa10 Add X32 port into V8
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
adamk@chromium.org
257adcf0ed Map/Set: Implement constructor parameter handling
When an iterable object is passed in as the argument to the Map and Set
constructor the elements of the iterable object are used to populate the
Map and Set.

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-iterable
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-iterable

BUG=v8:3398
LOG=Y
R=rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 18:05:57 +00:00
Jacob.Bramley@arm.com
add767f139 ARM64: Optimize generated code for gaps
R=ulan@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 16:00:53 +00:00
vogelheim@chromium.org
7b7bb25a24 Support external startup data in V8.
[Re-retry of r21696 and r21739]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +00:00
rmcilroy@chromium.org
7f429e62c3 [Arm]: Simplify compile-time Arm feature detection.
Simplify the compile time feature detection on Arm:
 - Define CAN_USE_XXX definitions unconditionally for all target/host
   toolchain combinations
 - Rename arm_test / ARM_TEST to arm_test_noprob / ARM_TEST_NO_FEATURE_PROBE
 - Don't set ARM_TEST_NO_FEATURE_PROBE implicitly on the simulator to make
   make simulator / native more consistent
 - Unify CpuFeatures::PrintTarget for simulator and native builds
 - Remove unecessary CAN_USE_VFP_INSTRUCTIONS definition for android (this is
   the default for arm_fpu=default)
 - Add a CpuFeatures::Probe() before calling CpuFeatures::PrintFeatures() in PrintHelp
    to ensure we have probed features before printing them.

BUG=384474
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 12:19:54 +00:00
verwaest@chromium.org
d06afb3ce0 Remove AccessControl from AccessorPairs, as it's an invalid usecase of AllCan*
BUG=
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 09:02:16 +00:00
mstarzinger@chromium.org
fec6e62dfb Check alpha-sorting of includes during presubmit.
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
yangguo@chromium.org
b5c716bba2 IC misses should not count towards execution pauses in plots.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:05:31 +00:00
jkummerow@chromium.org
01dde7513c Add safe numerics classes, imported from Chromium.
Not used for anything yet.

R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 11:01:54 +00:00
marja@chromium.org
9ad39a8043 Revert "Parser: Delay internalizing strings and values." (r21841)
Plus the fixes on top.

Reason: regresses benchmarks (JSBench) and perf (morejs).

TBR=rossberg@chromium.org
BUG=385404
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-18 07:30:56 +00:00
marja@chromium.org
a290cf8cda Parser: Delay internalizing strings and values.
This is needed so that we can run Parser on a non-main thread (independent
of the Isolate and the V8 heap).

BUG=
R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 13:31:56 +00:00
jkummerow@chromium.org
6e29768eb6 Have one, long-lived map for bound functions.
This avoids creating a new map for every bound function. Bonus: some cleanup in Runtime_FunctionBindArguments.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 12:19:04 +00:00
jkummerow@chromium.org
3b545740b4 Remove one more arch-specific target name.
One more target had the architecture added to its name since r14209
originally landed and was missed when that change was reverted. Remove
the architecture from v8_libbase as well.

BUG=
R=jkummerow@chromium.org

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

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 11:02:34 +00:00
yangguo@chromium.org
2e8a6f5e99 Mark timed range in the profile plot.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-13 09:07:56 +00:00
mstarzinger@chromium.org
ed61b85c78 Make timestamp of fuzz harness archives finer grained.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 18:55:09 +00:00
wingo@igalia.com
dfb1c7dc9e For-of calls [Symbol.iterator]() on RHS to get iterator
R=rossberg@chromium.org
BUG=http://code.google.com/p/v8/issues/detail?id=2735
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 17:31:54 +00:00
wingo@igalia.com
8e165acbdf Add @@iterator for generator objects
R=arv@chromium.org, rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21797 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-12 08:53:07 +00:00
machenbach@chromium.org
6803022ada Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 22:09:25 +00:00
machenbach@chromium.org
b4226accb7 Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 21:45:54 +00:00
machenbach@chromium.org
6c26eb26ab Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 12:16:14 +00:00
verwaest@chromium.org
bb2b08b194 Implement LookupIterator designed to replace LookupResult
BUG=
R=ishell@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-11 09:59:14 +00:00
yangguo@chromium.org
81f0444880 Do not merge adjourning ranges when calculating percentages in plot.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:46:30 +00:00
danno@chromium.org
7c56c0e864 Reland 21720: Introduce FieldIndex to unify and abstract property/field offset
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 14:01:08 +00:00
machenbach@chromium.org
6ccf6f8bf8 Revert "Support external startup data in V8."
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.

Conflicts:
	src/d8.cc

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
yangguo@chromium.org
dc7fe989ae Do not clear mirror cache when fetching loaded scripts.
R=yurys@chromium.org
BUG=376534
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:42:41 +00:00
yangguo@chromium.org
1f8adc1503 Log IC misses as timer events.
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:34:18 +00:00
danno@chromium.org
ec57abdaa7 Revert 21720: "Introduce FieldIndex to unify and abstract property/field offset"
Due to assorted failures

R=mstarzinger@chromium.org
TBR=mstarzginer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 09:00:10 +00:00
machenbach@chromium.org
5959f9f569 Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 08:51:12 +00:00
machenbach@chromium.org
49d547e8f8 Add whitespace file to allow no-op changelists for bot maintenance.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 07:13:36 +00:00
danno@chromium.org
ffc4ad0697 Introduce FieldIndex to unify and abstract property/field offset
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 14:05:10 +00:00
yangguo@chromium.org
47e96513af Fix bug in tools/plot-timer-events
Bug was introduced in r21338.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-06 08:15:05 +00:00
vogelheim@chromium.org
ba9f391bc0 Support external startup data in V8.
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]

If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
jochen@chromium.org
799fc835f8 Move atomic ops and related files to base library
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 12:14:47 +00:00
mvstanton@chromium.org
e039477000 Revert "Support external startup data in V8."
This reverts commit r21646, as it blocks pushing to chromium.

TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
ishell@chromium.org
55443af648 Fixed lint errors caused by "runtime/references" rule (Is this a non-const reference?) and the rule itself is restored.
BUG=v8:3326
LOG=N
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 15:45:38 +00:00
machenbach@chromium.org
e4bde5ca25 Let benchmark runner exit with proper return codes.
BUG=374740
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:58:52 +00:00
vogelheim@chromium.org
61509aaea5 Support external startup data in V8.
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.

The build-time option is off by default. Nothing should change if
it's not enabled.

BUG=
R=bmeurer@chromium.org, jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +00:00
yangguo@chromium.org
feed21b6d5 Add option to disable MirrorCache.
R=yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:27:19 +00:00
jochen@chromium.org
a980e51471 Add DEPS files and run checkdeps in presubmit check
BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:39:42 +00:00
jochen@chromium.org
368262fc76 Ignore buildtools directory in presubmit.py checks
BUG=none
R=machenbach@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 13:38:35 +00:00
jochen@chromium.org
2874a5ce8e Update include paths for gcmole
TBR=mvstanton@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 11:01:35 +00:00
jochen@chromium.org
55e65935c9 Fix compilation on win shared and mips
TBR=mvstanton@chromium.org
LOG=n
BUG=none

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:29:03 +00:00
jochen@chromium.org
56a486c322 Use full include paths everywhere
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps

BUG=none
R=jkummerow@chromium.org, danno@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
jochen@chromium.org
8e05308e6c First cut at run_mksnapshot action for gn
BUG=none
R=brettw@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 06:50:46 +00:00
adamk@chromium.org
509a1a405c ES6: Add support for values/keys/entries for Map and Set
This allows code like this:

  var map = new Map();
  map.set(1, 'One');
  ...
  var iter = map.values();
  var res;
  while (!(res = iter.next()).done) {
    print(res.value);
  }

BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 00:34:01 +00:00
jkummerow@chromium.org
f6a249c6d0 Inlined optimized runtime functions: expose Runtime versions for direct testing, skip Hydrogen versions
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-30 17:07:38 +00:00
bmeurer@chromium.org
e9357a5e77 Refactor HType to get rid of various hacks.
- Move HType to it's own file.
- Add HType::HeapObject and some other useful types.
- Get rid of the broken and useless HType::NonPrimitive.
- Introduce HType::FromType() to convert from HeapType to HType.
- Also add unit tests for HType.
- Fix types in Crankshaft.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-29 04:13:50 +00:00
machenbach@chromium.org
509c15c799 Add new benchmark suite runner.
TEST=./tools/run_benchmarks.py benchmarks/v8.json
TEST=cd tools/unittests; python -m unittest run_benchmarks_test

Does not support custom results processors yet. Will implement that in a future CL.

BUG=374740
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:05:17 +00:00
mstarzinger@chromium.org
f1204c433b Use non-copying sorting in test harness.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:01:47 +00:00
machenbach@chromium.org
cbd242f707 Fix deopt fuzzer after adding a no_sorting flag.
BUG=
TBR=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 13:00:47 +00:00
mstarzinger@chromium.org
18ac428252 Add flag to test harness to stop sorting test cases.
R=jkummerow@chromium.org, machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 10:49:10 +00:00
mstarzinger@chromium.org
fd21e8f56f Add Seq[One,Two]ByteString to runtime test generator.
R=dcarney@chromium.org, jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 09:52:38 +00:00
jochen@chromium.org
6e3ffe1ca1 Extract build configuration into a separate header and move it to the base lib
With this, change, atomicops, once, and lazy instance are no longer dependant
on v8 core. I'll move them in a follow-up change to the libbase as well.

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-28 08:07:18 +00:00
jochen@chromium.org
88abd8abed Reland 21529 - "Add a flag to d8 to invoke weak callbacks"
> This will send an idle notification and a low memory notification after
> each test.
>
> For some reason it's not enough to send a low memory notification alone.
>
> BUG=none
> R=yangguo@chromium.org
> LOG=n

BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 15:16:42 +00:00
yangguo@chromium.org
c92d6f57ee Revert "Add a flag to d8 to invoke weak callbacks"
This reverts r21529.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 14:21:46 +00:00
jochen@chromium.org
4cc924251d Add a flag to d8 to invoke weak callbacks
This will send an idle notification and a low memory notification after
each test.

For some reason it's not enough to send a low memory notification alone.

BUG=none
R=yangguo@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 13:57:48 +00:00
machenbach@chromium.org
2dc61205fd Send idle notification on ASAN builder for proper tear down.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 13:34:23 +00:00
jochen@chromium.org
0d1dc27eda Reland 21482 - "Merge v8globals.h and globals.h"
> BUG=none
> R=mstarzinger@chromium.org
> LOG=n
>
> Review URL: https://codereview.chromium.org/293363006

BUG=none
TBR=mstarzinger@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 11:28:08 +00:00
verwaest@chromium.org
53bbe2aec9 Revert "Merge v8globals.h and globals.h"
Because of tree redness.

TBR=jochen@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:39:04 +00:00
jochen@chromium.org
cd818d697d Merge v8globals.h and globals.h
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 08:15:13 +00:00
yangguo@chromium.org
32f433c12e Fix leak in debug mirror cache.
When fetching loaded scripts, mirror objects are created and cached.
If the cache is not cleared, it holds script objects alive.

This also fixes a minor issue with script unloading.

R=ulan@chromium.org
BUG=376534
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 07:05:56 +00:00
danno@chromium.org
9c485e182b Introduce x87 port
Support x87-only platform (ia32 without SSE)

R=danno@chromium.org

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

Patch from Weiliang Lin <weiliang.lin@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 16:37:27 +00:00
ishell@chromium.org
7c55f645d5 Cleanup after inobject slack tracking improvement.
1) %SetExpectedNumberOfProperties() function removed.
2) Obsolete SharedFunctionInfo::BeforeVisitingPointers() removed.

R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-23 12:55:57 +00:00
jkummerow@chromium.org
d6a05b729c Harden a few builtins
Introducing BUILTIN_ASSERT, builtins' equivalent of RUNTIME_ASSERT.

R=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 13:59:37 +00:00
jkummerow@chromium.org
0829572ee8 Revert "Rename target-specific binaries built for host."
The Android build system support for gyp has been fixed to handle
target-dependent host binaries correctly without requiring them to
include the target architecture in the name. Remove the suffixes to make
referring to these targets simpler again.

This reverts r14209.

BUG=
R=jkummerow@chromium.org

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

Patch from Richard Coles <torne@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:04:24 +00:00
yangguo@chromium.org
d9736047b7 Implement Mirror object for Symbols.
R=rossberg@chromium.org, yurys@chromium.org
BUG=v8:3290
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 15:13:50 +00:00
jkummerow@chromium.org
d4d4d30204 Stop using urllib.urlretrieve() directly.
Using urllib for SSL connections when behind a proxy is known to be
broken, so apply the same fix from depot_tools r149742 and use a wrapper
around urllib2 instead.

R=jkummerow@chromium.org
TEST=run test262 behind corporate proxy

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

Patch from Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 09:25:05 +00:00
adamk@chromium.org
50f5a79590 Use SameValueZero for Map and Set
Instead of normalizing the keys we use SameValueZero for the actual
comparison.

BUG=v8:1622
LOG=Y
R=mstarzinger@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-21 08:47:02 +00:00
adamk@chromium.org
70c3a714a1 ES6 Map/Set iterators/forEach improvements
This changes how Map/Set interacts with its iterators. When the
underlying table is rehashed or cleared, we create a new table (like
before) but we add a reference from the old table to the new table. We
also add an array describing how to transition the iterator from the
old table to the new table.

When Next is called on the iterator it checks if there is a newer table
that it should transition to. If there is, it updates the index based
on the previously recorded changes and finally changes itself to point
at the new table.

With these changes Map/Set no longer keeps the iterators alive. Also,
as before, the iterators keep the underlying table(s) alive but not the
actual Map/Set.

BUG=v8:1793
LOG=Y
R=mstarzinger@chromium.org, rossberg@chromium.org

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

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-20 14:22:05 +00:00
machenbach@chromium.org
f737580c65 Let test driver export json results.
BUG=374134
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:36:53 +00:00
adamk@chromium.org
62e09a3534 Fix fuzzable JS function count after r21356
TBR=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 08:19:54 +00:00
adamk@chromium.org
35b8b0b27a Move microtask queueing logic from JavaScript to C++
This avoids the appearence of a leak due to storing a JSObject
as the microtask_state in the strong root list, and allows callers
to call Isolate::RunMicrotasks() without having any v8::Context
available (as at least Blink has interest in doing).

The queue is now a strong root, represented as a FixedArray of JSFunctions
(or empty_fixed_array, if it's empty); it doubles in size when it needs to grow.
The number of elements in the queue is stored in Isolate::pending_microtask_count().

LOG=Y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-19 07:57:04 +00:00
yangguo@chromium.org
fe243379f8 Decouple CpuFeatures from serializer state.
Traditionally, we cross compile a snapshot iff the serializer is enabled.
This will change in the future.

Changes:
 - CpuFeatures probing is done once per process, depending on whether we
   cross compile.
 - CpuFeatures are consolidated into the platform-independent assembler.h
   as much as possible.
 - FLAG_enable_<feature> will only be checked at probing time (already the
   case for ARM).
 - The serializer state is cached by the MacroAssembler.
 - PlatformFeatureScope is no longer necessary.
 - CPUFeature enum values no longer map to CPUID bit fields.

R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 15:18:24 +00:00
jkummerow@chromium.org
8407277cc0 Harden builtins BuildResultFromMatchInfo and URIDecodeOctets
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:43:19 +00:00
jkummerow@chromium.org
5843a3359c Add builtin detector to generate-runtime-tests.py
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:23:32 +00:00
jkummerow@chromium.org
43c170eb44 Move check for existence of generated tests from run-tests.py to presubmit.py
Inspired by https://codereview.chromium.org/275143002#msg3

R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:18:13 +00:00
jkummerow@chromium.org
48c39e57b2 Expand C++ macros in tools/generate-runtime-tests.py to increase coverage
R=dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:16:08 +00:00
yangguo@chromium.org
5c3c644cd3 Make plot shell script nicer.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-16 13:04:45 +00:00
machenbach@chromium.org
04043b3352 Fix keyboard interrupt in test driver.
Drain the queues to prevent failures when queues are garbage collected. Fails when interrupting test262 otherwise.

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 15:01:27 +00:00
machenbach@chromium.org
1d0db84277 Fix deopt fuzzer after test runner changes.
Use the same keyboard interrupt logic as run-tests.
Close the perf database explicitly after one run, as it has two runs on the same architecture. Currently the first run closes on garbage collection, which might corrupt the second run.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:40:40 +00:00
machenbach@chromium.org
743e07bad0 Run tests sorted by expected runtime.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-15 12:01:34 +00:00
yangguo@chromium.org
ca9555120c Remove socket implementation from V8.
R=jkummerow@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:34:13 +00:00
yangguo@chromium.org
33fba3bfa1 Remove DebuggerAgent.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 16:28:46 +00:00
machenbach@chromium.org
fc437f4007 Introduce a dynamic process pool for the local test driver
The new process pool allows adding jobs after testing has been started. It will also allow to restructure building the job queue (in a follow up CL), so that testing can start instantly while the queue is being built.

Also attempts to clean up the keyboard-interrupt logic. Idea: Only catch keyboard interrupt once per process at the outermost level. Use proper "finally" clauses to clean up everywhere where a keyboard interrupt might occur. Never turn named exceptions into none-exceptions using anonymous "raise".

TEST=python -m unittest pool_unittest
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 13:30:57 +00:00
jkummerow@chromium.org
56c0eeb5e4 Add randomized test generation capability to tools/generate-runtime-tests.py
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-14 12:54:34 +00:00
jkummerow@chromium.org
e7a34f3fd9 Harden runtime functions (part 6).
Also blacklist LiveEdit-related functions from generated runtime tests.

R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-12 09:37:26 +00:00
adamk@chromium.org
fb991aafe3 Updated runtime function counts after r21243
TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 18:28:11 +00:00
ishell@chromium.org
ff2d004f85 Presubmit checks recover:
1) runtime/references checks temporarily disabled (56 items left)
2) other errors fixed

R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-09 12:59:24 +00:00
jkummerow@chromium.org
9866670c26 Add test case generator for runtime functions
R=dslomov@chromium.org, machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 13:11:59 +00:00
svenpanne@chromium.org
967a79d21a Unbreak samples and tools.
Removed a related TODO in d8.cc on the way.

BUG=v8::3318
LOG=y
R=dcarney@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-08 06:52:35 +00:00
jkummerow@chromium.org
e1bbd26794 Refactor mjsunit/fuzz-natives-* into a separate test suite.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 12:31:26 +00:00
jochen@chromium.org
24696e1d09 Merge counters and v8-counters
BUG=none
LOG=n
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-07 07:15:24 +00:00
jochen@chromium.org
f6e2d0eb1d Remove strange v8_target_arch=="mac" conditions from gyp files
mac is not an architecture, and it doesn't make sense to compile in both
the ia32 and x64 archs at the same time

BUG=none
R=jkummerow@chromium.org
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 15:25:51 +00:00
rossberg@chromium.org
ae0a36ee32 Re^3-land "Ship promises and weak collections"
R=jochen@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-06 14:48:34 +00:00
machenbach@chromium.org
45681c688d Remove old branch logic from push scripts.
The old temporary branch is not needed anymore. All scripts create a different branch after creating the temporary branch.

This also fixes logging subprocesses and logs a warning to track down script failures due to wrong branches.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-05 15:16:26 +00:00
jochen@chromium.org
629725d4fb Merge v8converions with conversions
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-28 09:14:24 +00:00
jochen@chromium.org
8795d02bfd Enter a description of the change.
Reland 20968 - "Merge v8utils.* and utils.*"

>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/256753002

BUG=none
LOG=n
TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:47:01 +00:00
jochen@chromium.org
65a983a481 Reland 20962 "Break cyclic reference between utils and platform."
Don't use OS::MemCopy in BitCast. It's crucial that the compiler can
optimize the memcpy away.

>  Platform includes utils.h for the definition of Vector<>, so utils.h
>  can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
>  We split out Vector<> into its own header to break this cycle
>  dependency.
>
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/251753002

TBR=jkummerow@chromium.org
LOG=n
BUG=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 13:43:58 +00:00
ulan@chromium.org
19aa122d87 Move JSON-stringify webkit test to V8.
BUG=367089
LOG=N
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:49:55 +00:00
jochen@chromium.org
4ed16eaec5 Revert 20962 "Break cyclic reference between utils and platform."
>  Platform includes utils.h for the definition of Vector<>, so utils.h
>  can't include platform.h and has to use memcpy instead of OS::MemCopy.
>
>  We split out Vector<> into its own header to break this cycle
>  dependency.
>
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/251753002

BUG=none
LOG=n
TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:23:11 +00:00
jochen@chromium.org
f2a1176f90 Revert 20968 - "Merge v8utils.* and utils.*"
>  BUG=none
>  R=mstarzinger@chromium.org
>  LOG=n
>
>  Review URL: https://codereview.chromium.org/256753002

BUG=none
LOG=n
TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 12:21:32 +00:00
machenbach@chromium.org
0516f641cd Let releases script retrieve information about chromium branches.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:33:19 +00:00
yangguo@chromium.org
cb2f43cb14 Always include debugger support.
Motivation: we do not have test coverage for debuggersupport=off.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 11:00:37 +00:00
jochen@chromium.org
c0380f6a56 Merge v8utils.* and utils.*
BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 10:57:34 +00:00
jochen@chromium.org
79be539892 Break cyclic reference between utils and platform.
Platform includes utils.h for the definition of Vector<>, so utils.h
can't include platform.h and has to use memcpy instead of OS::MemCopy.

We split out Vector<> into its own header to break this cycle
dependency.

BUG=none
R=mstarzinger@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-25 08:37:18 +00:00
jochen@chromium.org
88dc054f39 Extract common macros and start a base library
BUG=v8:3015
R=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-23 11:51:28 +00:00
svenpanne@chromium.org
eeb1d7020e Revert "Simplify v8/Isolate teardown."
This reverts commit r20876, it broke non-snapshot tests.

TBR=bmeurer@chromium.org

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
618ff3a3f5 Simplify v8/Isolate teardown.
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used.

BUG=359977
LOG=y
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-22 09:24:56 +00:00
ishell@chromium.org
313844d842 Heap::AllocateStringFromOneByte() and major part of its callers handlified.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 13:27:02 +00:00
mstarzinger@chromium.org
1c314382c0 Extend GCMole to also cover cctest files.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-17 11:57:08 +00:00
plind44@gmail.com
5a016958c6 MIPS: Add big-endian support for MIPS.
Important notices:

- The snapshot cannot be created for big-endian target in cross-compilation
  environment on little-endian host using simulator.

- In order to have i18n support working on big-endian target, the icudt46b.dat and
  icudt46b_dat.S files should be generated and upstreamed to ICU repo.

- The mjsunit 'nans' test is endian dependent, it is skipped for mips target.

- The zlib and Mandreel from Octane 2.0 benchmark are endian dependent due to
  use of typed arrays.

TEST=
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 16:39:21 +00:00
machenbach@chromium.org
8cab750a81 Let revision script add commit dates.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-15 12:00:53 +00:00
jochen@chromium.org
181bcc3416 Clean up default-platform gyp defines
The files that are excluded do not exist at that location, so the rule
is not effective.

We'll first want to move the platform stuff into a separate library, so
I'm just removing those lines for now

BUG=v8:3015
R=dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 13:38:16 +00:00
machenbach@chromium.org
0182a0f16a Make V8 releases script add useful links.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-14 10:32:00 +00:00
marja@chromium.org
069d783a91 Remove the PreCompile API and ScriptData.
The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 11:44:49 +00:00
machenbach@chromium.org
f1c2b7007d Fix chromium ranges output in v8 releases script.
Add space after commas for auto line break in spreadsheets.
Add default empty strings to avoid undefined values in spreadsheets.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-11 07:40:48 +00:00
vogelheim@chromium.org
b88068ff2b Add support for --raw and --omit to js2c.
--raw writes the raw source data to a separate file
  --omit allows omitting the source data from the generated files.

The intention is (future) support for having the embedder optionally
store the source data 'blob' and handling it to V8::Initialize, with
the goal of reducing the binary size of V8.

The patch also contains numerous unrelated changes/refactorings in the hope of increasing maintainability. Let me know whether you agree. In particular:
- Remove some unused code.
- Do not overwrite Python built-ins (e.g. the type() function)
- Do not use a string as exception object (no longer supported in python 2.7)
- Add command line argument handling + help text.
- Split logic into:
  - PrepareSources - which reads + preprocesses the source files
  - BuildMetadata - which takes the prepared sources and generates the data the code template needs.

BUG=355539
LOG=N
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20657 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 14:53:32 +00:00
bmeurer@chromium.org
546d0a0b70 Add random_seed parameter to run-deopt-fuzzer.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 10:43:13 +00:00
bmeurer@chromium.org
5a564648dd Improve reproducibility of test runs.
Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).

Also fix all uses of rand() to make use of our RNG class
instead.

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-10 07:25:49 +00:00
machenbach@chromium.org
fd8a2a7f7a Add V8 releases script.
This script retrieves the history of all V8 branches and trunk revisions and their corresponding Chromium revisions.

TEST=tools/push-to-trunk/releases.py -c <chrome path> --csv test.csv

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 14:30:02 +00:00
machenbach@chromium.org
a430449c68 Add the ability to disable tests in nosnap mode.
BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-09 12:57:43 +00:00
machenbach@chromium.org
c9d8b90f1b Automatically determine current V8 sheriff in chromium-roll script.
BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-08 12:07:49 +00:00
marja@chromium.org
3d1a17c2ac Update tests to use the new compilation API + related fixes.
Esp. get rid of PreCompile in tests, as it's going to be removed.

Notes:
- The new compilation API doesn't have a separate precompilation phase, so there
is no separate way to check for errors except checking the compilation
errors. Removed some tests which don't make sense any more.
- test-api/Regress31661 didn't make sense as a regression test even before the
compilation API changes, because Blink doesn't precompile this short scripts. So
detecting this kind of errors (see crbug.com/31661 for more information) cannot rely
on precompilation errors.
- test-parsing/PreParserStrictOctal has nothing to do with PreParser, and the comment
about "forcing preparsing" was just wrong.
- test-api/PreCompile was supposed to test that "pre-compilation (aka
preparsing) can be called without initializing the whole VM"; that's no longer
true, since there's no separate precompilation step in the new compile
API. There are other tests (test-parsing/DontRegressPreParserDataSizes) which
ensure that we produce cached data.
- Updated tests which test preparsing to use PreParser directly (not via the
 preparsing API).
- In the new compilation API, the user doesn't need to deal with ScriptData
ever. It's only used internally, and needed in tests that test internal aspects
(e.g., modify the cached data before passing it back).
- Some tests which used to test preparse + parse now test first time parse +
  second time parse, and had to be modified to ensure we don't hit the
  compilation cache.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 12:36:23 +00:00
machenbach@chromium.org
4b222fb69e Make auto-roll script also roll patched trunk revisions.
This will allow the auto-roll bot to roll the last trunk patches, e.g. "Version 3.4.5.1 ...".

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-04 07:23:45 +00:00
machenbach@chromium.org
48b8a545c4 Fix bug entry and quotation marks in merge-to-branch.
This fixes usage of quotation marks inside titles of merged patches.
This also fixes aggregation of empty or "none" BUG entries.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 13:01:22 +00:00
machenbach@chromium.org
5f3c8a11fa Add merged patches to commit title in merge-to-branch.
This makes it easier to grep for patches in title in the revision history.

This also removes the redundant information into which branch was merged, as this can be derived from the version number in the title now.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 12:57:33 +00:00
machenbach@chromium.org
18308b389c Add version number to commit message in merge-to-branch.
This is a step towards automatically rolling arbitrary trunk revisions into Chromium.

This also deprecates the bash scripts as they now start to divert.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-03 09:42:18 +00:00
jkummerow@chromium.org
6b1f05bf35 tools: strip whitespace in gen-postmortem-metadata.py
R=jkummerow@chromium.org

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

Patch from Ben Noordhuis <ben@strongloop.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 13:04:08 +00:00
machenbach@chromium.org
eba6cb49c1 Fix auto-roll configuration.
TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:13:17 +00:00
machenbach@chromium.org
bde7527a07 Add execution permission to auto-roll script.
TBR=jarin@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 07:04:53 +00:00
machenbach@chromium.org
0b246776ec Implement auto-roll script.
This script will (1) check if there is an active roll on rietveld (2) check if there is a trunk revision ready to be rolled and (3) call the chromium_roll script, creating a roll CL. The script will be called regularly through a cron job.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-02 06:59:25 +00:00
jkummerow@chromium.org
1d19dc9e45 Add msan.h to v8.gyp.
R=jkummerow@chromium.org

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

Patch from Evgeniy Stepanov <eugenis@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 12:40:58 +00:00
bmeurer@chromium.org
7c38cdb2bc Make it possible to use HeapType inside objects-inl.h.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-01 11:07:09 +00:00
jochen@chromium.org
b7039334ae Revert 20313 - "Ship promises and weak collections"
> R=mstarzinger@chromium.org
> BUG=
>
> Committed: https://code.google.com/p/v8/source/detail?r=20211
>
> Review URL: https://codereview.chromium.org/206163004

R=rossberg@chromium.org
TBR=rossberg@chromium.org
LOG=y
BUG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-31 12:40:32 +00:00
rossberg@chromium.org
826cf64fd3 Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 16:42:34 +00:00
ulan@chromium.org
5eabc4b802 Run tests on android_arm64.
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-27 10:06:53 +00:00
jarin@chromium.org
425974e7cc Web page front-end for grokdump.
This is a prototype to start discussion about useful features for
a better/friendlier minidump analysis tool.

The change adds an -w option to grokdump.py. With the option on,
grokdump will launch a web server and web browser for browsing the
minidump. It also supports adding persistent comments and listing +
browsing other minidumps (in the same directory) without the need to
restart the web server.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-26 15:05:01 +00:00
jochen@chromium.org
04eefb86f4 Roll ICU 239289:258359 and add support for external ICU data tables
The only binary that supports ICU data tables is d8. The location of the
data table file has to be passed via a command line switch:

  $ out/x64.optdebug/d8 --icu-data-file=out/x64.optdebug/icudtl.dat

BUG=72633,v8:3142
R=danno@chromium.org
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 12:05:33 +00:00
mstarzinger@chromium.org
95f61f9243 Extend GCMole to cover ARM64 architecture.
R=ishell@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 11:46:28 +00:00
rossberg@chromium.org
2e1b16de2a Revert "Ship promises and weak collections"
Reason: breaks Blink layout tests.

R=machenbach@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 10:57:52 +00:00
yangguo@chromium.org
82f630a9f7 Reland "No longer OOM on invalid string length."
R=ishell@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:09:24 +00:00
titzer@chromium.org
3c31102025 First implementation of store elimination.
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-25 09:06:16 +00:00
rossberg@chromium.org
33be68c2fa Ship promises and weak collections
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 16:59:04 +00:00
machenbach@chromium.org
8311e24c2d Change auto-roll to auto-push for automatic trunk pushes.
The current script is only performing automatic pushes to trunk. This prepares for adding an auto-roll script that actually rolls to Chromium.

This also removes the v8-status updates, which are no longer necessary due to not touching bleeding edge any more.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:52:31 +00:00
yangguo@chromium.org
72932ae417 Revert "No longer OOM on invalid string length."
This reverts r20202.

TBR=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20203 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:36:15 +00:00
yangguo@chromium.org
531217502c No longer OOM on invalid string length.
R=ishell@chromium.org
BUG=v8:3060
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 15:01:17 +00:00
marja@chromium.org
dccd57f1ec Add parser-shell.
parser-shell will help to see how much PreParsing gets slower when PreParser
starts doing more checks (especially tracking variables and scopes). It will
also show how much having preparse data (or cached data) speeds up the parsing.

R=ulan@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 14:43:41 +00:00
machenbach@chromium.org
db8196ae63 Fix options for calling push-to-trunk script.
BUG=
TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-24 08:03:15 +00:00
machenbach@chromium.org
04a418c550 Let auto-roll push the lkgr.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 15:04:54 +00:00
machenbach@chromium.org
e134d32ff0 Split of rolling Chromium from push-to-trunk.
This moves rolling Chromium into a new script with its own tests.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 12:15:25 +00:00
jochen@chromium.org
2ce0bebba1 Rename A64 port to ARM64 port
BUG=354405
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 09:28:26 +00:00
jochen@chromium.org
9fccfc37c8 Prepare switch from a64 to arm64
BUG=354405
R=machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-21 08:47:03 +00:00
machenbach@chromium.org
b12ff51378 Allow to push arbitrary revisions when pushing to trunk.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 15:44:30 +00:00
machenbach@chromium.org
d7d4452e1c Deprecate prepare push commit when pushing to trunk.
- This also deprecates using version.cc on bleeding edge.
- The deprecated push-to-trunk.sh is deleted.
- The script now commits bleeding edge HEAD by default. Committing different revisions will be added in a follow up CL.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-20 09:23:44 +00:00
machenbach@chromium.org
44e3cfc651 Retrieve current version from trunk branch in push-to-trunk.
- This moves retrieving and incrementing the version before creating the change log
- Before the prepare push commit will be deprecated (follow up CL), the script deals with 3 build levels. X: the current build level on the last trunk push. X + 1: the build level for this trunk push. X + 2: the build level of the new version file on bleeding edge (to be deprecated).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 13:10:41 +00:00
yangguo@chromium.org
0bc684a794 Introduce per-isolate assert scopes and API to guard JS execution.
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 11:31:43 +00:00
machenbach@chromium.org
23b0228614 Directly modify version file on trunk branch in push-to-trunk.
- This also shifts the push revision by one to prepare for the deprecation of the prepare push commit
- The version increment is still based on the bleeding_edge version.cc. This will be changed in a follow up CL.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-19 10:46:24 +00:00
machenbach@chromium.org
c06c9f8e1e Deprecate ChangeLog on bleeding_edge.
- This adds a sentinel to the ChangeLog on bleeding edge.
- Modifying the ChangeLog file directly when pushing to trunk is now no longer possible. If further modifications to the ChangeLog in manual push-to-trunk mode are required (e.g. after the prepare push LGTM), the change log entry temp file must be edited.
- Functionality that is no longer needed is removed.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 12:46:48 +00:00
rossberg@chromium.org
58d623f228 Stage ES6 promises and weak collections
Split collections flag into weak and non-weak.

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-18 09:57:14 +00:00
machenbach@chromium.org
a868a74cfc Fix branch for resetting change log in push-to-trunk.
The patch is applied to ChangeLog with the "--index" option, which already updates the index of the file. For resetting the ChangeLog to the trunk revision, the trunk branch needs to be stated explicitly in the checkout, otherwise it checks out the already patched HEAD.

TEST=tools/push-to-trunk/script_test.py
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 13:52:33 +00:00
machenbach@chromium.org
fac6b67b2c Fix maintaining change log in push-to-trunk.
Applying the patch on ChangeLog causes local changes. To reset the ChangeLog to its original state, the "-f" option is required.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-17 08:51:27 +00:00
machenbach@chromium.org
acc2997b52 Reland "Maintain change log file directly on trunk branch in push-to-trunk."
This uses the following approach to modify the trunk change log:
- Calculate the new change log entries
- Apply changes to the bleeding edge change log (this will be removed in a follow up CL)
- Apply the diff between BE and trunk to trunk (this includes the diff of the change log)
- Reset the change log to the version on trunk
- Reapply the new change log entries

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-15 13:06:08 +00:00
machenbach@chromium.org
f7fea5dd92 Revert "Maintain change log file directly on trunk branch in push-to-trunk." and related changes.
This reverts r19876, r19902 and r19903. The changes made git diff' in push-to-trunk unusable.

TBR=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:48:24 +00:00
machenbach@chromium.org
fa4625c1a4 Maintain change log file directly on trunk branch in push-to-trunk.
This is another step for deprecating the change log file on bleeding edge.

BUG=
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:12:18 +00:00
machenbach@chromium.org
078ecbb9c3 Add file exclusion to trunk patch creation in push-to-trunk.
This is another step towards getting rid of the bleeding edge change log file. Now it can be omitted in a follow up CL.

R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:57:07 +00:00
adamk@chromium.org
8bd05193c7 Reland "Enable Object.observe by default" again
This re-re-re-lands enabling Object.observe. The Chromium tests that
failed last time this was rolled into Chromium have been disabled in
https://src.chromium.org/viewvc/chrome?view=revision&revision=256706

This patch should be safe to merge once that lands.

BUG=v8:2409
LOG=Y
TBR=rossberg@chromium.org,dslomov@chromium.org,rafaelw@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 00:20:06 +00:00
rodolph.perfetta@arm.com
f06216201a A64: removed unused debugger file.
BUG=
R=jochen@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 16:05:20 +00:00
machenbach@chromium.org
8bcd43b8cf Refactoring: Use explicit mock expectations for testing push and merge scripts.
- Up to now, mock expectations were simple lists of arguments + return value
- These expectations are now modeled explicitly including the name of the mock (e.g. git or readline)
- The optional test callback function is now explicitly named
- This will allow merging all mock expectation types (e.g. git and readline) into a single list per test case (follow up CL)

TEST=tools/push-to-trunk/script_test.py
R=jarin@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 14:39:04 +00:00
machenbach@chromium.org
7c778096b1 Suppress error handling for test coverage in push and merge scripts.
- This adds a suppression of lines concerning error handling for the test coverage analysis
- Fixes also calling push-to-trunk from auto-roll

TEST=tools/push-to-trunk/script_test.py
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 10:45:23 +00:00
machenbach@chromium.org
11b6daec84 Don't use a temp file for changelog in push-to-trunk.
This is part of getting rid of the ChangeLog on bleeding_edge and directly modifying it on trunk.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-12 07:39:56 +00:00
dslomov@chromium.org
f6dac13dcb Revert "Enable Object.observe by default"
This reverts commit r19734 for breeaking ChromiumOS browser tests.
'OpenSpecialTypes/FileManagerBrowserTest.Test/3' started to time out,
bisecting the roll led to this change.
http://build.chromium.org/p/chromium.chromiumos/builders/Linux%20ChromiumOS%20Tests%20%282%29/builds/22224

TBR=rafaelw@chromium.org,rossberg@chromium.org
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 18:15:44 +00:00
svenpanne@chromium.org
bd96b9ffce Updated constants.
No idea when they got out-of-sync...

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-11 11:56:04 +00:00
bmeurer@chromium.org
48fea83dad Merge the "Compute Minus Zero Checks" phase into the range analysis.
It is not safe to access the range for an SSA value
after range analysis.

BUG=v8:3204
LOG=y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-10 11:49:29 +00:00
rafaelw@chromium.org
6503dfb72b Reland "Enable Object.observe by default"
Original Issue: https://codereview.chromium.org/183683022/

TBR=rossberg
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 04:41:06 +00:00