Skip to content


Subversion checkout URL

You can clone with
Download ZIP


dartvm --enable_type_checks hangs on optimized function #123

DartBot opened this Issue · 3 comments

3 participants


This issue was originally filed by

In my .dart version of the fannkuch shootout benchmark, dartvm hangs with infinite loop when --enable_type_checks is on, after entering the optimized recompiled copy of the fannkuch function. This happens whether or not the dart source has explicit type notations. The unoptimized first compilation of the function executes well.

This version of fannkuch was derived from the non-Int32Array Javascript version at I first made minimal changes to put it in Dart form. In that version, Dartvm never recompiled the hot function into optimized form, because it was called only once and directly contained all the nested loops. I changed the main to invoke the fannkuch() function twice per run, and found that a first call with n=6 would trigger optimizations before the second call, whereas a first call with n=5 would not.

I used --trace_compiler to verify whether optimizations were triggered, and to verify that the hang occurs after entering the regenerated function, not during the recompilation itself.

fannkuch.1.dart (1.90 KB)


This comment was originally written by

Added Area-VM, Triaged labels.


Set owner to @sgmitrovic.
Added Accepted label.


This is not a hang but an extreme slow down when using --enable_type_checks with array store). We are aware of this performance issue and are working on fixing it. If you instrument the innermost do-loop with a print, you will notice that it is making slow progress (I was able to run the code to completion).

Added Invalid label.

@sgmitrovic sgmitrovic was assigned by DartBot
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.