Skip to content

Merge 2.12.x to 2.13.x [ci: last-only]#93

Merged
retronym merged 262 commits into2.13.xfrom
merge/2.12.x-to-2.13.x-20200514
Nov 4, 2020
Merged

Merge 2.12.x to 2.13.x [ci: last-only]#93
retronym merged 262 commits into2.13.xfrom
merge/2.12.x-to-2.13.x-20200514

Conversation

@retronym
Copy link
Owner

@retronym retronym commented May 15, 2020

This merge stops before the Java annotation parsing PR.
I'll tackle that in a later step.

Some of the 2.12 collections PRs have had their test cases
merged forward.

Rough merge plan: https://gist.github.com/retronym/8dbb0b2b515d200d5109fc0f76d1941d

11055  git co origin/2.13.x -b merge/2.12.x-to-2.13.x-20200514
11056  git merge be3df1782b
11057  git merge -source ad227ca389
11058  git merge -sours ad227ca389
11060  git merge 794b4535b3
11070  git merge b1988157ec
11078  git merge -sours 085b6cf81a
11079  git merge 998541a92c
11083  git merge 83f768fd2f
11090  git merge 3be2f0d295
11100  git merge 2bbb927580
11109  git merge 4f9b70dfcb
11127  git merge 3eddb62cb8
11130  git merge --abort
11131  git merge -sours3eddb62cb8
11132  git merge -sours 3eddb62cb8
11133  git merge 8e3b1595e5
11134  git merge -sours c2985c7b4b
11135  git merge 7b7eadf77a
11136  git merge -sours f85b48be25
11138  git merge -sours eab605a460
11139  git merge aae454ca80
11151  git merge -sours ac02631587
11152  git merge 1cf5f4b2af
11153  git merge e4cac9ab07
11154  git merge acabb8ab4e
11155  git merge -sours ae34e96f2e
11156  git merge 73b9314b02
11157  git merge -sours c566c70001
11158  git merge b1f31de4f4
11162  git reset .
11164  git reset .
11181  history | grep merge | tail -f 10
11182  history | grep merge | tail -10
11183  history | grep merge | tail -20
11190  git merge 8c1a0420f9
11194  git merge e9d69cb5c2
11201  git merge 8270221567
11213  git merge c470b11ebb
11219  git merge 7b65f021f1
11225  git merge 65ba92a026
11273  history | grep merge
11327  git merge 8f657162dc
11434  git merge 4907bf248b
11435  git merge -sours 22d4caeeb3
11436  git reset --hard HEAD
11437  git merge  22d4caeeb3
11438  git reset --hard HEAD~1
11439  git merge  22d4caeeb3
11446  git merge 59c2e32825
11453  git merge 1c6dbc5301
11454  git merge -sours 94b39e80df
11455  git merge -sours 18f027f911
11456  git merge 6c6f9adf84
11459  git merge aedd45d9f5
11460  git merge e366262ef7
11461  git merge 7d4c3f2fa2
11462  git merge 04e59dfdbc
11463  git merge -sours 44a177810b
11464  git merge -sours f22dd0e9cb
11465  git merge a1336a8a12
11468  git merge 6ab0725bcd
11473  git merge 377f8cbff3
11479  git merge a395462872
11481  git merge a395462872
11483  git merge -sours cb3ae4584a
11485  git merge 03aecb8d07
11491  git merge 6cde741c63
11492  git merge -sours 621f104e6c
11506  git merge cef4e10468
11519  git merge f6833706e1
11532  git merge 226e67749f
11538  git merge b0afbea339
11543  git merge 90b48a15fe
11545  git merge --abort
11546  git merge -sours 90b48a15fe
11547  git merge d05af801a7
11555  git merge 53abec601f
11563  git merge -sours d5b7f5310a
11564  git merge 85ec3c5a9e
11565  git merge --abort
11579  history | grep merge

retronym and others added 30 commits March 24, 2020 15:26
backport 2.13 immutable RedBlackTree to 2.12
…mark_backport

backport a benchmark. Adjust API for 2.12
Avoid creation of Option for TreeMap.getOrElse
avoid creation of ListBuffers for Seq.empty and Seq()
use seq to work correctly with parallel collections
Dehoist many closures from Types
While profiling a build I noticed that calls to disectApplied
via `isSelfOrSuperConstrCall` was an allocation hotspot.

These use cases only need to strip Apply/TypeApply, so in this
commit I've duplicated a few lines of code to to this.
  - Avoid null checks by comparing Symbols with eq rather than ==
  - Eagerly compute `selectorClass` to avoid null check on each
    access, and pass it as a parameter rather than as a field.
…ructuctorCall

Avoid allocation of TreeInfo.Applied
No Unit.depends bookkeeping if -Ytrack-dependencies:false
Direct implementations of MapN.{filterImpl,exists,forall}

(cherry picked from commit 8821b30)

Optimized iterators for immutable.SetN

Avoids projecting to a temporary List.

(cherry picked from commit 3e223d1)

Optimized filter for immutable.SetN

Avoids creating iterators and using builders and reuses the
input collection when the predicate selects all elements.

(cherry picked from commit 20b4596)
Improve performance of atPos under -Yrangepos
Put @transient on an (inner) object and it works kinda like @transient
lazy val, as you may have expected.
Last time I tried this I got called out for relaxing too much.
As justification, Java does not respect self types (so there would be a
separate-compilation inconsistency to try to enforce them) nor does it
understand non-stable prefixes.

Fixes scala/bug#11917, or at least kinda patches over it.
Makes scala faster to build and to download; what's not to like?
… collection.immutable.Seq#canBuildFrom

Update List#flatMap to
- share the last list non-empty segment if we can easily
- reduce allocations in other cases
- improve CPU usage

add test for isLikeListReusableCBF to ensure that if a future Scala version change to result of the Seq builder we detect the change and can adjust accordingly
mkeskells and others added 25 commits May 18, 2020 09:40
i.e. TreeSet and TreeMap

(cherry picked from commit 65eb39e)
Erroneous commit was:

```
commit 2c620a7
Merge: abcde58 8270221
Author: Jason Zaugg <jzaugg@gmail.com>
Date:   Thu May 14 11:17:30 2020 +1000

    Merge commit '8270221567' into merge/2.12.x-to-2.13.x-20200514
```

According to scala#8783, which removed `|| k != tree.key`,
there was no behaviour change in 2.13.x, this was just a cleanup.
@lrytz lrytz force-pushed the merge/2.12.x-to-2.13.x-20200514 branch 2 times, most recently from 99039c1 to 69ff105 Compare May 29, 2020 15:12
@lrytz lrytz force-pushed the merge/2.12.x-to-2.13.x-20200514 branch from 69ff105 to 6d1cdae Compare May 29, 2020 15:52
@retronym retronym merged commit 17570df into 2.13.x Nov 4, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants