Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

Already on GitHub? Sign in to your account

dartvm --enable_type_checks hangs on optimized function #123

DartBot opened this Issue Oct 14, 2011 · 3 comments


None yet
3 participants

DartBot commented Oct 14, 2011

This issue was originally filed by duane.1.sa...@gmail.com

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 shootout.alioth.debian.org. 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)


DartBot commented Oct 14, 2011

This comment was originally written by drfibonacci@google.com

Added Area-VM, Triaged labels.


iposva-google commented Oct 17, 2011

Set owner to @sgmitrovic.
Added Accepted label.


sgmitrovic commented Oct 18, 2011

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.

nex3 pushed a commit that referenced this issue Aug 31, 2016

This issue was closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment