JIT: fast path for minopts/debug codegen in lvaMarkRefs (dotnet/coreclr#19103)
authorAndy Ayers <andya@microsoft.com>
Tue, 31 Jul 2018 21:31:28 +0000 (14:31 -0700)
committerGitHub <noreply@github.com>
Tue, 31 Jul 2018 21:31:28 +0000 (14:31 -0700)
commit8b845ddfcbd185361a6b5df831d6be07cfeb03fd
treeb80625b6e667d834c6f876563396b68234f858e6
parentc0176f20f1be315142ab14ce29a295d09fc851ea
JIT: fast path for minopts/debug codegen in lvaMarkRefs (dotnet/coreclr#19103)

For minopts and debug codegen, consider all locals to be implicitly
referenced.

This is set up during `lvaMarkLocalVars` and maintained after that
by having `incRefCnts` set the implicit reference bit and not doing
anything in `decRefCnts` for minopts / debug.

Likewise suppress local var sorting, as we don't have accurate counts
to go by.

Commit migrated from https://github.com/dotnet/coreclr/commit/46b1ebabe1536ece7b808407af1f6d1dc5b1ba73
src/coreclr/src/jit/compiler.hpp
src/coreclr/src/jit/flowgraph.cpp
src/coreclr/src/jit/lclvars.cpp
src/coreclr/src/jit/morph.cpp