Commit Graph

1517 Commits

Author SHA1 Message Date
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
rafaelw@chromium.org
0cc44c14e5 Revert "Enable Object.observe by default"
TBR=rossberg
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 03:54:42 +00:00
rafaelw@chromium.org
dcf9842e07 Enable Object.observe by default
R=rossberg@chromium.org, rossberg
BUG=v8:2409
LOG=Y

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-08 02:47:53 +00:00
machenbach@chromium.org
bc21f42563 Refactoring: Make script dependencies more object-oriented in push and merge scripts.
- Connect the top-level scripts via inheritance and remove top-level functions
- Options and option processing can be extended from base to subclass script

This CL is split off from https://codereview.chromium.org/173983002/

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-04 23:27:27 +00:00
machenbach@chromium.org
73bb6c6bd7 Add coverage analysis to push and merge script tests.
The coverage analysis must live in an extra file in order to analyze the scripts when being imported.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-03 20:17:03 +00:00
machenbach@chromium.org
5acdc942f6 Refactoring: Long option names in push and merge scripts.
This CL is split off from https://codereview.chromium.org/173983002/

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 21:49:51 +00:00
commit-bot@chromium.org
56060812f6 Fix line distance in push and merge scripts.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-28 19:45:28 +00:00
machenbach@chromium.org
f09b3db78c Fix patch creation in merge-to-branch script.
Patch white space got stripped, which lead to failures when applying the patch.

- Refine test to reveal the problem
- Create a separate method for retrieving the patch that doesn't strip white space

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 16:12:32 +00:00
machenbach@chromium.org
2e01427c3d Refactoring: Deprecate optparse in push and merge scripts.
- Deprecate optparse with argparse
- The tests include now options parsing by default: each test specifies the command-line args to parse rather than the options directly

This CL is split off from https://codereview.chromium.org/173983002/

TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 15:13:31 +00:00
jochen@chromium.org
597a4b4dc1 A64: Make the Decoder a template
This will allow for replacing the dispatcher with a concrete decoder
visitor.

BUG=none
R=ulan@chromium.org, rodolph.perfetta@arm.com
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-26 12:01:05 +00:00
dcarney@chromium.org
499b31e222 Crash like chrome. Currently, most chrome crashes do not yield useful stack traces as v8 does a silent abort and chrome's crash symbolization does not kick in.
R=svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-25 13:53:06 +00:00
machenbach@chromium.org
01cf2f8eda Refactoring: Extract low-level git from push and merge scripts.
- This adds a python layer on top of the low-level git calls to control parameter passing and return values.
- This also fixes a bug in FindLastTrunkPush that only shows up in manual mode when the last push versions are iterated.
- The order of some parameters changed in some git calls in the tests to be uniform.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:39:41 +00:00
jacob.bramley@arm.com
3196b9fb6c Fix tools/cross_build_gcc.sh.
The cross_build_gcc.sh script didn't set LINK, so cross builds would
fail at the last step.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 16:37:40 +00:00
machenbach@chromium.org
672bc20af8 Fix options in push-to-trunk script.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-20 08:06:11 +00:00
machenbach@chromium.org
7a4f18caa6 Refactoring: Extract git checks in push and merge scripts.
This extracts the pattern "if call git fails: raise exception", which is spread all over the place. Now all calls to git are required to return gracefully and give a uniform exception message if they don't.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:56:19 +00:00
marja@chromium.org
7a948d325c Re-enable fast/js/reserved-words-as-property.html.
Error message migration is done and Blink has updated the expected result.

R=yangguo@chromium.org, ulan@chromium.org
BUG=v8:3126
LOG=N

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 14:53:14 +00:00
machenbach@chromium.org
fb0fb8e0cc Retrieve bleeding edge push revision from trunk commit message.
This is part of moving towards an lkgr-push script and prepares the deprecation of the prepare push commit.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 13:40:30 +00:00
machenbach@chromium.org
a56d0da623 Refactor persisting state in push and merge scripts.
- The backed state dict is now persisted and restored in the step template as a json file
- All explicit persist/restore calls are removed
- Added testing an unexpected script failure + restart with state recovery to the merge-to-branch test
- This CL is not changing external behavior of the scripts

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-19 11:56:48 +00:00
machenbach@chromium.org
77c278b94d Fix merge-to-branch options.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:17:08 +00:00
machenbach@chromium.org
0f2c040c79 Fix merge-to-branch python port.
This fixes a forgotten parameter when calling the script's toplevel method and adds the same usage message as in the bash script.

BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 14:05:59 +00:00
machenbach@chromium.org
f15c700378 Fix merge-to-branch imports.
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:51:46 +00:00
machenbach@chromium.org
6af4512ba7 Make merge-to-branch python port executable
BUG=
TBR=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:47:56 +00:00
machenbach@chromium.org
c2cd2083a3 Add merge-to-branch python port.
- To ease a line-by-line review, the script is intentionally close to the former bash version
- Disambiguate the existing "-r" option for reviewer in the other scripts
- The options design will be refactored in a follow up CL

TEST=python -m unittest test_scripts.ScriptTest.testMergeToBranch
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 13:09:14 +00:00
jkummerow@chromium.org
9699ca6b71 Make tools/bash-completion.sh robust against arbitrary CWD
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 09:12:11 +00:00
jkummerow@chromium.org
e0842a75b9 Update v8heapconst.py
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-18 08:50:19 +00:00
rafaelw@chromium.org
6b5a4cdef2 V8 Microtask Queue & API
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue".

It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to

-schedule a microtask (EnqueueExternalMicrotask)
-run the microtask queue (RunMicrotasks)
-control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks).

R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 22:04:19 +00:00
ulan@chromium.org
e95bc7eec8 Merge experimental/a64 to bleeding_edge.
BUG=v8:3113
LOG=Y
R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-12 09:19:30 +00:00
mvstanton@chromium.org
516ed9fa90 Adding a type vector to replace type cells.
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 21:38:17 +00:00
machenbach@chromium.org
e81eacfa74 Enable specification of author email in push-to-trunk.
If not specified, depot tools tend to ask for an email on the command line once in a while, which makes the automated script hang.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-10 12:48:36 +00:00
palfia@homejinni.com
fca3f16b46 Add support to automatically search for corresponding architecture ports in merge-to-branch.sh.
BUG=
R=jkummerow@chromium.org, plind44@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-06 15:34:46 +00:00
marja@chromium.org
6fa3419894 Temporarily mark reserved-words-as-property as possibly failing.
V8 is changing an error message and Blink will disable this test temporarily,
too. This CL will keep the tree green until Blink is rolled into V8.

BUG=3126
LOG=N
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-02-04 13:37:34 +00:00
jkummerow@chromium.org
fd6996ffab grokdump: Compute correct call destinations and display them in-place
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 11:49:07 +00:00
machenbach@chromium.org
5be6daa942 Fix deopt fuzzer variable set up.
Adds the simulator variable configuration from r18959 to the deopt fuzzer.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-31 09:10:56 +00:00
plind44@gmail.com
51107bad1c Skip webkit/function-apply-aliased.js when running on simulators.
The webkit/function-apply-aliased.js test fails on simulators (both MIPS
and ARM) as the printed output does not match to the expected. The
failing test forces a stack overflow exception and the ToString()
operation of the exception object fails because of an other stack
overflow and returns an empty string.

The problem is that on hardware a common JS and C stack is used so the
stack overflow can be caught in C functions also while on simulator
separated JS and C stacks are used.

This patch adds a "sim" condition to test .status files to skip tests
only on simulator.

LOG=N
BUG=v8:3124
R=jkummerow@chromium.org, plind44@gmail.com

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

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-30 18:04:33 +00:00
machenbach@chromium.org
5d8e2f3435 Make 'ASAN' configurable in test status file.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 15:30:41 +00:00
jochen@chromium.org
a3d0311117 Delete v8_shell target now that chrome uses d8
BUG=331585
LOG=y
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 14:58:40 +00:00
machenbach@chromium.org
15ecc108cb Show v8 bleeding edge revision in trunk and Chromium commit message.
This allows to map from a V8 Chromium roll to the bleeding_edge revision used for the roll.

This CL also improves some test code:
 - Don't loose assertion exceptions in mocked git on retry.
 - Remove an unused method

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 13:44:52 +00:00
machenbach@chromium.org
cf138c64b4 Let push-to-trunk script retry failing svn writes.
BUG=
TEST=python -m unittest test_scripts
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 10:55:40 +00:00
machenbach@chromium.org
1864f7388e Add infrastructure for skipping tests in GC stress mode.
Also move the GC stress configuration from the buildbot to the test runner.

BUG=
R=jkummerow@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 12:41:25 +00:00
machenbach@chromium.org
780ae3146a Activate calling push-to-trunk in auto-roll script.
- Call push-to-trunk through python not through the shell
- Restore tree state on script errors
- Mock out python call in unit tests
- The actual call stays behind a flag

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 11:29:43 +00:00
machenbach@chromium.org
efbef90acd Fix tree check in merge-to-branch script.
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:40:56 +00:00
svenpanne@chromium.org
b25bb230cd Removed apiutils.h and related cleanup.
ExtensionConfiguration is just a simple container for extension names
(in a perfect world we would use vector<string> and range-based for
loops), and HandleScopeData was in the totally wrong place. Some
additional cleanup on the way, e.g. using the null pattern behind our
external API.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 08:17:40 +00:00
machenbach@chromium.org
0684eb14e6 Add tree control feature to auto-roll script.
This CL enables the auto-roll script to close and reopen the tree when pushing.

Modifies an auto-roll test so that the push-to-trunk part is executed in order to test the new tree control feature.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 15:55:23 +00:00
ulan@chromium.org
2638dca48f Make cells pointing to JSObjects weak in optimized code.
This is done similar to weak embedded objects in optimized code (r17102). The
reference from optimized code to a cell is treated weakly in marking visitors
if the cell points to a JSObject. After marking we iterate over all cells
embedded in optimized code. If a cell is not marked but its value is marked,
then we revive the cell by marking it. Otherwise, the cell value is dead, so
we mark the code for deoptimization.

BUG=v8:2073
TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak
LOG=Y
R=hpayer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 11:42:19 +00:00
machenbach@chromium.org
c30421677d Fix tree check for push-to-trunk.
This is a work-around simulating a --bypass-tree-check.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 11:49:09 +00:00
ulan@chromium.org
0ca890fd83 Add 'LOG=N' line to merge-to-branch.sh to avoid presubmit errors when merging to branch.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 14:04:14 +00:00
svenpanne@chromium.org
005c0d8178 Prepare removal of ObjectTemplate::New without Isolate parameter.
LOG=y
BUG=324225
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 06:53:31 +00:00
machenbach@chromium.org
0030356cd0 Add better remote control to push-to-trunk auto-roll script.
This CL enables controlling the automatic push-to-trunk via a settings file .auto-roll in the home directory or via the v8 status app message.

Pushes can be disabled by setting .auto-roll to {"enable_auto_roll": false} or by adding the phrase "nopush" or "no push" to http://v8-status.appspot.com/.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 15:23:48 +00:00
jochen@chromium.org
f4994ae876 Don't bail out of the cpplint cache is broken.
Instead, try to remove it.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 15:06:27 +00:00
bmeurer@chromium.org
0899da3697 Add support for the QNX operating system.
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:

Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>

R=bmeurer@chromium.org, jkummerow@chromium.org

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

Patch from Cosmin Truta <ctruta@blackberry.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
rmcilroy@chromium.org
78ab4379d3 Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry
Third stage of implementing an out-of-line constant pool for Arm.  This CL adds
a ConstantPool field to Code objects and initializes the pp register on
function entry, and saves the pp register on the stack frame. The ConstantPool
object is always empty and is unused currently.

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-30 11:23:59 +00:00
jochen@chromium.org
e6ef64c590 [platform] Implement a worker pool
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.

I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.

BUG=v8:3015
R=hpayer@chromium.org, svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00
machenbach@chromium.org
508f7d256a Add named options to push-to-trunk script.
Also make sure that on exceptions from the test infrastructure there is no retry.

BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18313 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-16 10:56:52 +00:00
machenbach@chromium.org
3c601ff5b5 Add last-push check to automatic push-to-trunk script.
Make sure the script is not trying a push-to-trunk twice in a row.

This also passes through some command line parameters.

TEST=python -m unittest test_scripts.ScriptTest.testCheckLastPushRecently
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:27:38 +00:00
machenbach@chromium.org
7a8a098a5e Make squash commits step more pythony in push-to-trunk script.
Get rid of linux-only shell commands. Solve issue with quotation marks in commit messages.

Further behavioral change: Strip white space on line endings. Strip trailing new lines.

Test=python -m unittest test_scripts

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 15:05:53 +00:00
machenbach@chromium.org
d8a757c669 Add tests and extension verifying CHECK and ASSERT.
The new native functions can also be used in blink tests to ensure that V8 asserts are turned on where they should be.

BUG=
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 17:26:22 +00:00
jkummerow@chromium.org
fa4faff962 'make quickcheck': Assorted improvements.
'make ia32' should not build ia32.optdebug.
'make ia32.clean' should delete ia32.optdebug output.
'make quickcheck' should be terminatable by hitting Ctrl+C just once.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 12:37:24 +00:00
machenbach@chromium.org
34943ca0c8 Add fully automated mode to push-to-trunk script.
Now there are three modes to run the script:
(1) default: semi-automated
(2) manual (-m option), like in the old script
(3) forced (-f option), no user input required no editor check

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-04 08:47:18 +00:00
dslomov@chromium.org
8058a7fd2b Fix condition in merge-to-branch.sh
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 14:30:36 +00:00
jkummerow@chromium.org
5e535ae6c1 'make quickcheck': don't overwrite debug output.
Achieved by turning optdebug into a first-class compilation mode.

R=bmeurer@chromium.org, machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 14:24:40 +00:00
machenbach@chromium.org
9087d5f865 Mock out date call in push-to-trunk script for testability.
TEST=python -m unittest test_scripts.ScriptTest.testPrepareChangeLog
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 12:38:25 +00:00
machenbach@chromium.org
0fd8169408 Fix change log generation in push-to-trunk script.
Fixed missing parenthesis in regular expression. The log checker matched on the word "true" and included a wrong change log entry.

TEST=python -m unittest test_scripts.ToplevelTest.testRegressWrongLogEntryOnTrue
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-03 09:13:51 +00:00
ulan@chromium.org
7f885c709c Print exit code on crash in run-tests.py
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/99363002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 15:46:41 +00:00
machenbach@chromium.org
010756b427 Add retry feature for push-to-trunk script.
Make url accesses retry. Git retry requires some more analysis of git output first (follow up CL).

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-02 09:53:28 +00:00
machenbach@chromium.org
59ff4ec657 Add fast make and test all target.
The new target called "quickcheck" builds and tests with several configurations using recent test runner speed improvements.

Runtime from scratch (after make clean): < 8 min
Runtime tests only: < 3 min

TEST=make quickcheck
R=jkummerow@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-28 13:18:04 +00:00
rossberg@chromium.org
e943623b12 Harmony promises
Based on prototype at

  https://github.com/rossberg-chromium/js-promise

which informed the latest spec draft version at

  https://github.com/domenic/promises-unwrapping/blob/master/README.md

Activated by --harmony-promises.

Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting.

This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there.

R=dslomov@chromium.org, yhirano@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 17:21:40 +00:00
dslomov@chromium.org
f7927265f2 Provide "freeBuffer()" primitive for testing under ASan.
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-27 09:22:04 +00:00
machenbach@chromium.org
c95173b2eb Increase test runner speed.
Let the test runner preserve the order of test suites to let suites with long running tests run first.

Mark some tests as slow that can now be skipped via --slow-tests=skip.

BUG=
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 16:53:04 +00:00
yangguo@chromium.org
3d21f84fcf Fix generate_trig_table build target.
It now closely resembles the js2c target, so that we only have
one platform to run it on (either 'host' or 'target'). This way
we do not run into warnings when compiling for e.g. ARM.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-26 08:50:15 +00:00
machenbach@chromium.org
e6e8acd446 Make test runner more flexible for running fast tests.
Transformed variant flags into named variants. Now, all combinations of variants can be specified on the command line. The old command-line flags are kept for backwards compatibility on the bots.

Added two new test groups: slow and pass|fail. Both are implemented similar to the flaky test feature and allow to either skip or run tests marked as slow or as pass|fail.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 17:34:52 +00:00
machenbach@chromium.org
5201e8c396 Improve and refactor push-to-trunk script.
Let change log formatter squash title and bug reference. Repair wrongly indented first line in change log. Add automatic rietveld reload of commit messages to enable late corrections.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 14:20:39 +00:00
yangguo@chromium.org
c04659215a Add -R option to merge-to-branch script to revert from bleeding_edge.
Usage:
tools/merge-to-branch.sh -R 12345 12346

R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-25 12:55:02 +00:00
yangguo@chromium.org
aa3518a0f3 Make sure files end with exactly one new line and police this in presubmit.
The changes are (excluding presubmit.py) mechanical. I added the following
lines after the check and iterated the presubmit script until all errors
went away:

f = open(name, "w");
if contents.endswith('\n\n'):
  f.write(contents[0:-1])
else:
  f.write(contents + '\n')

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 13:50:39 +00:00
jochen@chromium.org
a294defe9b Remove usage of deprecated APIs from v8 itself
Also turn on depreaction warnings

BUG=v8:3023
R=svenpanne@chromium.org, dcarney@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:28:58 +00:00
yangguo@chromium.org
de432db19a Exclude benchmark tests from presubmit check in a non-git checkout.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:21:43 +00:00
jochen@chromium.org
4452341b55 Clean up incorrect V8_DEPRECATION macro usage and enable deprecatitions
We turn the default for standalone builds on, however, I added overrides
to all targets to turn it locally off again. In follow up CLs, I'll
clean up one target at a time.

BUG=v8:3023
R=dcarney@chromium.org, machenbach@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 10:57:55 +00:00
machenbach@chromium.org
416e82bb24 Pythonification and refactoring of push-to-trunk.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 09:48:43 +00:00
yangguo@chromium.org
a7d38f7a41 Reland: Embed trigonometric lookup table.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 08:25:50 +00:00
machenbach@chromium.org
870c32e4b1 Make auto-roll testable.
Refactor the mock code for easier reuse. Mock out web requests.

TEST=python -m unittest test_scripts
BUG=
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 07:56:00 +00:00
danno@chromium.org
8e266c2244 Revert 17963, 17962 and 17955: Random number generator in JS changes
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table.

Due to Heapcheck and valgrind failures that are not yet fixed.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 17:21:00 +00:00
jochen@chromium.org
a9af0948cf Reland r17877 - Introduce a v8::Platform class that bundles embedder callbacks
Over the initial commit, this CL moves the lifetime management of the default
platform to v8.cc from api.cc

R=bmeurer@chromium.org, svenpanne@chromium.org
BUG=v8:3015
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 14:07:06 +00:00
yangguo@chromium.org
2340aa4164 Fix build.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 13:30:14 +00:00
yangguo@chromium.org
7c67e74b48 Embed trigonometric lookup table.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 12:57:23 +00:00
machenbach@chromium.org
121ef80c10 Let ChangeLog get auto-generated in push-to-trunk script.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-21 09:35:25 +00:00
machenbach@chromium.org
718b38648f Force 'git cl upload' in push-to-trunk forced mode.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 13:53:11 +00:00
rmcilroy@chromium.org
57dc3139cb Remove deprecated v8-defaults.h and defaults.cc.
BUG=312241
LOG=Y
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 11:20:01 +00:00
machenbach@chromium.org
8b38259728 Add forced mode to push-to-trunk script.
This CL depends on https://codereview.chromium.org/65933003/.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:49:42 +00:00
machenbach@chromium.org
6fcd94cc7c Refactor and improve bug line generation for push-to-trunk.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-20 08:25:17 +00:00
jochen@chromium.org
e744b82fae Revert 17877 - Introduce a v8::Platform class that bundles embedder callbacks
This also reverts 17879 and 17880.

BUG=v8:3015
TBR=svenpanne@chromium.org
LOG=n

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 14:28:07 +00:00
machenbach@chromium.org
12755f7f7c Fix push-to-trunk runtime call.
This broke after a recent refactoring.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:51 +00:00
jochen@chromium.org
c24ce076e9 Introduce a v8::Platform class that bundles embedder callbacks
Also provide a default implementation to use in cctests.

For now, there are just two thread releated callbacks. In future CLs, I will
move callbacks registered e.g. via V8::SetFooCallback over.

BUG=v8:3015
R=svenpanne@chromium.org, danno@chromium.org
LOG=no

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-19 13:44:36 +00:00
machenbach@chromium.org
775201dbd1 Add initial auto-roll script.
To be called with a cron job.

TEST=tools/push-to-trunk/auto_roll.py

TODO: Add a revision filter to allow "MIPS" related changes to take over the lkgr.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 14:10:47 +00:00
machenbach@chromium.org
c0b7020983 Refactor ChangeLog generation for push-to-trunk script.
This extracts the Git-independent part of the change log body generation. This CL intends no change in behavior.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-18 13:34:32 +00:00
machenbach@chromium.org
a2c722a7b3 Fixed blocking dcommit in push-to-trunk script.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 14:50:17 +00:00
yurys@chromium.org
c7b1b79e4d This is the exact copy of r17365 which was reverted in r17488 due to memory corruption. The root cause for the memory corruption - missing check for bump pointer limit before storing filler map must be addressed in r17626 where allocation hooks were removed from the generated code and left only in the runtime.
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-14 12:13:26 +00:00
ulan@chromium.org
3099783743 Add a flag to lexer-shell to replicate input file.
R=verwaest@chromium.org

Review URL: https://chromiumcodereview.appspot.com/71783002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 18:16:19 +00:00
ulan@chromium.org
81761f9dc6 Add lexer-shell for running lexer benchmarks.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/70263003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-13 12:26:09 +00:00
machenbach@chromium.org
f27eca66b3 Add more test coverage to push-to-trunk script.
Ensure that fetching commits works with huge change logs. The verbosity option will help debugging when dcommit hangs.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 13:11:15 +00:00
machenbach@chromium.org
a8f77a54cf Add push-to-trunk python port.
Preliminary version.

TODO: Add wrapper script in tools dir.
TODO: Some refactoring.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-08 14:27:16 +00:00
svenpanne@chromium.org
ad3478bb2f Use a fixed random seed per default.
To get back the old behavior, use "make randomseed=0 ...".

BUG=v8:1880,v8:2885
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-07 12:01:26 +00:00
dslomov@chromium.org
6179ebbf42 Add simple inline macros to js2c and use that for typed array constructors.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 14:08:03 +00:00
bmeurer@chromium.org
b8660f2091 Revert "Record allocation stack traces".
This reverts commit r17365 for memory corruption. The issues
are most probably related to storing a filler map without
checking the bump pointer first, and traversing the stack
when called from within a stub (or builtin), while the code
assumes that it's called from a JS function.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-05 13:46:11 +00:00
machenbach@chromium.org
230b47a63b [Sheriff] Mark flaky test.
BUG=v8:2921
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 11:48:31 +00:00
machenbach@chromium.org
3cb584c2b4 Add no-variants option to test runner.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-31 10:14:02 +00:00
yangguo@chromium.org
7dd2d6c590 Reland "Make Array.prototype.pop throw if the last element is not configurable."
This relands r17346.

R=machenbach@chromium.org
BUG=311164

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-25 11:55:56 +00:00
yurys@chromium.org
a083601e73 Record allocation stack traces
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:26:55 +00:00
yangguo@chromium.org
0f564cb1b0 Revert "Make Array.prototype.pop throw if the last element is not configurable."
This reverts commit r17346.

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 07:48:23 +00:00
yangguo@chromium.org
e25920da19 Make Array.prototype.pop throw if the last element is not configurable.
Popping an element from an array should call [[Delete]] internal method
and pass true as the second argument (ECMA-262/5.1/#sec-15.4.4.6).
When the last element can't be deleted, throw a Type Error.
Not throwing the error would result in endless loop in the following test.

TEST=var a=[];Object.defineProperty(a,0,{});while(a.length)a.pop();

By the way fix another bug, or else i can't post any issues.
"presubmit.py" throw a "missing a correct copyright header" on windows.
Both the slash and the backslash are valid path separator on windows.

R=yangguo@chromium.org

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

Patch from Yanagi <admin@web-tinker.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-23 16:19:24 +00:00
machenbach@chromium.org
eb1b2a7121 Add test for push-to-trunk script.
This is a prototype attempt for testing the push-to-trunk script. There are several todos left, but it is not clear if it is worth investing time into those. The test is meant to aid in verifying modifications in the push-to-trunk script.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:59:35 +00:00
bmeurer@chromium.org
9c26c6a3f2 [Sheriff] Revert "Record allocation stack traces" and "Temporarily disable test-heap-profiler/TrackHeapAllocations".
This reverts commit r17301 and r17303 for breaking the nosnap builds.

TBR=yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-22 06:56:19 +00:00
yurys@chromium.org
66bb9d1563 Record allocation stack traces
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

BUG=chromium:277984
R=hpayer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 15:22:11 +00:00
danno@chromium.org
4c565138b5 Add tool to visualize machine code/lithium.
In the process:
- Add a command-line flag --opt-code-positions to track source position information throughout optimized code.
- Add a subclass of the hydrogen graph builder to ensure that the source position is properly set on the graph builder for all generated hydrogen code.
- Overhaul handling of source positions in hydrogen to ensure they are passed through to generated code consistently and in most cases transparently.

Originally reviewed in this CL: https://codereview.chromium.org/24957003/

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 13:35:48 +00:00
yangguo@chromium.org
575438518c Harmony: implement Math.sign.
R=dslomov@chromium.org
BUG=v8:2938

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-21 09:16:31 +00:00
svenpanne@chromium.org
882778bf09 Make it possible to run a test only in the standard variant.
Use this for mjsunit/unicode-case-overoptimization, which is not
related to Crankshaft at all and takes ages.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-17 13:09:28 +00:00
mvstanton@chromium.org
8f9f192f6e AllocationSites for all literals
R=hpayer@chromium.org

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


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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-16 08:10:36 +00:00
mvstanton@chromium.org
f4edc076d8 Revert "AllocationSites for all literals"
This reverts commit r17219 due to WebKit failures.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 15:35:23 +00:00
mvstanton@chromium.org
362c0cfbca AllocationSites for all literals
BUG=
R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-15 14:52:58 +00:00
ulan@chromium.org
83c63cf555 Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object.
Second stage of implementing an out-of-line constant pool on Arm.  This CL
Introduces the ConstantPoolArray object which will be used as the backing
store of out-of-line constant pools.  Nothing uses this object yet.

BUG=
R=ulan@chromium.org

Review URL: https://chromiumcodereview.appspot.com/22601003

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:35:06 +00:00
jkummerow@chromium.org
2e3057c69f Add additional postmortem debugging metadata to support decoding two-byte
strings, sliced strings, and changes to some object property representations.

R=jkummerow@chromium.org

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

Patch from David Pacheco <dap@joyent.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-14 13:08:52 +00:00
titzer@chromium.org
d67585f060 Implement first version of HFlowEngine, a framework for performing global flow-sensitive analyses.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-11 13:00:42 +00:00
mstarzinger@chromium.org
3c8e87d840 Remove obsolete preparser binary.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 16:21:23 +00:00
jkummerow@chromium.org
1cc549747e Fix shared_library build after r17107
R=rmcilroy@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 14:53:16 +00:00
jkummerow@chromium.org
07b15bdfc1 Explicitly include defaults.cc in the shared_library gyp target.
Explicitly include defaults.cc in the shared_library gyp target, otherwise
the whole compilation unit is stripped by the Windows linker, since none of it's
symbols are referenced by any other compilation unit in V8.

BUG=None
R=jkummerow@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-04 11:57:42 +00:00
danno@chromium.org
908a7dc2a8 Improve and simplify removal of unreachable code
- Detect unreachable basic blocks of code either following an unconditional deopt or after a provably untaken branch of HBranch or HCompareObjectEqAndBranch instructions.
- Emit dummy uses in unreachable blocks during Hydrogen -> Lithium translation.

BUG=chromium:258519
R=jkummerow@chromium.org, mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-02 11:43:41 +00:00
jochen@chromium.org
02b160f35c Remove parallel marking support.
The framework isn't used, and won't be used in the near future

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 14:06:43 +00:00
jkummerow@chromium.org
a01e029882 Delete references to old_statusfile.py
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-30 09:52:21 +00:00
yangguo@chromium.org
7f1fd5e16c Restrict recorded execution pauses to the required range.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 13:45:17 +00:00
hpayer@chromium.org
4c01c4040a Re-land "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime."
Adds ConfigureResourceConstraintsForCurrentPlatform and SetDefaultResourceConstraintsForCurrentPlatform which configure the heap based on the available physical memory, rather than hard-coding by platform as previous. This change also adds OS::TotalPhysicalMemory to platform.h.

The re-land fix the performance regression caused by accidental change in default max young space size.

BUG=292928
R=hpayer@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 10:53:07 +00:00
machenbach@chromium.org
936802ae21 Revert "Add methods to enable configuration of ResourceConstraints based on limits derived at runtime." and "Fix Windows build of defaults.cc."
This reverts commit r16964 and r16968 due to performance regressions in octane.

TBR=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-27 09:45:14 +00:00