| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
SI-6853 changed private method remove to be tail recursive.
|
| |
| |
| |
| | |
Operations += and -= on mutable.ListMap rely on the private method remove to perform. This methods was implemented using recursion, but it was not tail recursive. When the ListMap got too big the += caused a StackOverflowError.
|
| |
| |
| |
| |
| | |
[backport]
Nesting recursive calls in Stream is always a dicey business.
|
|\ \
| | |
| | | |
SI-6932 StackOverflowError in chained Future.flatMap calls
|
| | | |
|
| |/
| |
| |
| | |
internal execution context of Future
|
|\ \
| | |
| | | |
[backport] Fix unsafe array opt. / opt. primitive Array(...)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
SI-6611, SI-6247 (partial fix)
The original commits on master were a bit circuitous, this
is squashed to a neat little package.
I had to add type arguments to the Array.apply calls in the
test case, they are inferred on master.
commit 41ff05dfdbcf032157b3509ace633f2e7a12295c
Author: Jason Zaugg <jzaugg@gmail.com>
Date: Sun Nov 4 14:44:59 2012 +0100
Refactor guards checking for a particular overload of Array.apply.
(cherry picked from commit 092345a24c22a821204fb358d33272ae8f7353be)
commit 1e5c942deccaf64f8d57bd8891b912381d7f220a
Author: Jason Zaugg <jzaugg@gmail.com>
Date: Sun Nov 4 14:17:25 2012 +0100
Expand optimization of Array(e1, ..., en) to primitive arrays.
(cherry picked from commit 8265175ecc42293997d59049f430396c77a2b891)
commit ab1bf77e39f2dfeacf3fc107ccb2907a1867f04c
Author: Jason Zaugg <jzaugg@gmail.com>
Date: Sat Nov 3 13:34:20 2012 +0100
SI-6611 Tighten up an unsafe array optimization
The net was cast too wide and was unsafely optimizing away array
copies.
(cherry picked from commit dad886659faca4fba2d4937c9bc6780591b02c27)
And also:
Optimize primitive Array(e1, ..., en)
Expands an existing optimization for reference arrays to
apply to primitives, as well.
Fixes one aspect of SI-6247.
(cherry picked from commit cac5a08611f9511ba4d94b99db630404efae190a)
Conflicts:
src/compiler/scala/tools/nsc/transform/CleanUp.scala
More principled tree copying.
Canonical > home-spun.
Conflicts:
src/compiler/scala/tools/nsc/transform/CleanUp.scala
|
|/
|
|
|
|
|
| |
- SI-6923 uncovered a few valid warnings, these have been
addressed.
- A pair of "catches all throwable" warnings appeared; one
of the is spurious and the subject of SI-6994.
|
|\
| |
| | |
SI-6930 adds documentation to reduceLeft in TraversableOnce
|
| | |
|
|\ \
| | |
| | | |
SI-6946, SI-6924 Greatly improves IsTraversableLike docs
|
| |/ |
|
|/
|
|
| |
Backport of 63ba3d64a7002ef67f7f13083a18fe1042a3adba
|
|\
| |
| | |
SI-6915 Updates copyright properties to 2002-2013
|
| |
| |
| |
| |
| |
| |
| |
| | |
The .scala header files had the right copyright dates
but properties used to generate the information in
e.g. "scala -version" hadn't been updated.
review @adriaanm
|
|\ \
| | |
| | | |
Backport 1821
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the manifests for Any, Object/AnyRef, AnyVal, Null and Nothing
now have their `newArray` methods overridden to avoid reflective overhead
of array instantiation.
(backport of 45ef0514e, part 2)
|
| | |
| | |
| | |
| | | |
(backport of 45ef0514e, part 1)
|
|\ \ \
| |_|/
|/| | |
Fix Iterator#copyToArray (fixes SI-6827).
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
As pointed out in #scala, when using a non-zero start it's possible
to get an ArrayIndexOutOfBoundsException due to an incorrect bounds
check. This patch fixes this, as well as another potential bounds
error, and adds test cases.
Incorporates some other suggestions by Som-Snytt to ensure that
callers will get useful error messages in cases where the start
parameter is wrong (negative or out-of-array-bounds).
Review by @som-snytt.
|
|\ \
| |/
|/| |
SI-5017 Poor performance of :+ operator on Arrays
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Control performance of :+ and +: operator on my machine were 700-800 ms
After adding size hint on the implementation in SeqLike, it went down to 500-600 ms
But with specialixed implementation in ArrayOps, brings it down to 300-400 ms
Unfortunatly, this method will only be called when the Array object is being referenced directly as it's type, but that should be the case enough times to justify the extra method.
I ended up removing the sizeHint in SeqLike because it made the execution of the "benchmark" slower when the Array was being manipulated as a Seq.
Side note: Interestingly enough, the benchmark performed better on my virtualized Fedora 17 with JDK 7 than natively on Mac OS X with JDK 6
|
|\ \
| | |
| | | |
Stream.zip naturalsEx example does not compile => remove extra zip call
|
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
Had to fix up an iffy test: not only was it testing undefined
behavior, it demanded just the right numbers be printed in a
context where all negative or positive numbers are equivalent.
It's the ol' "get them coming and going" trick.
|
|/
|
|
|
|
|
| |
The lengthCompare method in LinearSeqOptimized was looking one
step further than it needed to in order to give the correct
result, which was creating some unwanted side effects related to
Streams.
|
|\
| |
| | |
SI-6690 Release reference to last dequeued element.
|
| |
| |
| |
| |
| |
| | |
This is in line with the existing implementation
of `MutableList#clear`, and in line with an newly
created empty collection.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Avoids leaks in MutableList and its more better known child,
mutable.Queue, when the last element is dequeued or when we
take the tail of a one element collection.
Refactors copy/pasted code between the two implementations of
tail.
|
|\ \
| | |
| | | |
SI-6535 Step back from the precipice of a cycle
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adding any non-local parent to WrapAsScala will trigger a valid
cyclic reference error. By moving the import of `Wrapper._`
inside `WrapAsScala` and `WrapAsJava`, it is not in scope when
typing the parents of those, and we avoid the cycle.
Adds a test case to show the essense of the promiscious mutual
imports that triggers this.
|
|\ \
| | |
| | | |
SI-5678 Bad return type for [Use Case] docs in Range
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Many [Use Case] example in Range such as the one associated to the union method document that the method returns a Range which is just plain false.
Example:
val ran1 = Range(1,3)
val ran2 = Range(54, 57)
val result = ran1.union(ran2) // This is a perfectly valid use case yet obviously cannot be represented as a Range
|
|\ \
| | |
| | | |
SI-4664 Make scala.util.Random Serializable
|
| |/ |
|
|\ \
| | |
| | | |
SI-6631 Handle invalid escapes in string interpolators
|
| | |
| | |
| | |
| | |
| | | |
The comment about unicode escaping fell into
the very same trap that it was warning about.
|
| |/
| |
| |
| | |
Patch contributed by Rex Kerr.
|
|/ |
|
|\
| |
| | |
Merge 2.10.0-wip into 2.10.x.
|
| |\
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
# By Jason Zaugg (8) and others
# Via Adriaan Moors (6) and Josh Suereth (5)
* origin/2.10.0-wip:
Removing controversial `either` method from Futures API.
SI-6624 set info of case pattern binder to help find case field accessors
Fixes SI-6628, Revert "Fix for view isEmpty."
SI-6661 - Remove obsolete implicit parameter of scala.concurrent.promise method
Fixes SI-6559 - StringContext not using passed in escape function.
SI-6648 copyAttrs must preserve TypeTree#wasEmpty
Fix raw string interpolator: string parts which were after the first argument were still escaped
Update comment.
SI-6646 `ident` or Ident is always new binding.
SI-6440 Address regressions around MissingRequirementError
Refine the message and triggering of MissingRequirementError.
SI-6640 Better reporting of deficient classpaths.
SI-6644 Account for varargs in extmethod forwarder
SI-6646 Fix regression in for desugaring.
Update tools/epfl-publish
|
| | |
| | |
| | |
| | |
| | | |
* Removes `either` from Future
* No tests need to change, since this was an untested method.
|
| | |\
| | | |
| | | | |
Fixes SI-6628, Revert "Fix for view isEmpty."
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This reverts commit caf7eb6b56817fd1e1fbc1cf017f30e6f94c6bea.
I don't have a better idea right now than wholesale reversion.
|
| | |\ \
| | | | |
| | | | | |
SI-6559 Fix raw string interpolator: string parts which were after the first argument were still escaped
|
| | | |/
| | | |
| | | |
| | | | |
argument were still escaped
|
| | |/
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Clarification of @heathermiller:
This is an inconsistency introduced after refactoring implicit ExecutionContexts.
In commit 1dfce90246f7d334 the implicit ExecutionContexts were removed from everything else in Promise.scala,
but it appears that method promise was missed in the scala.concurrent package object, which would've made
sense to remove back then.
|
|\ \ \
| | | |
| | | | |
findEntry implementation code more concise and DRYer.
|
| |/ / |
|