[jvm-compile] narrow compile dependencies from full closure to just next nearest invalid compilation targets
Review Request #4136 - Created Aug. 5, 2016 and submitted
|Nick Howard (Twitter)|
|benjyw, jsirois, stuhood|
I was in this code a couple months ago and noticed that each compile unit in the compile graph depends on the full transitive closure of its invalid dependencies.
This reduces that to just the nearest ones. It makes the debug graphs much more reasonable to render, and should reduce the scheduler overhead of large graphs somewhat.
Tests passed last time, but I've merged master and am rerunnning CI on the associated pull request.
Looks good, but I don't even remember why jvm_compile actually knows or cares about what is invalid upstream from it. Shouldn't target T's dependencies all be valid by the time we get to compiling T?