Open mkustermann opened 7 years ago
There are some general issues that IKG is running into with the the mixin transformer. The transformer is not modular and breaks IKG in various ways. Normally it results in invalid code rather than a crash though. Relevant bugs if you are curious: #29881 #30111 and #31043 .
If you remove this transformer (commenting it out in pkg/kernel/target/vm.dart), you'll see the benchmark running again. Another way to work around this is to provide vm_platform instead of vm_outline. That's because one the transformer is not meant to run against outlines in the first place.
BTW - it might be worth changing incremental_perf_test.dart
to use the data from the benchmarks/ikg folder. We are currently testing a small program and dart2js, but it would be nice to test the exact same configuration as the one you are using.
You may note that the test uses vm_platform.dill if it's available. We were however able to run with an outline file if checked-mode was off (.status file marks the failure in checked mode), so your crash surprises me a bit. I would expect this to happen on the unit test as well :-/. We need to take a closer look at that.
When recently working om ikg benchmarks, I noticed a new issue must have been introduced recently:
As can be seen above, IKG on hello world works, but on dart2js causes a strange issue :-/
As another side note: The
pkg/front_end/tool/incremental_perf.dart
script was supposed to measure IKG time only, not serialization. Yet the stack above shows some kind of serialization is involved. Why is that?/cc @scheglov @sigmundch