summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #4923 from lrytz/closureOptimizerStabilityLukas Rytz2016-01-281-38/+33
|\ | | | | Ensure bytecode stability in the closure optimizer
| * Ensure bytecode stability in the closure optimizerLukas Rytz2016-01-271-38/+33
|/ | | | | | | | https://github.com/scala/scala-dev/issues/77 Previously, the order in which closure invocations were re-written depended on the callGraph's closureInstantiations map, which is not sorted / linked.
* Merge pull request #4735 from soc/SI-9437Lukas Rytz2016-01-2611-6/+194
|\ | | | | SI-9437 Emit and support parameter names in class files
| * SI-9437 Emit and support parameter names in class filesSimon Ochsenreither2016-01-2511-6/+194
| | | | | | | | | | | | | | | | JEP 118 added a MethodParameters attribute to the class file spec which holds the parameter names of methods when compiling Java code with `javac -parameters`. We emit parameter names by default now.
* | Merge pull request #4916 from lrytz/restoreASMTestsLukas Rytz2016-01-2634-655/+374
|\ \ | | | | | | Restore backend tests that were removed together with GenASM
| * | Rename junit tests to end in *Test to make them run in ANTLukas Rytz2016-01-254-7/+5
| | | | | | | | | | | | | | | | | | Our ANT script only runs junit tests that match *Test.class. https://github.com/scala/scala/blob/1081e718f8f8e174dbf615e42b157e187d3d3886/build.xml#L1467
| * | Rewrite test: no local for underscoreLukas Rytz2016-01-255-49/+19
| | |
| * | Rewrite test: no null in patmatLukas Rytz2016-01-255-40/+13
| | |
| * | Rewrite test: no type test on primitives in patmatLukas Rytz2016-01-255-34/+19
| | |
| * | Rewrite test for SI-7006Lukas Rytz2016-01-255-61/+24
| | |
| * | Rewrite test for inlining higher-order functionsLukas Rytz2016-01-253-92/+20
| | |
| * | Rewrite test for inlining from sealed classLukas Rytz2016-01-254-56/+29
| | |
| * | Rewrite copy propagation testLukas Rytz2016-01-253-191/+73
| | |
| * | Rewrite test for SI-5313Lukas Rytz2016-01-253-67/+92
| | |
| * | Rewrite test for SI-6955Lukas Rytz2016-01-252-33/+28
| | |
| * | Rewrite test for SI-6956Lukas Rytz2016-01-252-31/+58
| | |
* | | Merge pull request #4858 from lrytz/opt/elimBoxesLukas Rytz2016-01-2536-858/+3833
|\| | | | | | | | Eliminate non-escaping boxes, tuples and refs
| * | -YoptTrace takes a package/Class.method parameterLukas Rytz2016-01-252-2/+3
| | |
| * | Merge remote-tracking branch 'upstream/2.12.x' into opt/elimBoxesLukas Rytz2016-01-24572-24515/+5443
| |\ \ | |/ / |/| |
* | | Merge pull request #4914 from felixmulder/topic/scaladoc-update-diagramsVlad Ureche2016-01-2319-5681/+89
|\ \ \ | |_|/ |/| | Add partial appearance update of inheritence graphs in scaladoc
| * | Add partial appearance update of inheritence graphs in scaladocFelix Mulder2016-01-2319-5681/+89
|/ / | | | | | | | | | | | | | | This commit updates color and shape of the inheritence graphs. Also adds a dropshadow on hover instead of opacity change. Graphviz broke upon trying to include svg buttons instead of png. Looking for a solution.
* | Merge pull request #4911 from lrytz/showRawFootnotesSeth Tisue2016-01-205-38/+36
|\ \ | | | | | | SD-70 Don't share footnotes across multiple calls to universe.showRaw
| * | SD-70 Don't share footnotes across multiple calls to universe.showRawLukas Rytz2016-01-195-38/+36
|/ / | | | | | | | | | | | | | | | | Before this commit, multiple invocations of universe.showRaw used a shared weak map that caches footnotes. If the two printed objects have equal components printed as footnotes, e.g., an equal TypeRef, the result of the second invocation depends on whether the object has been collected (and removed from the weak map) or not. See https://github.com/scala/scala-dev/issues/70#issuecomment-171701671
* | Merge pull request #4870 from ruippeixotog/issue/9507Jason Zaugg2016-01-191-3/+4
|\ \ | | | | | | SI-9507 Make ArrayStack an IndexedSeqOptimized
| * | SI-9507 Make ArrayStack an IndexedSeqOptimizedRui Gonçalves2015-11-271-3/+4
| | | | | | | | | | | | Just like `ArraySeq`, `ArrayBuffer` and all other collections that use an array as underlying data structure, `ArrayStack` should also be an instance of `IndexedSeq` and `IndexedSeqOptimized`. As expected by both of the traits, `ArrayStack` has constant-time random element access and length computation.
* | | Merge pull request #4903 from som-snytt/issue/9622Jason Zaugg2016-01-182-9/+14
|\ \ \ | | | | | | | | SI-9622 Native method may be private
| * | | SI-9622 Native method may be privateSom Snytt2016-01-132-9/+14
| | | | | | | | | | | | | | | | | | | | | | | | This was lost in a refactor. https://github.com/scala/scala/commit/290f687fb6ab91b6aef62d871036ddc3829f12b4
* | | | Merge pull request #4898 from soc/SI-8700Lukas Rytz2016-01-1414-13/+82
|\ \ \ \ | | | | | | | | | | SI-8700 Exhaustiveness warning for enums from Java source
| * | | | SI-8700 Exhaustiveness warning for enums from Java sourceSimon Ochsenreither2016-01-1414-13/+82
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Until now, the warning was only emitted for enums from Java class files. This commit fixes it by - aligning the flags set in JavaParsers with the flags set in ClassfileParser (which are required by the pattern matcher to even consider checking exhaustiveness) - adding the enum members as childs to the class holding the enum as done in ClassfileParser so that the pattern matcher sees the enum members when looking for the sealed children of a type
* | | | | Merge pull request #4900 from mpociecha/correct-decimal-marks-in-tests2Seth Tisue2016-01-131-16/+36
|\ \ \ \ \ | |_|/ / / |/| | | | Fix problems with a locale-dependent decimal mark in StringContextTest
| * | | | Fix problems with a locale-dependent decimal mark in StringContextTestMichał Pociecha2016-01-131-16/+36
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the current locale one can get 3,400000e+00 instead of 3.400000e+00 so the expected result should take this into account. It's a similar change to one I made some time ago in 2.11.x: https://github.com/scala/scala/pull/4204
* | | | Merge pull request #4897 from linasm/stringContextTest-windowsSeth Tisue2016-01-131-3/+2
|\ \ \ \ | |/ / / |/| | | Make StringContextTest pass on Windows
| * | | Make StringContextTest pass on WindowsLinas Medziunas2016-01-131-3/+2
|/ / / | | | | | | | | | | | | | | | One assertion in StringContextTest."f interpolator baseline"() was relying on platform specific newline encoding, making it fail when run on Windows.
* | | Merge pull request #4888 from felixmulder/topic/scaladoc-relative-fontsVlad Ureche2016-01-055-86/+270
|\ \ \ | | | | | | | | fix mobile styling for scaladoc
| * | | add mobile CSS rules for updated scaladoc lookFelix Mulder2016-01-045-86/+270
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit addresses the need for an improved mobile viewing experience. Specifically it introduces CSS media queries to adjust sizing and indentation of elements on mobile devices. This includes the following changes: - replace absolute font sizing with relative font sizing - fix font-resizing issues for mobile by fixing viewport - hide related links when viewport too small - fix missing trigram from heaven on Android - remove indentation on annotations e.g. `@throws` and place associated text on a separate line - fix bottom scoll-bar appearing on code-snippets - add spacing between entity icons in browser - add dynamic top offset for entity description - fix long entity names corrupting style - remove "EXPERIMENTAL" button from shortcomment divs on mobile
* | | Merge pull request #4889 from kzys/jira-8289Lukas Rytz2016-01-042-6/+10
|\ \ \ | | | | | | | | SI-8289 Scaladoc: Make the order of subclasses deterministic
| * | | SI-8289 Scaladoc: Make the order of subclasses deterministicKato Kazuyoshi2015-12-312-6/+10
|/ / /
* | | Merge pull request #4877 from felixmulder/topic/scaladoc-updated-lookVlad Ureche2015-12-2275-538/+1321
|\ \ \ | | | | | | | | Add new look for scaladoc
| * | | add new look to scaladocFelix Mulder2015-12-2275-538/+1321
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | This commit adds a new look to scaladoc without changing its behaviour. Features in this commit: - New scaladoc look - SVG icons instead of png for HiDPI displays - Better layout of existing features - Better title-bar colors for each entity type: trait, object, class
* | | Merge pull request #4872 from szeiger/wip/sbt-osgi-2.12Lukas Rytz2015-12-184-95/+384
|\ \ \ | | | | | | | | Create a full Scala distribution from sbt [2.12]
| * | | Create a full Scala distribution from sbtStefan Zeiger2015-11-273-103/+317
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This replicates the results of `ant -Dlocker.skip=1 distpack` with the following differences: - The POM files produced by the ant build under dists/maven still contain unresolved variables like `@VERSION@`. The ant build resolves them in the actual publishing process. The sbt build generates the correct version numbers directly. - Scaladoc sets in the ant build are created with the scaladoc tool from “quick”. The sbt build uses the STARR scaladoc. - The scaladoc sets for scala-actors, scala-compiler, scala-reflect and scalap from the ant build contain documentation for the classes `Null`, `Nothing`, `Any` and `AnyRef`. The sbt build omits those classes from all doc sets (except for scala-library, of course) under the assumption that this is a bug in the ant build. Other idiosyncracies of the ant build like declaring a packaging type of `jar` (instead of `bundle`) for OSGi bundles, or using slightly different module names and descriptions in scaladocs, OSGi bundles and POMs, are reproduced faithfully for now. Publishing from the sbt build is done in the usual sbt way. No actual publishing targets are currently defined in the build. In order to test stability of the publishing process, the `publishDists` task can be used to publish to dists/maven-sbt with the same directory layout and naming conventions employed by the ant build for publishing to dists/maven. Source and binary JARs are OSGi-enabled. For the source JARs this is done by hand-crafting the appropriate MANIFEST.MF entries (like the ant build does). Binary JARs are packaged with BND, using the same outdated BND version as the ant build for now to get identical results. We do not use sbt-osgi because it depends on a newer version of BND (probably OK to upgrade in the future) and does not allow a crucial bit of configuration that we need: Setting the classpath for BND. In sbt-osgi this is always `fullClasspath in Compile` whereas we really want `products in Compile in packageBin` to keep things simple. Conflicts: build.sbt
| * | | Some small fixes for generated artifacts in the sbt buildStefan Zeiger2015-11-271-3/+22
| | | |
| * | | Build man pages and scala-dist.jar from sbtStefan Zeiger2015-11-262-0/+56
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - ManMaker is compiled in a new subproject “manual”. A simple command line runner complements the ant task so that it can be run from sbt. - Another new subproject “scala-dist” is responsible for building the scala-dist.jar artifact. Conflicts: build.sbt
* | | Merge pull request #4875 from slothspot/ticket/9454Lukas Rytz2015-12-183-9/+15
|\ \ \ | | | | | | | | [SI-9454] Add isAlive method into sys.process.Process trait
| * | | [SI-9454] Add isAlive method into sys.process.Process traitDmitry Melnichenko2015-12-113-9/+15
| | | |
* | | | Merge pull request #4885 from lrytz/pr4816-rebaseLukas Rytz2015-12-18203-590/+389
|\ \ \ \ | | | | | | | | | | conRemove unused imports and other minor cleanups
| * | | | Remove unused imports and other minor cleanupsSimon Ochsenreither2015-12-18203-590/+389
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Language imports are preceding other imports - Deleted empty file: InlineErasure - Removed some unused private[parallel] methods in scala/collection/parallel/package.scala This removes hundreds of warnings when compiling with "-Xlint -Ywarn-dead-code -Ywarn-unused -Ywarn-unused-import".
* | | | Merge pull request #4729 from retronym/topic-trait-defaults-moduleLukas Rytz2015-12-1815-73/+143
|\ \ \ \ | | | | | | | | | | Desugar module var and accessor in refchecks/lazyvals
| * | | | Avoid tree sharing in lazy val translationJason Zaugg2015-11-232-7/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The `cond` tree is used in two places, so make it a by-name parameter to create distinct Trees. Also, remove a dangling comment.
| * | | | Desugar module var and accessor in refchecks/lazyvalsJason Zaugg2015-10-0815-69/+141
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rather than leaving it until mixin. The broader motivation is to simplify the mixin phase of the compiler before we get rid of implementatation classes in favour of using JDK8 default interface methods. The current code in mixin is used for both lazy val and modules, and puts the "slow path" code that uses the monitor into a dedicated method (`moduleName$lzyCompute`). I tracked this back to a3d4d17b77. I can't tell from that commit whether the performance sensititivity was related to modules or lazy vals, from the commit message I'd say the latter. As the initialization code for a module is just a constructor call, rather than an arbitraryly large chunk of code for a lazy initializer, this commit opts to inline the `lzycompute` method. During refchecks, mixin module accessors are added to classes, so that mixed in and defined modules are translated uniformly. Trait owned modules get an accessor method with an empty body (that shares the module symbol), but no module var. Defer synthesis of the double checked locking idiom to the lazyvals phase, which gets us a step closer to a unified translation of modules and lazy vals. I had to change the `atOwner` methods to to avoid using the non-existent module class of a module accessor method as the current owner. This fixes a latent bug. Without this change, retypechecking of the module accessor method during erasure crashes with an accessibility error selecting the module var. In the process, I've tweaked a tree generation utility method to wvoid synthesizing redundant blocks in module desugaring.