summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #5516 from Ichoran/non-slow-vector-twelveJason Zaugg2016-11-117-13/+11
|\ | | | | Improved runtime speed for Vector, restoring previous performance.
| * Manually inlined all other instances of Platform.arraycopy to System.arraycopyRex Kerr2016-11-096-8/+7
| | | | | | | | | | to avoid the same kind of slowdowns that Vector was experiencing due to the less aggressive inlining by scalac.
| * Improved runtime speed for Vector, restoring previous performance.Rex Kerr2016-11-091-5/+4
| | | | | | | | | | | | All calls to Platform.arraycopy were rewritten as java.lang.System.arraycopy to reduce the work that the JIT compiler has to do to produce optimized bytecode that avoids zeroing just-allocated arrays that are about to be copied over. (Tested with -XX:-ReduceBulkZeroing as suggested by retronym.)
* | Merge pull request #5497 from szeiger/wip/sd-254Jason Zaugg2016-11-111-4/+9
|\ \ | | | | | | Don’t include scala-asm.jar in scala-compiler.jar
| * | Don’t include scala-asm.jar in scala-compiler.jarStefan Zeiger2016-11-101-4/+9
| | | | | | | | | | | | Fixes https://github.com/scala/scala-dev/issues/254
* | | Merge pull request #5503 from dsbos/dsbos-SpecFixQuotesInProseSeth Tisue2016-11-102-4/+4
|\ \ \ | | | | | | | | Spec: Fix 2 pairs of quotes in text.
| * | | Fix two instances of ASCII `...' quoting to Unicode ‘...’ (to match others).Daniel Barclay2016-11-051-2/+2
| | | |
| * | | Added U+hhhh values for quote characters to clarify.Daniel Barclay2016-11-051-2/+2
| | |/ | |/|
* | | Merge pull request #5432 from dwijnand/partest-scalac_optsAdriaan Moors2016-11-101-1/+4
|\ \ \ | |_|/ |/| | Add support for -Dpartest.scalac_opts to the partest command
| * | Add support for -Dpartest.scalac_opts to the partest commandDale Wijnand2016-09-291-1/+4
| | |
* | | Merge pull request #5460 from som-snytt/issue/6978Jason Zaugg2016-11-104-1/+14
|\ \ \ | | | | | | | | SI-6978 No linting of Java parens
| * | | SI-6978 No linting of Java parensSom Snytt2016-10-154-1/+14
| | | | | | | | | | | | | | | | | | | | Don't lint overriding of nullary by non-nullary when non-nullary is Java-defined. They can't help it.
* | | | Merge pull request #5486 from som-snytt/issue/6734-synthsJason Zaugg2016-11-102-3/+35
|\ \ \ \ | | | | | | | | | | SI-6734 Synthesize companion near case class
| * | | | SI-6734 CommentSom Snytt2016-10-312-16/+11
| | | | |
| * | | | SI-6734 Synthesize companion near case classSom Snytt2016-10-272-3/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Tweak the "should I synthesize now" test for case modules, so that the tree is inserted in the same tree as the case class.
* | | | | Merge pull request #5509 from lrytz/t10032Lukas Rytz2016-11-105-20/+288
|\ \ \ \ \ | | | | | | | | | | | | SI-10032 Fix code gen with returns in nested try-finally blocks
| * | | | | Fix returns from within finalizersLukas Rytz2016-11-095-26/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a return in a finalizer was reached through a return within the try block, the backend ignored the return in the finalizer: try { try { return 1 } finally { return 2 } } finally { println() } This expression should evaluate to 2 (it does in 2.11.8), but in 2.12.0 it the result is 1. The Scala spec is currently incomplete, it does not say that a finalizer should be exectuted if a return occurs within a try block, and it does not specify what happens if also the finally block has a return. So we follow the Java spec, which basically says: if the finally blocks completes abruptly for reason S, then the entire try statement completes abruptly with reason S. An abrupt termination of the try block for a different reason R is discarded. Abrupt completion is basically returning or throwing.
| * | | | | SI-10032 Fix code gen with returns in nested try-finally blocksLukas Rytz2016-11-083-7/+200
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Return statements within `try` or `catch` blocks need special treatement if there's also a `finally` try { return 1 } finally { println() } For the return, the code generator emits a store to a local and a jump to a "cleanup" version of the finally block. There will be 3 versions of the finally block: - One reached through a handler, if the code in the try block throws; re-throws at the end - A "cleanup" version reached from returns within the try; reads the local and returns the value at the end - One reached for ordinary control flow, if there's no return and no exception within the try If there are multiple enclosing finally blocks, a "cleanup" version is emitted for each of them. The nested ones jump to the enclosing ones, the outermost one reads the local and returns. A global variable `shouldEmitCleanup` stores whether cleanup versions are required for the curren finally blocks. By mistake, this variable was not reset to `false` when emitting a `try-finally` nested within a `finally`: try { try { return 1 } finally { println() } // need cleanup version } finally { // need cleanup version try { println() } finally { println() } // no cleanup version needed! } In this commit we ensure that the variable is reset when emitting nested `try-finally` blocks.
* | | | | Merge pull request #5501 from SethTisue/sbt-deprecationsJason Zaugg2016-11-102-66/+73
|\ \ \ \ \ | | | | | | | | | | | | avoid deprecated sbt 0.12 operators
| * | | | | sbt build: omit `: _*` when calling `.settings`Seth Tisue2016-11-081-51/+51
| | | | | | | | | | | | | | | | | | | | | | | | this is allowed in recent sbt versions
| * | | | | Don’t rely on deprecated ScalaInstance methodsStefan Zeiger2016-11-071-2/+6
| | | | | |
| * | | | | Avoid 2 more deprecated sbt 0.12 operatorsDale Wijnand2016-11-042-2/+2
| | | | | |
| * | | | | avoid deprecated sbt 0.12 operatorsSeth Tisue2016-11-042-11/+14
| |/ / / /
* | | | | Merge pull request #5507 from viktorklang/wip-SI-10034-√Jason Zaugg2016-11-102-2/+2
|\ \ \ \ \ | | | | | | | | | | | | SI-10034: Regression: Make Future.failed(e).failed turn into a success instead of failure
| * | | | | Regression: Make Future.failed(e).failed turn into a success instead of failureViktor Klang2016-11-082-2/+2
| |/ / / /
* | | | | Merge pull request #5510 from retronym/merge/2.11.x-to-2.12.x-20161108Lukas Rytz2016-11-083-13/+20
|\ \ \ \ \ | |/ / / / |/| | | | Merge 2.11.x to 2.12.x [ci:last-only]
| * | | | Merge commit 'fe47ef0' into 2.12.xJason Zaugg2016-11-081-0/+4
| |\ \ \ \
| | * \ \ \ Merge pull request #5504 from retronym/topic/sbt-macro-warnSeth Tisue2016-11-071-0/+4
| | |\ \ \ \ | | | | | | | | | | | | | | Silence SBT logging about macros and incremental compilation.
| | | * | | | Silence SBT logging about macros and incremental compilation.Jason Zaugg2016-11-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since upgrading to SBT 0.13.12, clean builds have incurred warnings like: Because JavaMirrors.scala contains a macro definition, the following dependencies are invalidated unconditionally: .... This commit disables this behaviour of the SBT incremental compiler in the library and reflect projects, as these aren't regular macros (the macro implementations are hard coded in the compiler in `FastTrack`) so the new behaviour isn't actually improving correctness of inc. compilation.
| * | | | | | Merge commit '2f2f0f7' into 2.12.xJason Zaugg2016-11-080-0/+0
| |\| | | | |
| | * | | | | Merge pull request #5478 from dragos/backport/remove-println-SI-8717Adriaan Moors2016-10-283-6/+4
| | |\ \ \ \ \ | | | | | | | | | | | | | | | | [backport] Replace println with log calls in BrowsingLoaders
| | | * | | | | [backport] Replace println with log calls in BrowsingLoadersIulian Dragos2016-10-253-6/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This alternative symbol loader is used in the presentation compiler and may generate output even when the compiler should be silent. See SI-8717 for more context, even though this does not really fix the ticket.
| * | | | | | | Merge commit 'b9a16c4' into 2.12.xJason Zaugg2016-11-082-13/+16
|/| | | | | | | | |/ / / / / /
| * | | | | | Merge pull request #5378 from som-snytt/issue/9913Seth Tisue2016-10-262-13/+16
| |\ \ \ \ \ \ | | |/ / / / / | |/| | | | | SI-9913 Lead span iterator finishes at state -1
| | * | | | | SI-9913 Tighten bolts on span iteratorSom Snytt2016-09-061-13/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extra privacy, and the tricky state transition is made more tabular.
| | * | | | | SI-9913 Lead span iterator finishes at state -1Som Snytt2016-09-052-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Even if no elements fail the predicate (so that the trailing iterator is empty).
* | | | | | | Merge pull request #5469 from adriaanm/java-scan-tailrecAdriaan Moors2016-11-046-104/+88
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | No StackOverflowError in Java doc comment scanning Fixes SI-10020 SI-10027
| * | | | | | | Add regression tests for SI-10027Jakob Odersky2016-11-033-0/+18
| | | | | | | |
| * | | | | | | Factor out some more into ScaladocScannerAdriaan Moors2016-10-192-30/+26
| | | | | | | |
| * | | | | | | DocScanner has doc-comment scanning hooks.Adriaan Moors2016-10-193-67/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Align the Scala and Java doc comment scanning methods a bit. The Scala one especially had gotten a bit messy, with regular block comments being kind of accumulated, but never actually registered as DocComments.
| * | | | | | | Keep `skipBlockComment` tail recursiveAdriaan Moors2016-10-192-39/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Avoid StackOverflow on big comments. Simplify `ScaladocJavaUnitScanner` while in there. TODO: Do same for `ScaladocUnitScanner`?
* | | | | | | | Merge pull request #5499 from xuwei-k/patch-1Adriaan Moors2016-11-041-1/+1
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | fix starr version in README.md
| * | | | | | | | fix starr version in README.mdkenji yoshida2016-11-041-1/+1
|/ / / / / / / /
* | | | | | | | Merge pull request #5496 from adriaanm/2.12.xSeth Tisue2016-11-0318-3656/+12
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | Merge 2.12.0, starr=2.12.0, re-outsource scalacheck
| * | | | | | | | Revert "Temporarily insource Scalacheck 1.11.6"Adriaan Moors2016-11-0118-3652/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 22dac3118e97b2a4707d42ef1f47ac292a8ed385.
| * | | | | | | | Use 2.12.0 for STARRAdriaan Moors2016-11-011-1/+1
| | | | | | | | |
| * | | | | | | | Merge 2.12.0 into 2.12.xAdriaan Moors2016-11-011-3/+6
| |\ \ \ \ \ \ \ \
| | * \ \ \ \ \ \ \ Merge pull request #5470 from adriaanm/2.12.0-RC2Seth Tisue2016-10-201-2/+2
| | |\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | Bump to 2.12.0-RC2 starr and modules
| | | * | | | | | | | Bump to 2.12.0-RC2 starr and modulesAdriaan Moors2016-10-191-2/+2
| | |/ / / / / / / /
| | * | | | | | | | Drop repo_ref from jenkins.propertiesAdriaan Moors2016-10-141-2/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's propagated downstream by the '-main' build flows already