Inliner: enable inlining of methods with conditional throws (dotnet/coreclr#8038)
authorAndy Ayers <andya@microsoft.com>
Wed, 9 Nov 2016 23:03:23 +0000 (15:03 -0800)
committerGitHub <noreply@github.com>
Wed, 9 Nov 2016 23:03:23 +0000 (15:03 -0800)
commitcacfae62410db0e82f19ebf5bd3cc38b4ee2a1c6
treefa45d334d828c48cac4b286ad6e741f41d8241fc
parent482d194bdfb34714df7fc47a1757e983b8b04e7b
Inliner: enable inlining of methods with conditional throws (dotnet/coreclr#8038)

* Inliner: enable inlining of methods with conditional throws

Remove inlining limitation for methods that return values and have
conditional throws. This limitation was most likely a vestige of an
older inlining implementation that did not break trees at inline
call sites.

Also removed the now-unused observation and the `seenConditionalJump`
member variable. Merged ifdef blocks in `impInit`.

Ran full desktop testing, no issues.

Enables a handful of inlines in the various code size suites. For the
most part these slightly increase code size but can often shorten the
non-EH paths in the code.

Commit migrated from https://github.com/dotnet/coreclr/commit/e76da565c106016d604b95f3bb7eadd24ceaf18a
src/coreclr/src/jit/compiler.h
src/coreclr/src/jit/importer.cpp
src/coreclr/src/jit/inline.def