Use root compiler instance for inline result and policy
authorAndy Ayers <andya@microsoft.com>
Wed, 16 Mar 2016 17:50:51 +0000 (10:50 -0700)
committerAndy Ayers <andya@microsoft.com>
Wed, 16 Mar 2016 20:42:33 +0000 (13:42 -0700)
commit77c5f3e8b3aa61fd4e64b42862b572960cf1863e
treeb73302c91d19f2e88a08c6eec0f0e8d37d227ed5
parentc37aae496c6d83ddd49c96e0eeb9cc1bce2bff76
Use root compiler instance for inline result and policy

When constructing an InlineResult (and subsequent InlinePolicy)
always use the root compiler instance, so that all policy evaluations
done in a method are consistent.

Add an assert that the initial fact replay during `fgFindJumpTargets`
(force inline state and code size) doesn't change the candidacy when
inlining -- it should just be re-establishing what we knew in the
initial candidate scan.

Closes #3760.
src/jit/flowgraph.cpp
src/jit/inline.cpp
src/jit/inline.h
src/jit/inlinepolicy.cpp
src/jit/inlinepolicy.h