machenbach@chromium.org
a0734ba3af
Add deopt fuzzer tool.
...
Can be run as a stand-alone script like run-tests.
Executes first all tests of a given test suite to collect the maximum number of possible deopt points. Runs then a fuzzing phase with artificial deoptimizations triggered during testing.
Works for now with mjsunit and ia32 only.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/19931005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-24 12:04:29 +00:00
machenbach@chromium.org
71cf7139e5
Extend existing blink test expectations for slow tests.
...
The test plugins/js-from-destroy.html has crash and timeout expectations for some configurations but not on windows release. Add 'slow', since there is a timeout only on the v8 waterfall and only for windows release.
BUG=webkit.org/b/48655
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/20082002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-24 09:46:49 +00:00
mstarzinger@chromium.org
ce81b0d3a8
ES6: Implement WeakSet
...
WeakSets work similar to ordinary Sets but the value (which must be an
object) is held weakly.
This is available under --harmony-collections
BUG=v8:2785
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/19678023
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-22 08:32:24 +00:00
jkummerow@chromium.org
0963c220b1
Revert "Implement simple effect typing for variables" and "Handle switch effects".
...
This reverts r15776 and r15777 due to compile failures on Chromium Mac bots.
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/19482016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 19:55:09 +00:00
rossberg@chromium.org
02649f08bc
Implement simple effect typing for variables
...
For that, we maintain an abstract store typing of all variables with LOCAL location (i.e., those that do not escape the function's own scope). We treat assignments as sequential effects that modify this store.
When control flow branches, we have to compute the disjunction of possible effects. To that end, we represent the store as a stack of effect sets, such that we can cheaply push and pop "local" effects when control flow has to branch.
In cases of non-local control transfer from an unknown source, we currently erase all knowledge about the store.
The 'switch' statement is still to come.
For a formulation of the typing rules, see:
https://docs.google.com/a/google.com/file/d/0B3wuXSv9YKuKeUNkVXZDemZ0Z1E
;)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/19054006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-19 12:54:27 +00:00
machenbach@chromium.org
608fb980e3
Update blink test expectations.
...
The original expectations from blink contain crash expectations for these three tests. We overwrote those by adding timeout.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/19753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-18 12:22:23 +00:00
machenbach@chromium.org
62df8063a4
Extend expectations for slow test cases on the V8/blink trunk builder.
...
The second test has an existing expectation that is extended.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/19299004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-16 11:21:48 +00:00
bmeurer@chromium.org
fb77805ab7
Turn propagate deoptimizing mark into a proper HPhase.
...
Also turn the recursion on the domination chain into a loop with
an explicit stack, to avoid possible stack overflow here.
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/19150002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-15 09:53:00 +00:00
bmeurer@chromium.org
b2f909cf3e
Turn array index dehoisting into a proper HPhase.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18562009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 12:03:43 +00:00
rossberg@chromium.org
3d9586c431
This adds the following array iterator methods:
...
Array.prototype.values
Array.prototype.keys
Array.prototype.entries
These all return an Array Iterator object which has a next
method.
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.4.5
BUG=v8:2722
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/16848004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 11:20:54 +00:00
jochen@chromium.org
2809793a4f
Only depend on icudata on windows.
...
On windows, this triggers the dll to be copied to the correct
locations. On other platforms, icudata is compiled in, and depending on
it results in an invalid linker archive ordering.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18734003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 11:01:00 +00:00
jochen@chromium.org
97409c2363
Move InitializeICU() to the V8 API and use it.
...
I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18860007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 09:58:54 +00:00
bmeurer@chromium.org
c294a40e0a
Turn canonicalization into a proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18758003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 08:21:50 +00:00
bmeurer@chromium.org
695b18c050
Turn merge removable simulates into a proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18258004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 16:34:28 +00:00
bmeurer@chromium.org
5664bcaed3
Refactor compute minus zero checks into a proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18666006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 14:08:19 +00:00
jochen@chromium.org
865ce5806f
Factor out toolset definitions in a separate gypi file
...
That way, third-party libraries use the correct toolset settings.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18846002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 11:15:16 +00:00
yangguo@chromium.org
5b70a58ad2
Fix plot script.
...
The script for the time line plot has been broken since r15484, which
changed the format of tick entries in v8.log.
To prevent this from happening in the future, I added a test case.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/18826008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-10 07:53:27 +00:00
machenbach@chromium.org
8f72d99ab1
Widen existing blink test expectations for Windows debug.
...
All three tests have existing timing issues on the blink waterfall and receive a timeout on the V8 waterfall in Windows debug.
See http://src.chromium.org/viewvc/blink/trunk/LayoutTests/TestExpectations
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18434005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 11:33:25 +00:00
bmeurer@chromium.org
47df386841
Turn the representation changes into a proper HPhase.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 09:02:09 +00:00
bmeurer@chromium.org
99f171a128
Turn redundant bounds checks elimination into a proper HPhase.
...
R=dslomov@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18826002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:36:28 +00:00
bmeurer@chromium.org
b899185790
Turn infer types into proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18568007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:33:03 +00:00
machenbach@chromium.org
78b429abb9
Sync test expectations with blink expectation file.
...
Remove some expectations from our blacklist, because they are part of blink's expectations now:
http://src.chromium.org/viewvc/blink?view=revision&revision=153636
Blink revision 153636 is now included in DEPS revision 153656.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18823002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:24:11 +00:00
bmeurer@chromium.org
e5b69658e4
Turn redundant phi elimination into proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18549004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 08:18:29 +00:00
bmeurer@chromium.org
5fd94c9ba1
Turn stack check elimination into proper HPhase.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/18816002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-08 07:03:57 +00:00
bmeurer@chromium.org
17e58e8198
Turn dead code elimination into a proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18791002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-07 06:00:15 +00:00
machenbach@chromium.org
5eb8ddf447
Add temporary expectations for compiler output change.
...
See also crbug.com/257613
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/18633003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-05 15:16:58 +00:00
yangguo@chromium.org
02674ee414
Keep two empty lines between declarations for cpp files
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/18509003
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-05 09:52:11 +00:00
bmeurer@chromium.org
8767fdbb28
Turn range analysis into proper HPhase.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/18491002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-04 19:25:16 +00:00
titzer@chromium.org
bddf08b0b1
Factor out OSR-related graph-building functionality from hydrogen.cc.
...
BUG=
Review URL: https://codereview.chromium.org/18496002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-04 09:20:07 +00:00
machenbach@chromium.org
fea5ebe90f
Update performance baseline to newest chromium LKGR.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/18671002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-04 07:32:57 +00:00
yurys@chromium.org
9ef762b683
Do not store fp and sp values in TickSample
...
Their values are not used neither by the tick processor nor by CpuProfiler so it is just a waste of space.
TickSample used to be a transport for grabbed register values to TickSample::Trace, now they are passed in a special structure RegisterState which is allocated on the stack for the sampling period.
Some common pieces were moved from platform-dependent code into Sampler::SampleStack and TickSample::Init.
BUG=None
R=jkummerow@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/18620002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 16:20:59 +00:00
jkummerow@chromium.org
6659869b7c
Sort the i18n extension sources correctly.
...
It's important that e.g. the header comes first, and the footer last
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18187005
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 15:28:59 +00:00
jkummerow@chromium.org
56ab3e3404
Import the v8-i18n extension into v8
...
This adds the gyp flag v8_enable_i18n_support (off by default), and the
v8 flag FLAG_enable_i18n (on by default, but without effect if
v8_enable_i18n_support is off).
BUG=v8:2745
R=cira@chromium.org , danno@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18487004
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 11:22:29 +00:00
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