Commit graph

206 commits

Author SHA1 Message Date
Aart Bik fa7fc5fb25 [dart/fuzzer] added another ignored parameter
Rationale:
Avoids rejecting extra parameter when running
on cluster for nightly testing.
Change-Id: I34a5e02638ec93f602609e32f5e460e774656f35
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/105968
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-06-13 19:05:04 +00:00
Aart Bik 869cb683d8 [dart/fuzzer] rename exception parameter
Rationale:
catch (e) had a very interesting shadowing
with math's constant e, which unintentionally
allowed exeption text to enter the divergence
mechanism; here we were fuzzing the fuzzing
really :-)

https://github.com/dart-lang/sdk/issues/36916

Change-Id: Ie5cd61755ea61921b903684532d404f4dc734edd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/102062
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-05-09 20:47:21 +00:00
Aart Bik e00b2b577e [dart/fuzzer] restrict length parameter in List fill
Rationale:
Easily causes out of memory. For AOT, can even break
asserts on compilation consants.

https://github.com/dart-lang/sdk/issues/36658

Change-Id: I662c1e50338db636e2b558ac3a2761659d8b2ad4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100635
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-27 00:00:14 +00:00
Aart Bik ec15148db2 [dart/fuzzer] no target on unsupported build targets
Rationale:
This if "hides" the dart_libfuzzer target for
build targets that do not support the fuzzer tool
(e.g. no asan, ia32, etc.). This makes "build all"
possible again, and yields "unknown target 'dart_libfuzzer'"
for unsupported case. Also updates README accordingly
and fixes some formatting.

https://github.com/dart-lang/sdk/issues/36774

Change-Id: I61d85ae00d13a0eda3818d40b992cd81f5ee0357
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100630
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Aprelev <aam@google.com>
2019-04-26 20:51:15 +00:00
Aart Bik d0b236c319 [dart/fuzzer] restrict stmt depth and length
Rationale:
We have consistent failures with DBC reaching
the 64K constant limit. Although a true problem,
as this stage, it is not so useful to keep
DartFuzz nightly runs red constantly for this.
This CL reduces the length a bit, so that we
hit this restriction less often.

https://github.com/dart-lang/sdk/issues/36646
https://github.com/dart-lang/sdk/issues/36658

Change-Id: Ief2c7293b0159b798ee0426751899dc7fffd4f5d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100464
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-25 17:17:20 +00:00
Aart Bik e6260f67b3 [dart/fuzzer] Remove hashCode from API table
Rationale:
Yields false dependences between 32-bit and 64-bit
implementations.

https://github.com/dart-lang/sdk/issues/36658

Change-Id: I61309628527cf859637643a943a68d8003873792
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100460
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-24 18:48:25 +00:00
Aart Bik 585debbb2e [dart/fuzzer] Exclude process info from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I48e32e06b453bab0aeba22ee214ec201ebd34229
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99083
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 21:05:12 +00:00
Aart Bik dc606ef02f [dart/fuzzer] Exclude 'pid' from API table
Rationale:
Yields false divergences only.

https://github.com/dart-lang/sdk/issues/36560

Change-Id: I68133e2b076e1da1b094d79512a281093b093a91
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99080
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 19:04:59 +00:00
Aart Bik b76694386a [dart/fuzzer] Exclude Platform from API table
Rationale:
Using Platform strings and other features is
too subject to divergences between the different
execution modes. Nothing useful is tested here.
Change-Id: Icb96b0a6891d1b45b831fb17fa1d9d2cd7b77b6f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98948
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-10 01:07:51 +00:00
Aart Bik fd2393d6d3 [dart/fuzzer] Re-enable optimization_counter_threshold testing
Rationale:
Underlying issues fixed by Samir.

https://github.com/dart-lang/sdk/issues/35196

Change-Id: I7baaecbe6611f9581050da09ac5375fdf70db319
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98760
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-05 22:56:34 +00:00
Aart Bik 5e8b0b7a97 [dart/fuzzer] Fuzz support for spread and control flow collections
Rationale:
Follows the documented grammar to allow for arbitary nested
spead/if/for inside collections (list, set, maps).

https://github.com/dart-lang/sdk/issues/36218
https://github.com/dart-lang/sdk/issues/36214

Change-Id: Ie5b5828a323401c4db14045e6edd0587677f2c19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98261
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-04-04 17:22:24 +00:00
Aart Bik f29e100f42 [dart/fuzzer] Generate DartFuzz API tables automatically
Rationale:
Rather than manually constructing the API tables for DartFuzz,
this introduces a utility to generate API tables based on
the analyzer traversal of common libraries. The utility
recognizes DartTypes that are currently understood by DartFuzz
and constructs the tables organized by return type.

TBD:
DartFuzz's type system is rather simple; as this improves,
more and more methods will be accepted by the utility,
thereby increasing fuzzing coverage of our libraries.
Change-Id: Idcc607a4a592dbbf80bd79cdfec429cb397b7f68
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98041
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-03-28 16:31:45 +00:00
Aart Bik a6a5a2b635 [dart/fuzzer] Added more Dart constructs
Rationale:
More generation-based fuzz cases to cover
more Dart constructs. Already found first
new bug.

https://github.com/dart-lang/sdk/issues/36076

Change-Id: I77a9a589d89c1fb0a57a202fb88d046cf15d058e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95303
Reviewed-by: Alexander Thomas <athom@google.com>
2019-03-07 19:08:05 +00:00
Ryan Macnak afb8747fc2 [vm/tools] Add option in Graph Explorer to rewrite the graph to be more hierarchical.
Helps to reveal more struction in the dominator tree that is normally lost from cross links added by call sites, allocation sites, inlining, etc.

Change-Id: Ib59350f9926324e6c53333388709ce4964c3f88b
Reviewed-on: https://dart-review.googlesource.com/c/94300
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-02-25 21:21:02 +00:00
Ryan Macnak 7329247892 [vm/tools] Add Graph Explorer to visualize output of --write_v8_snapshot_profile_to.
In particular, this tool can produce treemap visualizations of the dominator tree.

Change-Id: If582c80213b4bdec9ff8ee4d5d61a1e15bf342e5
Reviewed-on: https://dart-review.googlesource.com/c/92900
Reviewed-by: Aart Bik <ajcbik@google.com>
2019-02-13 19:30:37 +00:00
Aart Bik d136a35244 [dart/fuzzer] Add O3 as random command line switch
Also further refactors switch selection from naming.
The JIT stress execution modes don't really need
their own visible name (you cannot really control
which stress test to use anyway with --mode), so it's
cleaner to remove the idea of controlling switches
altogether.

Change-Id: I98aa71ce8653013fb45a4c482d7b4c5a02143a55
Reviewed-on: https://dart-review.googlesource.com/c/92386
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-02-08 18:04:05 +00:00
Aart Bik b05b8777d4 [dart/fuzzer] Refactor switch setup, add VFP to ARM
Rationale:
The fuzz test constructors were getting a bit convoluted
with mode specific setup. This CL refactors the flag
and mode name setup into the factory method, making
all constructors small again.
Change-Id: I5fd34e089315c89e674c7b28a4f298143fbeaeea
Reviewed-on: https://dart-review.googlesource.com/c/92380
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-02-07 22:41:18 +00:00
Aart Bik bc0cbac5cc [dart/fuzzer] remove obsolete reference to py file
Change-Id: I4532e425904d95d3f4883422da943bc5a9ab9c7c
Reviewed-on: https://dart-review.googlesource.com/c/90782
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-23 19:13:36 +00:00
Aart Bik 7078c9a69e [dart/fuzzer] Further development DartFuzz
Rationale:
Adds a few more constructs, avoid situations that go out-of-memory
too easily, prepares library method format for automatic generation
of library tables.

https://github.com/dart-lang/sdk/issues/35406

Change-Id: I24b4656ea073fbe41175aa08952588e28d4363a1
Reviewed-on: https://dart-review.googlesource.com/c/90320
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2019-01-23 17:21:11 +00:00
Vyacheslav Egorov a9ce969e53 [vm] Decouple growable_array.h and zone.h from thread.h
- Introduce a slimmed down version of thread.h, which just depends on the
Zone and StackResource.
- Introduce a layering check that would prevent the coupling in the future.

This is the first step towards decoupling compiler from runtime.

There are multiple reasons to introduce the decoupling but the main
reason currently is to introduce a controlled surface through which
compiler reaches into runtime to catch any places where runtime word size
might influence the compiler and then enable building compiler that
targets 32-bit runtime but is embedded into a 64-bit runtime.

Issue https://github.com/dart-lang/sdk/issues/31709

Change-Id: Id63ebbaddca55dd097298e51c90d957a73fa476e
Reviewed-on: https://dart-review.googlesource.com/c/87182
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-11 20:47:10 +00:00
Keerti Parthasarathy 8f33211f25 Fix typo in import, was using path
Change-Id: I01764f35c169f0854f5b6f187a06b22bc02820ed
Reviewed-on: https://dart-review.googlesource.com/c/88746
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2019-01-08 22:34:22 +00:00
Vyacheslav Egorov 3a37ebba9f [vm/tools] Update python scripts to avoid quadratic string concat.
Change-Id: Id675c6b804be6c4df5849ea9c0c2c1d6d3377868
Reviewed-on: https://dart-review.googlesource.com/c/88707
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-01-08 12:32:13 +00:00
Aart Bik 80a6f4b5dd [dart/fuzzer] refactor lists into new file
Rationale:
Refactor DartFuzz so that long lists of values appear
in separate file, making the actual fuzzing code easier
to read. Also, this prepares generating some of the
lists automaticaly (such a library methods). Note that
*no* version bump is required, since this refactoring
does not change behavior.
Change-Id: Ic58eb7bc1aa63f48ec0d37e3c2399917786086bd
Reviewed-on: https://dart-review.googlesource.com/c/87266
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-14 00:22:07 +00:00
Aart Bik a16f1bd67b [dart/fuzzer] Fix js execution mode specification
Rationale:
With recent refactoring, we need to give js a tag,
which actually makes the naming more consistent
(even though path for js is computed slightly differently).
Change-Id: I5649f38ae41c9bf133629f8a0602f03be99ac523
Reviewed-on: https://dart-review.googlesource.com/c/86945
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-11 19:18:10 +00:00
Ryan Macnak f6b5f9ce2e [vm] Add --gc_every to trigger major GC every N stack overflow checks.
Add DartFuzz configurations for various stress flags.

Change-Id: I2278ffcd1ea4193067c4c9f12ec669e48a182f00
Reviewed-on: https://dart-review.googlesource.com/c/86822
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-11 01:28:02 +00:00
Aart Bik bbe9333af5 [dart/fuzzer] Report stderr on non-output divergence
Rationale:
The output for output divergences is too lenghty to
report (and should be reproducable anyway). However,
for any other divergence, we want to have a better
clue on what went wrong, since this may indicate
an infrastructure problem that is harder to reproduce.
Change-Id: I20e14a753048406fad6cbd55a270bf6958920915
Reviewed-on: https://dart-review.googlesource.com/c/86000
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-12-04 19:06:26 +00:00
Ryan Macnak d6373525f7 [standalone] Remove dead Dart 1 loading code.
Change-Id: I5551a40819b1e011cf50fe0dc38c74fe45f81160
Reviewed-on: https://dart-review.googlesource.com/c/85841
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-12-04 17:17:25 +00:00
Aart Bik 86111b5543 [dart/fuzzer] Disable jit-opt modes
Rationale:
None of the jit-opt-xxx modes gives any useful
information while the flag is not stable.

https://github.com/dart-lang/sdk/issues/35196

Change-Id: I103931a21a1d9d8293b3044f00e9a73c0f6fe6f5
Reviewed-on: https://dart-review.googlesource.com/c/84827
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-11-19 22:56:33 +00:00
Aart Bik 81d899ac30 [dart/fuzzer] Add mode to stress test JIT optimization
Rationale:
We get pretty good coverage on unoptimized path for JIT,
but the optimized path depends heavily on whether functions
are called often in the fuzz generated code. This mode
adds coverage of going quicker into the optimized path.

Note:
This mode already exposed an issue with DEBUG JIT.

https://github.com/dart-lang/sdk/issues/35196

Change-Id: Ib32b4ba449cb7b2b777d669ef264742aa44a9ccc
Reviewed-on: https://dart-review.googlesource.com/c/84680
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-11-16 22:25:24 +00:00
Aart Bik c60cff1d33 [dart/fuzzer] Introduce time-based test runs
Rationale:
To maximize CPU utilitization during fuzzing runs,
we now use a time-out on all the individual fuzz
testing runs (rather than repeat based). This way,
the "faster" tests will cover more ground, while
the "slower" straggler tests will not break the test
with unnecessary time-outs at cluster level.
Change-Id: I5f0f9646da3fbd8b361a7ea43444b1896a45b57f
Reviewed-on: https://dart-review.googlesource.com/c/84047
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-11-12 18:47:59 +00:00
Aart Bik e585605488 [dart/fuzzer] Ignore output directory option
Rationale:
Step towards parallel execution.
Change-Id: I1c6ba3eaa33834d6f4b7ba5489acca567fc00b3d
Reviewed-on: https://dart-review.googlesource.com/c/83041
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-11-06 17:43:40 +00:00
Ryan Macnak 235a918233 [vm] Remove Dart_LoadScript, Dart_LoadLibrary, Dart_LoadSource, etc.
Change-Id: I9c19625702f1df48c03de2eb3a0f7bb581d2e0b3
Reviewed-on: https://dart-review.googlesource.com/c/79140
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-10-11 00:38:37 +00:00
Aart Bik 751cf1974a [dart/fuzzer] Add DBC as execution mode.
Rationale:
More coverage is better!
Change-Id: Ic04f4caf7d02e1db9398f3d51ae44f6b51d6542d
Reviewed-on: https://dart-review.googlesource.com/c/78862
Reviewed-by: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-09 18:56:28 +00:00
Aart Bik 5b1444503e [dart/fuzzer] Minor output tweaks
Rationale:
(1) does not print output difference on clusters
    to avoid cluttering logs (difference can be
    reproduced locally anyway after the fact)
(2) prints total # divergences at end in summary
Change-Id: I6fb736178569bfc0fa41afc525dee8f76ea7b465
Reviewed-on: https://dart-review.googlesource.com/c/78581
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-08 17:59:09 +00:00
Aart Bik 4d69ecf4be [dart/fuzzer] Avoid OOM situations that may yield false divergence
Bug:
https://github.com/dart-lang/sdk/issues/34688
https://github.com/dart-lang/sdk/issues/34681

Change-Id: Ia6426e2f6415294352d2a3bd3c10ed575ad8c261
Reviewed-on: https://dart-review.googlesource.com/c/78384
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-06 00:13:20 +00:00
Aart Bik f048ef3da8 [dart/fuzzer] Periodic output to keep cluster logs happy
Rationale:
Even though I tried to keep fuzz testing log output to a
bare minimum, not showing something at least every 20 minutes
may cause a cluster run timeouts. Therefore, show some progress
indicators during run to keep cluster logs happy.
Change-Id: I59ea0e50d2ccbe78cf09fc2ee397eeb404ec72a2
Reviewed-on: https://dart-review.googlesource.com/c/78321
Reviewed-by: Aart Bik <ajcbik@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-05 23:53:27 +00:00
Aart Bik d31db6581c [dart/fuzzer] Add kbc execution mode
Rationale:
This enables testing of bytecode interpretation,
compilation, or mixed mode.


Change-Id: Ie4322c62f1f6a1abe4896ec98c4edf40d25b7135
Reviewed-on: https://dart-review.googlesource.com/c/78186
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-05 05:39:09 +00:00
Aart Bik e1421f3d08 [dart/fuzzer] avoid timeouts
Rationale:
Based on monitoring several runs, AOT on SIMARM(64)
simply takes too much time, resulting in sessions
that only have timeouts. Until we fix the runtime,
this CL disables these runs just to avoid wasting
cluster cycles.
Change-Id: I626ab07c64bd097dc8d654dbfc6a8030bc7803d1
Reviewed-on: https://dart-review.googlesource.com/c/78181
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-04 21:42:50 +00:00
Aart Bik 8d0281e03b [dart/fuzzer] Shard fuzzer support
Change-Id: I727498e5fbc321bbcd9546f43b25cf3c47209dd1
Reviewed-on: https://dart-review.googlesource.com/c/78180
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-04 20:47:20 +00:00
Aart Bik 74f2348941 [dart/fuzzer] DartFuzz Improvements
Included:
(1) Added more expression variants in generator.
(2) Added --isolates option in driver (enables parallel execution).


Change-Id: I4e04490acc3046fd4771dd07502ba0fcdceb7df5
Reviewed-on: https://dart-review.googlesource.com/c/77720
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-04 16:47:58 +00:00
Aart Bik 0016f80467 [dart/fuzzer] Pick execution modes at random by default
Rationale:
Provides randomness for our bots without having to
explicitly code all execution modes.
Change-Id: Ida680ece59dd05e6fc11aa60ab9d4deacdbf3d05
Reviewed-on: https://dart-review.googlesource.com/c/77664
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-02 20:10:07 +00:00
Aart Bik bdeb6a3f95 [dart/fuzzer] Remove use of PATH in env
Hardcoding the paths to dart compiler and runtime
ensures the proper binaries are used or an error
is reported (before we could silently fall back
to another toolchain if the first part of PATH
failed, but alternative followed in a later part).

Change-Id: Ib8d2c4f3fd7ab9b78c8d11585017d506e2812333
Reviewed-on: https://dart-review.googlesource.com/77001
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-10-01 19:25:14 +00:00
Aart Bik 19e844ed5b [dart/fuzzing] Use current directory as SDK top (by default)
Rationale:
DART_TOP can now be provided through switch, as
an environment variable or, by default, using the
current directory from which script is started.
This simplifies set up in cluster runs.
Change-Id: Icb4f720b7a7bb7b349ce158d39574c271132c224
Reviewed-on: https://dart-review.googlesource.com/76201
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-09-24 19:02:01 +00:00
Alexander Markov 19e2040f35 [vm] Cleanup the ability to specify entry points via JSON and text files
Entry points files (both JSON and text) are replaced with
@pragma("vm:entry-point") annotations.

This change removes obsolete:
* --embedder_entry_points_manifest option in gen_snapshot;
* --entry-points option in gen_kernel and frontend_server;
* --print_precompiler_entry_points VM option;
* 'entry_points' argument in Dart_Precompile() API.

Change-Id: I503f50f51df27e8e9635388c013058686b3b6ff1
Reviewed-on: https://dart-review.googlesource.com/75793
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-09-21 16:51:48 +00:00
Aart Bik cbf60679eb [vm/fuzzer] Migrated driver from Python to Dart.
Rationale:
Remove last part of Python in favor of Dart. Note that
this is still under heavy development, with many new
features planned. But it is a runnable system now which
we be deployed from the comfort of your own desktop or
on a cluster if needed.
Change-Id: I96fc8973bcc00c69849434087c57ff897d01b79a
Reviewed-on: https://dart-review.googlesource.com/75621
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Jonas Termansen <sortie@google.com>
2018-09-20 17:41:59 +00:00
Aart Bik dd2d4af442 [vm/fuzzer] Migrated from Python to Dart.
Rationale:
I suppose that "Drinking the Kool-Aid" requires me to migrate
the Dart fuzzer test tools from Python to Dart. This CL is a first
step, migrating dartfuzz.py to dartfuzz.dart. In addition, more
constructs were added to the generation, although it is still
far from finished of course!

Todo:
Migrate the driver (run_dartfuzz_test.py) to Dart as well.
Keep on adding more constructs to generate.
Change-Id: I9a8cb4fa9482d0d41c9af3e9bd3ac2e59286c949
Reviewed-on: https://dart-review.googlesource.com/72361
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-09-11 17:52:32 +00:00
Alexander Aprelev d00a5783c9 [vm] Fix bin_to_coff.py so it produces 8-byte wide kKernelServiceDillSize on 64-bit build.
Change-Id: Ic0d69fcccb42388129b39019d945fa9dfd2b1732
Reviewed-on: https://dart-review.googlesource.com/66522
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-07-25 04:32:43 +00:00
Zach Anderson 54c7754beb [build] Use the right section type in bin_to_coff.py
Change-Id: Ia4a761e757293aa117b909e0ee919031dce58bd9
Reviewed-on: https://dart-review.googlesource.com/64765
Reviewed-by: Ben Konyi <bkonyi@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2018-07-12 19:47:48 +00:00
Ben Konyi 370f2e8ff8 [ VM / Build ] Added bin_to_coff.py to generate object files from binaries. Speeds up Windows builds significantly since .dill files are no longer converted to assembly and run through asm.exe.
Change-Id: Iaaaf054c0202e8547227b2bfd19c4d9df1bcdf6b
Reviewed-on: https://dart-review.googlesource.com/63986
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-07-11 18:42:13 +00:00
Aart Bik 85350b0c53 [vm/fuzzer] Added configuration support in DartFuzz.
Rationale:
This change allows running Dart in various
different configurations (e.g. jit-ia32 and
aot-arm64).
Change-Id: I16700cd462873766f47a33bd866c7fa7cba603d1
Reviewed-on: https://dart-review.googlesource.com/63985
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Aart Bik <ajcbik@google.com>
2018-07-11 05:15:26 +00:00