| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
SI-4829 the :load command now fails if the command ends with a space
|
| | |
|
| | |
|
|/
|
|
|
|
|
| |
command ends with a space
The :load command now tries to be smart by detecting the presence of trailing spaces that might be insignificant.
On certain file systems, files with trailing whitespaces are permitted which is why we don't naievely trim the argument.
|
|\
| |
| | |
SI-7616 Avoid ClassCastException in scala.concurrent.impl.ExecutionConte...
|
|/
|
|
| |
Adds test to scala-concurrent-tck
|
|\
| |
| | |
[backport] SI-7497 Use `osName startsWith "Mac OS X"` ...
|
|/
|
|
|
|
|
| |
... instead of `osName contains "OS X"`
See http://mail.openjdk.java.net/pipermail/macosx-port-dev/2012-November/005148.html
for the reason why we don't follow developer.apple.com/library/mac/#technotes/tn2002/tn2110.
|
|\
| |
| | |
[backport] SI-7497 Fix scala.util.Properties.isMac
|
|/
|
|
|
|
| |
It returned wrong values because it used the java.vendor
property instead of os.name, as specified in
developer.apple.com/library/mac/#technotes/tn2002/tn2110.
|
|\
| |
| | |
[backport] SI-7391 Always use ForkJoin in Scala actors
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
... on Java 6 and above, but keep honoring the
actors.enableForkJoin system property.
Like SI-7236 and SI-7237, the logic in
scala.actors.scheduler.ThreadPoolConfig.useForkJoin
(which resulted in a different thread pool implementation
being chosen) was causing random hangs in the test
concurrent-stream.scala when running on Avian.
|
|\ \
| |/
|/| |
[backport] SI-7237 Always choose ForkJoinTaskSupport
|
|/
|
|
|
|
|
|
|
|
|
|
| |
... on Java 6 and above.
ForkJoinTaskSupport works on Hotspot, Avian and J9,
while ThreadPoolTaskSupport causes the test
test/files/scalacheck/parallel-collections
to reliably hang on all three.
We keep ThreadPoolTaskSupport around to keep the hope
alive that we still have a glimpse of 1.5 support.
|
|\
| |
| | |
[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.
|
|\ \
| |/
|/| |
Backport of SI-6932 to 2.9.x
|
| | |
|
|/
|
|
| |
internal execution context of Future
|
|\
| |
| | |
SI-6766 Create a continuations project in eclipse ( backports https://github.com/scala/scala/pull/1721)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
update mailmap
|
|/ |
|
|\
| |
| | |
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
|
|\
| |
| | |
SI-6536 Generates super accessors X.super[Y].blah when Y is a class
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
`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-6692 pickle one more flag bit: EXISTENTIAL
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
before, PickledFlags & EXISTENTIAL == 0, so that an existential symbol would
lose the EXISTENTIAL bit when pickled, causing spurious incremental recompiles,
as pickled information and type-checking-from-source-based information differed
pickling this additional bit should be a compatible change, as older versions (pre-2.9.3)
will simply mask out the extra flag bits pickled as of now (2.9.3) so that their behavior
is not affected -- newer versions will see more flags, which might cause regressions,
but it's also the only way to fix SI-6692
this obviates the need to set the existential flag when unpickling an existential type's params
this is the smallest backport of a9b85dbaad and 3e2c31fbeb that I could think of
as 2.9 is in maintenance mode, I don't want to invest in testing infrastructure to test the pickler,
however, the fix is tested by the incremental compiler test 'inc-pickled-existential' in sbt
|
|\
| |
| | |
eclipse project files are now in src/eclipse
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
To use these project files you need to define the Eclipse 'path variable'
SCALA_BASEDIR, in General/Workspace/Linked Resources.
see src/eclipse/README.md for more info
backport to 2.9.x of fd6573a2ce ceb095362b 98a5714fed 49169e2123 64f05974c7 27aaaa4fce
|
|\ \
| |/
|/| |
show developer guidelines on opening pull request
|
|/
|
|
|
| |
Includes "Improvements and typo fixes to CONTRIBUTING.md" by @heathercmiller
as well as feedback from @retronym.
|
|\
| |
| | |
Backport of #994 (SI-5314 - CPS transform of return statement fails)
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Add `adaptTypeOfReturn` hook to `AnnotationCheckers`.
Move adaptation of types of return expressions from `addAnnotations`
to `typedReturn` via `adaptTypeOfReturn` hook.
This resolves an inconsistency where previously types could have
a plus marker without additional CPS annotations. This also adds
additional test cases.
|
| |
| |
| |
| | |
This reverts commit 8d020fab9758ced93eb18fa51c906b95ec104aed.
|
| |
| |
| |
| |
| | |
Disabled warnings that no longer apply because of tail returns.
Add several test cases.
|
| |
| |
| |
| |
| |
| |
| | |
Other fixes:
- remove CPSUtils.allCPSMethods
- add clarifying comment about adding a plus marker to a return expression
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Enable return expressions in CPS code if they are in tail position. Note that tail returns are
only removed in methods that do not call `shift` or `reset` (otherwise, an error is reported).
Addresses the issues pointed out in a previous pull request:
https://github.com/scala/scala/pull/720
- Addresses all issues mentioned here:
https://github.com/scala/scala/pull/720#issuecomment-6429705
- Move transformation methods to SelectiveANFTransform.scala:
https://github.com/scala/scala/pull/720#commitcomment-1477497
- Do not keep a list of tail returns.
Tests:
- continuations-neg/t5314-missing-result-type.scala
- continuations-neg/t5314-type-error.scala
- continuations-neg/t5314-npe.scala
- continuations-neg/t5314-return-reset.scala
- continuations-run/t5314.scala
- continuations-run/t5314-2.scala
- continuations-run/t5314-3.scala
|
|\ \
| |/
|/| |
SI-6384 - avoid crash due to optimization in 2.10 CPS plugin
|
| | |
|
| | |
|