summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | | | [vpm] optimized codegen avoids option-boxingAdriaan Moors2011-12-244-65/+160
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | introducing two mutable variables per pattern match: matchRes and keepGoing keepGoing denotes whether the result was Some or None, and matchRes holds the Some's contents or the right zero for the match's type Race(() => fastMatch(list), () => virtMatch_no_option(list))(100000).converge() is a virtual tie on my machine after this see https://gist.github.com/1400910 conveniently also works around SI-5245 don't assign to Unit-typed var's, in fact, make matchRes a val when its only prospect in life is to be unit-valued propagate eventual type for matchRes thru codegen so that we can have more robust checks for unit&nothing, when assignment makes no sense also, added a hack to caseResult to avoid boxed units in if(keepGoing) { matchRes = ... } else zero after erasure, we get if(keepGoing) { matchRes = ...; BoxedUNIT } else zero genicode broke because i was sharing trees: [scalacfork] error: java.lang.AssertionError: assertion failed: type error: can't convert from UNIT to REF(class Object) in unit ScalaSig.scala at source-/Users/adriaan/git/scala-dev/src/scalap/scala/tools/scalap/scalax/rules/scalasig/ScalaSig.scala,line-26,offset=868 fixed by duplicating -- so be it (for now -- make this more fine-grained, more efficient) dodging inliner issues with one/zero (it won't inline, so also directly inline those methods)
| | * | | | [vpm] unapplyProd: faster matching for case classesAdriaan Moors2011-12-244-84/+206
| | | |_|/ | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | behold the mythical unapplyProd: it does not exist, yet it promises to speed up pattern matching on case classes instead of calling the synthetic unapply/unapplySeq, we don't call the mythical synthetic unapplyProd, since -- if it existed -- it would be the identity anyway for case classes eventually, we will allow user-defined unapplyProd's, which should give you almost the same speed as case class matching for user-defined extractors (i.e., you don't have to wrap in an option, just return something on which we can select _i for i = 1 to N, unless it is null, which indicates match failure) still need to figure out a way to derive the types for the subpatterns, without requiring you to wrap your result in a ProductN unapplyProd support for vararg case classes using caseFieldAccessors instead of synthetic _i now the compiler bootstraps again, and after this optimization, quick.lib overhead is 70%, quick.comp is 50% (compiling with a locker built using -Yvirtpatmat, and itself generating code for -Yvirtpatmat) before the optimization, I think the overhead for quick.comp was close to 100% in this scenario more robust tupleSel for case classes TODO: - pos/t602 -- clean up after type inference as in fromCaseClassUnapply - run/pf-catch -- implement new-style orElse for partial function in uncurry
| | * | | global.abort calls global.error.Paul Phillips2011-12-222-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise it is possible (as I discovered the hard way) for tests running into compiler bugs to be treated as successful compiles.
| | * | | Hardening of resetAllAttrs.Martin Odersky2011-12-222-41/+44
| | | | | | | | | | | | | | | | | | | | Now works in the case where TypeTrees refer to locally erased symbols.
| | * | | Hardening of isJavaClass.Martin Odersky2011-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | To survive IncompatibleClassChange errors.
| | * | | Omit non-essential TypeApply trees.Eugene Burmako2011-12-225-40/+6
| | | |/ | | |/| | | | | | | | | Otherwise they cause type errors.
| | * | Type checking now puts tree to be typed in local contextMartin Odersky2011-12-221-11/+31
| | |/
| | *---. Merge remote-tracking branches 'jsuereth/xsbt', 'kepler/ticket/5226' and ↵Paul Phillips2011-12-2115-165/+1233
| | |\ \ \ | | | | | | | | | | | | | | | | | | 'kepler/topic/ystopafter' into develop
| | | | | * Made -Ystop-after:parser work correctlyEugene Burmako2011-12-211-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this fix running a compiler with the aforementioned option leads to a crash (because namerPhase gets resolved to a NoPhase).
| | | | * | Attempt to fix classloader issuesEugene Burmako2011-12-211-2/+4
| | | | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | @odersky writes: When doing reflect.mirror.ClassWithName("foo") in the REPL, we get a NullPointerException. It goes away if we have this fallback in defaultClassLoader. Not sure it's the right fix, though. Fixes SI-5226, review by @odersky
| | | * | Merge branch 'master' into xsbtJosh Suereth2011-12-2014-55/+262
| | | |\|
| | | * | Removing local linux sbt scripts.Josh Suereth2011-12-202-84/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Local linux SBT scripts have been removed in favor of using sbt-extras or an alternative windows solution which is TBD.
| | | * | Merge branch 'master' into xsbtJosh Suereth2011-12-1812-267/+511
| | | |\ \
| | | * | | Brought version detection up-to-date.Josh Suereth2011-12-162-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | * SBT's version creation is now on par with tools/get-latest-version
| | | * | | Native SHA1 calculations.Josh Suereth2011-12-142-8/+56
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * SHA1 sum calculations are now done in pure Scala. * Cache jar SHAs are checked for validity.
| | | * | | Merge branch 'xsbt' of github.com:scala/scala into xsbtJosh Suereth2011-12-1416-42/+246
| | | |\ \ \
| | | | * | | Fixes windows issues.Josh Suereth2011-12-141-1/+1
| | | | | | |
| | | | * | | Merge branch 'master' into xsbtJosh Suereth2011-12-1415-52/+253
| | | | |\ \ \
| | | | * | | | Improved error output.Josh Suereth2011-12-141-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * One SHA resolve, now outputs lots of stack traces if parallel execution failure.
| | | * | | | | Merge branch 'xsbt' of github.com:scala/scala into xsbtJosh Suereth2011-12-110-0/+0
| | | |\| | | |
| | | | * | | | Merge remote-tracking branch 'origin/master' into xsbtPaul Phillips2011-12-092-4/+41
| | | | |\ \ \ \
| | | * | \ \ \ \ Merge branch 'master' into xsbtJosh Suereth2011-12-114-21/+62
| | | |\ \ \ \ \ \ | | | | |/ / / / / | | | |/| | | | |
| | | * | | | | | Fixed Emit*Page to write to file.Josh Suereth2011-12-092-153/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EmitHtmlPage and EmitManPage utilities now write to a file if there is more than one argument on the command line. This allows the SBT build to fork them and still generate a file without having to capture the output stream.
| | | * | | | | | Parallelize sha resolution.Josh Suereth2011-12-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Retreiving STARR from SHA repo is now parallel by default. YAY for parallel collections.
| | | * | | | | | Merge branch 'master' into xsbtJosh Suereth2011-12-095-0/+65
| | | |\ \ \ \ \ \
| | | * | | | | | | MSIL now part of layered compilesJosh Suereth2011-12-092-19/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * The MSIL source code is now built at every layer as part of the compiler project. * The MSIL project is completely removed from other references.
| | | * | | | | | | Merge branch 'master' into xsbtJosh Suereth2011-12-0915-29/+191
| | | |\ \ \ \ \ \ \
| | | * | | | | | | | Fixed SHA resolver to only pull necessary JAR files and ignore other ↵Josh Suereth2011-12-081-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | directories.
| | | * | | | | | | | Added local cache for project jars.Josh Suereth2011-12-081-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | .desired.sha1 files now resolve into a local repository before being copied into the main repo. If the local repository exists and has a file, then there is no download necessary.
| | | * | | | | | | | Merge branch 'master' into xsbtJosh Suereth2011-12-0847-202/+160
| | | |\ \ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ \ Merge branch 'master' into xsbtPaul Phillips2011-12-0652-74/+74
| | | |\ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: project/build/ScalaSBTBuilder.scala
| | | * | | | | | | | | | Fixed publish issue.Josh Suereth2011-12-062-44/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Cleaned up layered build settings definition * Removed scalaVersion specification from build (not NEEDED). * Fixed a migration from build.sbt to project/Build.scala where publish settings were only being used on the root project and not also used for sub-projects which are published.
| | | * | | | | | | | | | Merge branch 'master' into xsbtJosh Suereth2011-12-0630-3/+93
| | | |\ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | Adding SHA resolve to the SBT build so that we don't need the push/pull ↵Josh Suereth2011-12-053-2/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | binary libs script anymore. Only pull is implemented.
| | | * | | | | | | | | | | Merge branch 'master' into xsbtJosh Suereth2011-12-05125-11/+1241
| | | |\ \ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | | *.properties files are now generated more oftenJosh Suereth2011-12-051-3/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (on git SHA change *and* clean instead of just clean)
| | | * | | | | | | | | | | | Fixed mechanisms which pulls scala revision for properties file.Josh Suereth2011-12-052-3/+7
| | | | | | | | | | | | | | |
| | | * | | | | | | | | | | | Step one towards using project revision to buildJosh Suereth2011-12-055-17/+31
| | | | | | | | | | | | | | |
| | | * | | | | | | | | | | | Merge branch 'master' into xsbtPaul Phillips2011-12-0470-120/+987
| | | |\ \ \ \ \ \ \ \ \ \ \ \
| | | * \ \ \ \ \ \ \ \ \ \ \ \ Merge branch 'master' into xsbtJosh Suereth2011-12-0223-357/+15580
| | | |\ \ \ \ \ \ \ \ \ \ \ \ \
| | | * | | | | | | | | | | | | | Port of SBT 0.11.x build. Things appear to be working well.Josh Suereth2011-12-0128-1883/+1161
| | | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | | Merge pull request #65 from dragos/masterPaul Phillips2011-12-210-0/+0
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | |_|_|_|_|_|_|_|_|_|_|_|_|_|/ | | |/| | | | | | | | | | | | | | Rename .project to .project.SAMPLE
| | | * | | | | | | | | | | | | | Renamed .project to .project.SAMPLE, just like .classpath.SAMPLE.Iulian Dragos2011-12-201-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have been done a long time ago, when .classpath was renamed to .classpath.SAMPLE. Both files are needed to import the scala compiler in Eclipse, and having just one guarantees a broken project.
| | * | | | | | | | | | | | | | | Renamed .project to .project.SAMPLE, just like .classpath.SAMPLE.Iulian Dragos2011-12-201-0/+0
| | |/ / / / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This should have been done a long time ago, when .classpath was renamed to .classpath.SAMPLE. Both files are needed to import the scala compiler in Eclipse, and having just one guarantees a broken project.
| | * | | | | | | | | | | | | | Fix for classOf NPE.Paul Phillips2011-12-195-20/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Let type parameter be inferred. Closes SI-4871.
| | * | | | | | | | | | | | | | Test case closes SI-5119.Paul Phillips2011-12-191-0/+13
| | | | | | | | | | | | | | | |
| | * | | | | | | | | | | | | | Merge remote-tracking branches 'axel22/issue/5293' and ↵Paul Phillips2011-12-1929-230/+703
| | |\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 'jsuereth/fix-5053-view-unzip' into develop
| | | * | | | | | | | | | | | | | unzip(3) on view now returns view.Josh Suereth2011-12-183-0/+32
| | | | |_|_|_|_|_|_|_|_|_|_|_|/ | | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added unzip and unzip3 to TraversableViewLike * Added partest tests for unzip on views returning specific collection types. Closes SI-5053 Review by @paulp
| | | * | | | | | | | | | | | | Restored some methods to List.Paul Phillips2011-12-171-0/+247
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Deprecated since 2.8.0 but causing far too much inconvenience by not being present.
| | | * | | | | | | | | | | | | Intermediate range commit.Paul Phillips2011-12-161-106/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is not a long-term implementation - I haven't even benchmarked it -- don't worry. I did find a fairly gross bug in the version I checked in a few days ago so I wanted to erase that from the repository memory for the weekend.