summaryrefslogtreecommitdiff
path: root/test
Commit message (Collapse)AuthorAgeFilesLines
* Allow box(unbox) elimination for the Null type,...Iulian Dragos2011-01-185-8/+65710
| | | | | | Allow box(unbox) elimination for the Null type, plus testing that specialization tests do not box too much. review by extempore.
* second version of close #3649. no reviewLukas Rytz2011-01-182-1/+8
|
* test case close #3649. no reviewLukas Rytz2011-01-182-0/+5
|
* Disabled failing specialization test.Aleksandar Pokopec2011-01-172-3/+0
| | | | | No review.
* Added jdk1.5 version of the instrumented librar...Aleksandar Pokopec2011-01-171-1/+1
| | | | | | | Added jdk1.5 version of the instrumented library classes jar. No review.
* Added specialized test to ant build, and ported...Aleksandar Pokopec2011-01-171-1/+1
| | | | | | | | Added specialized test to ant build, and ported old specialized 'run' tests to check the number of boxings. No review.
* Adapted specialization tests to track number of...Aleksandar Pokopec2011-01-1724-8/+47
| | | | | | | Adapted specialization tests to track number of boxings. Review by dragos
* Added 'specialized' tests.Aleksandar Pokopec2011-01-174-0/+917
| | | | | | | | | | Added a new test group - specialized. Modified partest to add a jar with instrumented classes to classpath when compiling and running tests. Added a primary version of the instrumented BoxesRuntime, and a script to produce a jar for it. Added the 'speclib' folder to partest files, which contains the jar with the instrumented classes. Review by dragos.
* This outlaws explicit isInstanceOf tests on val...Paul Phillips2011-01-152-0/+8
| | | | | | | This outlaws explicit isInstanceOf tests on value types, which are nonsense in any case, as long threatened in ticket #1872. Closes #1872, review by rytz.
* Optimization to string concatenation.Paul Phillips2011-01-151-0/+15
| | | | | | | | | | | | | | | with a primitive CONCAT and several opcodes, I'm assuming nobody will oppose this on principle. Given an expression of the exact form "" + x (that is, the NPE-immune and much less ugly way to call .toString) we used to get 4x the bytecode and create an unneeded StringBuilder. Now this: 0: aload_1 1: invokestatic #20; //Method java/lang/String.valueOf:(Ljava/lang/Object;)Ljava/lang/String; 4: areturn Closes #4160, review by dragos.
* Deleted duplicate test which must have been a r...Paul Phillips2011-01-132-59/+0
| | | | | | Deleted duplicate test which must have been a real monkey wrench. No review.
* Some modifications to @elidable: for reasons lo...Paul Phillips2011-01-123-1/+30
| | | | | | | | Some modifications to @elidable: for reasons lost to me now it had a default value such that annotated methods might be elided even if the option wasn't given. It now does nothing in that situation. Closes #4051, #4151, no review.
* Disabled the process test. No review.Paul Phillips2011-01-121-0/+0
|
* Merge branch 'work'Aleksandar Pokopec2011-01-124-4/+12
|
* Some fixes for partest issues.Paul Phillips2011-01-123-6/+5
| | | | | | | | prejudice and puts the new process code to work instead. There are still a couple bugs on my short term partest list. If this commit causes some weird issue which only arises on virtualized windows you can expect to hear from me next by postcard from st. lucia. No review.
* Imported sbt.Process into trunk, in the guise o...Paul Phillips2011-01-1210-21/+181
| | | | | | | | | | | | | | | | | | | Imported sbt.Process into trunk, in the guise of package scala.sys.process. It is largely indistinguishable from the version in sbt, at least from the outside. Also, I renamed package system to sys. I wanted to do that from the beginning and the desire has only grown since then. Sometimes a short identifier is just critical to usability: with a function like error("") called from hundreds of places, the difference between system.error and sys.error is too big. sys.error and sys.exit have good vibes (at least as good as the vibes can be for functions which error and exit.) Note: this is just the first cut. I need to check this in to finish fixing partest. I will be going over it with a comb and writing documentation which will leave you enchanted, as well as removing other bits which are now redundant or inferior. No review.
* In r22807 an optimization was added to remove B...Paul Phillips2011-01-112-0/+12
| | | | | | | | In r22807 an optimization was added to remove Box(Unbox(x)) combinations. It turns out that without this in place, an expression like "x".asInstanceOf[Int] will no longer throw an exception. Refined the optimization. Closes #4148, review by dragos.
* A test case for recently fixed #4114. Plus!Paul Phillips2011-01-103-0/+27
| | | | | | | | | I had closed #2441 as a duplicate of that, but unfortunately #4114 did not bring #2441 along with it. Then I realized I'm a programmer, not a helpless trac watcher. As is often the case with thes things, fixing that revealed a bug in the library. Closes #2441 for real, review by odersky.
* Test case closes #2873, no review.Paul Phillips2011-01-101-0/+5
|
* Added test file.Martin Odersky2011-01-101-0/+8
|
* Fixes #4112. Closes #4112.Aleksandar Pokopec2011-01-101-0/+12
| | | | | No review.
* Fixes #4054.Aleksandar Pokopec2011-01-101-0/+25
| | | | | No review.
* Enabled parallel group by.Aleksandar Pokopec2011-01-102-1/+2
| | | | | No review.
* Couldn't stop working on tailcalls.Paul Phillips2011-01-101-1/+1
|
* A pretty severe bug in the recognition of tail ...Paul Phillips2011-01-104-14/+38
| | | | | | | | | | | | | | | | | | | | A pretty severe bug in the recognition of tail call elimination. It turns out that Tailcalls will perform "partial elimination" in situations such as: @annotation.tailrec final def f(x: Int): Int = f(f(x)) The outer call to f1 becomes a jump, but the inner call remains as it was. I implemented @tailrec under the impression that if the optimization had taken place, it had gone all the way. So this is now fixed with a direct examination of the rewritten tree. While I was in there I threw in some improved error reporting: the error positioning is now on the call which is not in tail position rather than the method declaration. Closes #4135, no review.
* Oops, the implicit not found message was wrong:Paul Phillips2011-01-101-1/+1
| | | | | | | | | | | scala> implicitly[CanBuildFrom[String, Int, List[List[Int]]]] <console>:10: error: Cannot construct a collection of type List[List[Int]] with elements of type Int based on a collection of type List[List[Int]]. implicitly[CanBuildFrom[String, Int, List[List[Int]]]] ^ No review.
* Closes #3984 by the most arduous and indirect r...Paul Phillips2011-01-091-2/+33
| | | | | | | | | | | | Closes #3984 by the most arduous and indirect route imaginable: abstracts the common code out of the TrieIterators in HashMap and HashSet. When I raised this flag to find out if anyone would open fire, all was quiet on the western front. Although I wouldn't want to write code like this as an everyday thing, I think it serves as a nice showcase for some of the abstraction challenges we're up against: performance looks the same and I will never again have to fix the same bug in two places. Review by rompf.
* Reverting fix for #4047 until I figure out why ...Hubert Plociniczak2011-01-082-39/+0
| | | | | | Reverting fix for #4047 until I figure out why it is failing on chara and not on my machine. No review.
* Override checks and self-types still needed som...Paul Phillips2011-01-081-0/+13
| | | | | | | | | Override checks and self-types still needed some work (ticket #2808.) I believe this is the right change. The modifications in parallel and actors were a result of the files failing to compile after the change to allOverriddenSymbols. (I am taking the position that that aspect is a feature.) Review by malayeri, odersky.
* Great moments in code reuse:Paul Phillips2011-01-071-3/+2
| | | | | | | | | | | | | | | | | | | | | | def isRootOrEmptyPackageClass(s: Symbol) = s.isRoot || s.isEmptyPackageClass def isRootOrEmpty = (this == EmptyPackageClass) || (this == RootClass) def isEffectiveRoot = isRoot || isEmptyPackageClass // last one actually not quite identical def isUnqualified(n: Name) = n match { case nme.ROOT | nme.EMPTY_PACKAGE_NAME => true ; case _ => false } I was responsible for at least half of these. Now it's only isEffectiveRoot. Also, I have always found it warty that we have to specify Nothing and Any as upper bounds. I gave the TypeBounds companion object a few obvious methods: def empty: TypeBounds = apply(NothingClass.tpe, AnyClass.tpe) def upper(hi: Type): TypeBounds = apply(NothingClass.tpe, hi) def lower(lo: Type): TypeBounds = apply(lo, AnyClass.tpe) It's a lovable patch. No review.
* Added test for #4072. no reviewHubert Plociniczak2011-01-072-0/+14
|
* Closes #4047. Review by oderskyHubert Plociniczak2011-01-072-0/+39
|
* Closes #4072.Hubert Plociniczak2011-01-072-7/+13
|
* Test case change.Aleksandar Pokopec2011-01-072-2/+2
| | | | | No review
* Implemented a (slower) workaround for parallel ...Aleksandar Pokopec2011-01-0712-31/+250
| | | | | | | | Implemented a (slower) workaround for parallel vectors. Implemented group by. No review.
* Changed foreach to pforeach.Aleksandar Pokopec2011-01-076-13/+13
| | | | | No review.
* Apparently my flailing attempts to make things ...Paul Phillips2011-01-072-3/+3
| | | | | | | | | | | | | | | | | Apparently my flailing attempts to make things faster earned me the pity of Tiark, who sent this monster patch which he probably dashed off before the appetizers had been cleared away. All the steak is his but I threw in a little sizzle so I could feel like a part of things. It knocks about a bazillion miniseconds off the time spent in implicit search. This is the same patch martin already endorsed, give or take several hundred lines of diff, so I will say no review, even though I know it will be hard to look away. I trimmed most of the "speculative code" (that is, the commented out bits) because it's getting awfully busy along those sidelines. I will preserve the ideas in some more structured form.
* Fixed a bad interaction between overloading, de...Iulian Dragos2011-01-052-0/+20
| | | | | | Fixed a bad interaction between overloading, default parameters and specialization. Closes #3896, no review.
* closes #4044.Adriaan Moors2011-01-052-0/+32
|
* Eliminated 16 avoidable closure objects in Stream.Paul Phillips2011-01-041-7/+7
|
* Disentangled scaladoc and the presentation comp...Iulian Dragos2011-01-041-1/+1
| | | | | | | | | | | Disentangled scaladoc and the presentation compiler. Now there are different flags, forInteractive and forScaladoc, instead of the overloaded onlyPresentation. While it is unfortunate to have these flags, I know of no easy way to customize the typer (the behavior they control is pretty deep into the analyzer). This shaves off around 100MB of unnecessary docComments from the presentation compiler. review by odersky, dubochet.
* Closes #3869. no review.Iulian Dragos2011-01-041-0/+10
|
* Closes #3687, #3719, #3950, #3616.Hubert Plociniczak2011-01-046-0/+67
|
* Fixed infinite loop on call to super from a spe...Iulian Dragos2011-01-042-0/+20
| | | | | | | Fixed infinite loop on call to super from a specialized method. This happened only on illegal specialized inheritance. Closes #3651, no review.
* Protected protected constructors.Paul Phillips2011-01-042-0/+46
| | | | | | since r19547, which was for #1836 but loosened the noose too much. Closes #4128, review by odersky.
* Misc uninteresting tidbits to take some weight ...Paul Phillips2011-01-024-29/+29
| | | | | | Misc uninteresting tidbits to take some weight off overly large patches in progress. No review.
* Generalized a pile of duplicated type caching c...Paul Phillips2011-01-011-11/+1
| | | | | | | | | | | Generalized a pile of duplicated type caching code, but it's still largely undeployed because I haven't figured out how to make it as fast as the copy-pasted version, which bugs me like you wouldn't believe. Cannot deal with making "Sophie's Choice" between performance and lack of duplication. I left one deployment in because it fixed a bug, or at least so I see it: can't see why one would want the two absent error messages in t2641.check. Review by odersky.
* Modified the self-type protected accessor test ...Paul Phillips2010-12-312-0/+21
| | | | | | Modified the self-type protected accessor test to avoid unnecessary runtime failures. Closes #4119, review by dragos.
* Even after the mostly blissful marriage of Trav...Paul Phillips2010-12-311-0/+11
| | | | | | | | | | | | | | | | Even after the mostly blissful marriage of Traversable and Iterator there was some fussin' and fightin' over who should have to care for Option. Now there is peace among the collections once again. // before scala> Iterator(Some(1), None).flatten <console>:6: error: value flatten is not a member of Iterator[Option[Int]] // after scala> Iterator(Some(1), None).flatten res0: Iterator[Int] = non-empty iterator Review by moors.
* disabled test cf-attributes.scalamichelou2010-12-312-0/+0
|