scala-js/scala-js — pull request #1281 by sjrd (2014-11-18 01:18:23+00:00)
Title: Make Predef.singleton_<:< and Predef.singleton_=:= inlineable.

Because they are singletons for efficiency, they are not allocated every time you use them. But then they are not inlineable classes, and hence did not cause the method call to be inlined, which is a pity, since their apply method is an identity.

This commit makes any tree of these two types are likely optimizable. With this, all that remains is a statement loading the field. We make this elideable as well by noting that `Select(x, y)` preserves the pureness of `x`, provided it is not `null`. If `x` is a `LoadModule()`, it cannot be `null`, so we can remove it.