SI-5958 This deserves a stable type - backport to 2.9.x

`this` (or the self variable) passed as an actual argument to a method
should receive a singleton type when computing the method's resultType

this is necessary if the method's type depends on that argument

adapts the test so that it runs on 2.9.x
SI-6188 backport (ICodeReader wrongly ignored exception handlers)

A backport of https://github.com/scala/scala/commit/61cc8ff61c81a1276a921ad5288ee3bebea1c96e

The original fix (above) includes a test case that relies on scala.util.Success which as of this writing isn't there in 2.9.x. The test case requires a previously compiled classfile (where bytecode for an @inline method with exception handlers can be found). Ticket SI-6188 contains a self-contained example (not dependent on scala.util.Success) with _1 and _2 .scala files . Alternatively that test case could be used instead.

The backported fix (this commit) is safe in the sense that it prevents methods read by ICodeReader containing exception handlers from being inlined, even if marked @inline. Alternatively, the same effect can be achieved by annotating a method as @noinline.
SIP-14 backport to 2.9.x

Other than adding the new APIs, a few changes are required:

1. Build. The Java sources in "scala/concurrent/impl" need forkjoin.jar
   on the classpath. Thus, I replaced the "classpath" attribute in the
   respective `javac` ant tasks (locker.lib, quick.lib, and strap.lib)
   with a "classpathref" attribute pointing to a classpath which includes
   also the forkjoin.jar. In the locker.lib target, exclude the duration
   package and everything that depends on it. In the docs.lib target,
   enable dependent method types, since they're used in the
   `scala.concurrent.duration` package.

   Also, the library is built with -Ydependent-method-types
   (for both quick & strap -- use consistent options for stability)

2. Dependent method types and SI-5958. The `duration` package relies on
   dependent method types, and requires a backport of SI-5958.
SI-6536 Generates super accessors X.super[Y].blah when Y is a class

The main change here is to add another case for generating super accessors -
the case in X.super[Y].blah when X isn't the current class and Y is a class.
The change is deliberately kept as minimal as possible to reduce the chance
of breaking something in the 2.9.x line.

Additionally GenICode now detects the case when we're trying to emit
byte code that would be nonsense and warns about it. That
can safely be made an assert for 2.11.

Finally a related assert in RefChecks is beefed up to output a bit more useful
information.
Merge pull request #1761 from adriaanm/ticket-6692-2.9.x

SI-6692 pickle one more flag bit: EXISTENTIAL
SI-6536 Cleanup code around determining accessor requirement

Moves the logic for the condition on requiring an accessor into a local method
with a match to make thing cleaner. Also determines the mix type using
a pattern match that logs but does not fail if the symbol isn't of the expected
type. Finally fixes a typo in an assertion in GenICode.

review @paulp
use consistent scalac args in quick&strap
Merge pull request #1764 from adriaanm/backport/sip14

SIP-14 backport to 2.9.x
Merge pull request #1770 from JamesIry/SI-6536_2.9.x

SI-6536 Generates super accessors X.super[Y].blah when Y is a class
binary compatibility compensation

- change mima configuration to compare to 2.9.2
- compensate 53130d2143: keep tailMap$1/tailFlatMap$1 around
- revert introduction of accessString in de82f9a04a:
  accessString appeared in library but only called once for a diagnostic message
Merge pull request #1774 from adriaanm/bc-2.9.3

binary compatibility compensation
update mailmap
Merge pull request #1777 from adriaanm/mailmap-2.9.x

update mailmap
SI-6766 Makes the -Pcontinuations:enable flag a project specific preference

Make the continuations plugin flag specific to the continuations library.
Remove the documentation about adding the continuation plugin from
the eclipse README.md.

One consequence of this change is that if a programmer has prefs
for the continuations eclipse project then there will be a merge conflict.
That's unavoidable without having a more sophisticated way  to build
the eclipse projects.
SI-6766 Create a continuations project in eclipse

We're missing a continuations dependency when we try to build reflect
in eclipse which causes things to die horribly. This commit adds an
eclipse project for the library portion of continuations, makes
projects that depend on the scala-library also depend on
continuations-library, and adds another bullet to the eclipse readme to
turn on the continuations plugin.
Merge pull request #1867 from huitseeker/backport/1721

SI-6766 Create a continuations project in eclipse ( backports https://github.com/scala/scala/pull/1721)
 Fix SI-6932 by enabling linearization of callback execution for the internal execution context of Future
SI-6932 Remove Batchable trait, minor clean-ups, update build
[backport] SI-6969, mishandling of SoftReferences in method cache.

More interesting to test than it was to fix. The soft
reference is now dereferenced once, the locally stored
underlying value ascertained to be non-null, and the
remainder of the references to the value use the local var.

The enclosed test reliably NPEs without this patch.
Merge pull request #1962 from phaller/issue/6932-2.9.x

Backport of SI-6932 to 2.9.x