Commit Graph

750 Commits

Author SHA1 Message Date
yangguo@chromium.org
ae126e1231 Log deopts with --log-timer-events.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 10:10:27 +00:00
yangguo@chromium.org
6d8f608056 Include statistical profile into profviz.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-02 15:34:28 +00:00
machenbach@chromium.org
889a456a31 Make sticky chromium revision available for perf tests.
This file will be regularly updated with the chromium revision to be used by performance test buildbots.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-02 10:54:02 +00:00
bmeurer@chromium.org
f60609bd1b Turn UInt32 analysis into a proper HPhase.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-02 10:53:08 +00:00
mvstanton@chromium.org
d594fd5de3 Grokdump: new shell command, "lm"
lm - list matching modules and details such as product version number
found in the minidump. Also, enabled a mode to execute one command and
exit.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 11:37:40 +00:00
machenbach@chromium.org
6a19aca501 Add broader custom test expectations for blink tests to detect crashes. Remove also useless documentation.
Most of these tests had some problems (failure, crash or timeout), but which problem exactly cannot be retrieved anymore.

We let them rum for a while with a broader test expectation (pass fail slow) and analyse the results.

Tests that crash get a crash expectation. Timeouts will get a timeout expectation.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 11:08:01 +00:00
jkummerow@chromium.org
75451d3c2c Add dependency to ICU 4.6
We use the patched version from the chromium project, as it already has
a gyp file and allows for using the system icu instead of the bundled
version if desired.

This is in preparation of bringing in v8-i18n.

R=jkummerow@chromium.org
BUG=v8:2745

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 08:32:41 +00:00
machenbach@chromium.org
6f5596be76 Remove test from blacklist that should pass.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-01 07:54:56 +00:00
mstarzinger@chromium.org
8b976da60e First simplistic implementation of escape analysis.
R=jkummerow@chromium.org, titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 16:09:54 +00:00
jkummerow@chromium.org
2fb7ab5530 Introduce a notion of "v8_code" in gyp config files.
This allows for compiling third-party code (such as ICU) with less
strict flags.

BUG=v8:2745
R=jkummerow@chromium.org

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:22:46 +00:00
bmeurer@chromium.org
f11af230e8 Refactor HInferRepresentation into an HPhase and use the phase zone.
Rename HInferRepresentation to HInferRepresentationPhase,
following naming scheme suggested by danno@chromium.org in
https://codereview.chromium.org/17458002

The HInferRepresentationPhase now uses the phase zone for all its
allocations.

Depends on https://codereview.chromium.org/17587008

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:40:35 +00:00
ulan@chromium.org
50b59eeb72 Fix Android V8 path for testing on devices.
This allows to run tests in production Android builds.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:31:23 +00:00
machenbach@chromium.org
f3f14fc7ed Migrate blink tests that are not relevant to blink into a new V8 test suite called 'blink'.
This initial CL contains the new test suite code and two tests for demonstration.

Other tests will follow in a separate CL.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-26 14:23:30 +00:00
yangguo@chromium.org
3aec8269f9 Add v8.log visualizer page.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:25:58 +00:00
loislo@chromium.org
1a15f8f768 CPUProfiler: Simplify logging part of CreateCodeEvent functions.
We have 5 overloaded functions with name CreateCodeEvent.
All these functions have many common parts. I'd like to eliminate the difference between them.

TEST=existing tests
R=yangguo@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 12:55:19 +00:00
mstarzinger@chromium.org
6e5c8fe803 Make sure GCMole pukes when Clang invocation fails.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 18:00:23 +00:00
machenbach@chromium.org
a340036e3a This test fails sometimes on all platforms.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 15:58:44 +00:00
machenbach@chromium.org
6a6790be37 HasUnexpectedOutput() is evaluated two times for each test run.
This fix removes the redundant call to allow heavy text comparisons through overwriting of that method.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:57:14 +00:00
verwaest@chromium.org
41068422be Add sample usage / output and -u option
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:36:11 +00:00
verwaest@chromium.org
af2c736cb8 Print v8 revision rather than branches/$branch.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 11:18:45 +00:00
verwaest@chromium.org
dac82c5650 Adding useful scripts to parse revision info.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 10:39:52 +00:00
machenbach@chromium.org
1bf85abffc Fixed typo in test expectations SKIP -> Skip
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 18:34:24 +00:00
machenbach@chromium.org
5160d982ac Lists tests to skip. The test expectations file will be assigned to the run_webkit_tests script using the additional expectations flag.
The tests listed in this file will be maintained manually. The list contains tests that typically fail on the V8 waterfall.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:59:10 +00:00
rossberg@chromium.org
9e8279e952 New unified type representation
Not used yet, only unit tests.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 15:43:53 +00:00
jkummerow@chromium.org
20cedf9a4b Liveness analysis for environment slots in Hydrogen
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 16:41:24 +00:00
yangguo@chromium.org
7f8a3d803c Make assertion scopes thread safe.
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:32:22 +00:00
rossberg@chromium.org
6fda4e4c28 Collect type feedback in separate pass and store it in AST
Notes:

- For now, just adds the missing type info fields to the AST nodes directly.
  I'd like to factor that out more nicely in a follow-up CL.

- All type feedback now is uniformly collected through AST nodes'
  RecordTypeFeedback functions. At some point, this logic should be moved
  out of ast.cc.

- The typing pass currently simulates the exact same conditions under
  which feedback was collected in Hydrogen before. That also should be
  made more generic in the future.

- Type information itself is unchanged. Making it more regular is
  yet more future work.

Some additional cleanups:

- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 13:59:20 +00:00
titzer@chromium.org
0a4289618d Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:45:46 +00:00
dcarney@chromium.org
881476a7af new style of property/function callbacks
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 06:36:24 +00:00
jkummerow@chromium.org
3e3cd01c95 Remove use_system_v8 logic from the mainline gyp file
Re-upload of https://codereview.chromium.org/14872005/

BUG=chromium:226860
R=ulan@chromium.org

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

Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 13:09:57 +00:00
mstarzinger@chromium.org
d898bded39 Prevent grokdump from crying about invalid input.
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:24:04 +00:00
dslomov@chromium.org
9b45b71d5a Added an extra flag that enables only ArrayBuffer.
This makes Blink experimentation easier.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:19:27 +00:00
yangguo@chromium.org
d1df0e631d Clean up VMState a little bit.
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:44:08 +00:00
mstarzinger@chromium.org
c46cbccefd Make it clear that GCMole depends on Clang 2.9 currently.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 12:48:59 +00:00
mstarzinger@chromium.org
d352df8131 Change deprecated comments that still talk about SCons.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 08:58:23 +00:00
mstarzinger@chromium.org
d1942e1431 Make Clang plugins directory configurable for GCMole.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 12:49:08 +00:00
mstarzinger@chromium.org
6654cbeb7d Switch GCMole to use GYP build file instead of SCons.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-19 12:46:32 +00:00
yurys@chromium.org
c0fca4e8c8 Revert r14252 as it broke --prof for some cases
R=jkummerow
BUG=v8:2642

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-19 11:55:01 +00:00
jkummerow@chromium.org
5eadc1a428 Remove SCons related files
Review URL: https://codereview.chromium.org/14348002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-18 11:01:14 +00:00
rodolph.perfetta@gmail.com
caa37597ad ARM: Makefile/gyp update allowing better control of ARM specific options.
This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
 * armfpu      = vfp, vfpv3-d16, vfpv3, neon.
 * armfloatabi = softfp, hard
 * armneon     = on
 * armthumb    = on, off
 * armtest     = on
One existing paratemer has been modified:
 * armv7       = true, false
A number of parameters have been deprecated (but are still working):
 * hardfp      = on, off
 * vfp2        = off
 * vfp3        = off

the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.

The shell help now prints the target options and features detected.

BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:39:48 +00:00
jkummerow@chromium.org
2df1620c28 Make gyp work with Cygwin
Review URL: https://codereview.chromium.org/13760003

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:36:44 +00:00
yurys@chromium.org
1596afa7f9 Move *BSD and Solaris Sampler implementation into sampler.cc
This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes.

The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.*

BUG=None

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 13:57:41 +00:00
yangguo@chromium.org
55b2391857 Fix so that you can run presubmit.py in Windows.
presubmit.py tried to execute cpplint.py directly, but in Windows it's the shell that connects that to the python binary so the execution (subprocess.Popen) needs to be told how to find python. An alternative would be to call subprocess.Popen with shell=True but this is less dangerous.

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

Patch from Daniel Bratell <bratell@opera.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 12:21:05 +00:00
jkummerow@chromium.org
f0579acab6 MinGW: Add Cygwin-free Makefile generation script
Review URL: https://codereview.chromium.org/14046009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:43:18 +00:00
jkummerow@chromium.org
1d541a309d Make gyp work with MingW32
Review URL: https://codereview.chromium.org/13468015
Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:33:31 +00:00
yurys@chromium.org
5206b08451 Remove code that analyzes tos values from tickprocessor
Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc) and now it is time to remove it from the tick processor.

Since the tos is not used anymore by profiler it is also removed from TickSample.

BUG=None

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 11:20:22 +00:00
jkummerow@chromium.org
a183e52085 Remove preparser library; link preparser executable against full V8
Review URL: https://codereview.chromium.org/13880018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:05:49 +00:00
rossberg@chromium.org
8e8bbc0e6c * src/generator.js: Add methods and intialization for generator meta-objects.
* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
  meta-objects, and store maps for constructing generator functions
  and their prototypes.

* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
  (NewFunctionFromSharedFunctionInfo): Use the new helper.

* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
   generators, allocate appropriate prototypes and maps.

* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.

* test/mjsunit/harmony/builtins.js: Add a special case for
  GeneratorFunctionPrototype.prototype.__proto__.

BUG=
TEST=mjsunit/harmony/generators-runtime

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

Patch from Andy Wingo <wingo@igalia.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-11 16:28:19 +00:00
palfia@homejinni.com
17f2177cb3 Add support for JUnit compatible XML output in the new test runner.
Implement a new output method in run-tests.py which
outputs JUnit compatible XML status information.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-11 00:22:26 +00:00
jkummerow@chromium.org
5dfe7e6828 Rename target-specific binaries built for host.
Rename v8_base, v8_nosnapshot, and mksnapshot to include a suffix of
.<(v8_target_arch). This allows multiple target architectures to be
built in the Android build system, which uses a single shared directory
structure for building host binaries.

BUG=

Review URL: https://codereview.chromium.org/12790011
Patch from Richard Coles <torne@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 10:42:54 +00:00