aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Cleanup of isSubTypeMartin Odersky2014-02-261-24/+19
|
* Performance improvement: Avoid unncecessary allocations of ListBufferMartin Odersky2014-02-263-235/+4
| | | | There were a lot in StoreReporter, as we are creating about 0.5M new ones per self-compile.
* Performance tweak: Denotation.symbol is a parameter.Martin Odersky2014-02-262-16/+13
| | | | This avoids the megamorphic dispatch on symbol before. Looked promising in the profiler (symbol showed up at 9%) but does not seem to gain much in practice. Still, can't hurt to do it.
* Performance improvements: Split long TypeMap#mapOver and move hot fields ↵Martin Odersky2014-02-263-74/+92
| | | | into locals.
* Reord of superIdsMartin Odersky2014-02-255-26/+23
| | | | | | | 1) We now keep an association between ClassSymbol and SuperId (instead of TypeRef and SuperId). That's better because superId's are deleted anyway after each run, so we gain nothing by keeping a stable ref. 2) hasChildren got dropped. It was too unreliable. The mere fact that someone take's the superId of a class does not means that that class has children.
* Performance improvement: Avoid most operations in interpolateUndetVarsMartin Odersky2014-02-254-73/+39
| | | | | | Perform the operation only if there are qualifying type variables, which is rarely the case. Reverted variances optimization to simpler and shorter previous implementation, because variances is no longer hot.
* Misc performance improvements by eliminating stupid allocationsMartin Odersky2014-02-245-21/+25
| | | | | | - Avoid closure creation in Position. - Avoid creating debug string in SymDenotations - Avoid creating Flag translation tables in pickle buffers
* Avoid memory leaks on repeated compilation.Martin Odersky2014-02-2410-36/+54
| | | | | | | | | | | | | | | | | Several measures: 1. Invalidate classOfId and superIdOfClass in ContextBase after each run. These contain local classes that should become inaccessible. 2. Also clear implicitScope cache that maps types to their implicit scopes after each run. (not sure whether this is needed; it did show up in paths from root, but on second thought this might have been a gc-able cycle. 3. Avoid capturing contexts in lazy annotations. 4. Avoid capturing contexts in functions that compute souceModule and moduleClass 5. Avoid capturing contexts in Unpickler's postReadOp hook.
* Resetting uniques and hashset reorg.Martin Odersky2014-02-245-59/+83
| | | | Uniques are now cleared after each run. Also, HashSets get a more standard API, without a label, but with configurable load factor.
* Performance improvement: Streamline successful toplevel subtype checksMartin Odersky2014-02-242-22/+20
|
* Discard inaccessible denotations when merging.Martin Odersky2014-02-242-12/+15
| | | | | | | | | | | When froming the &=merge of two denotations, we now discard denotations which have inaccessible symbols. The reason for this change is that, without it, the following code gives the warning "cannot merge Int and Int() as members of one type, keeping only Int()". val m = new java.util.HashMap m.size Indeed java.util.HashMap has a filed and method which are both named size. The field is package private, so is inaccessible from outside java.util, however.
* Performance improvements: Changes to TypeAccumulators and variances.Martin Odersky2014-02-244-36/+95
|
* Performance improvement: Specialize folds in accumulators.Martin Odersky2014-02-242-5/+11
|
* More statistics for created and retained treesMartin Odersky2014-02-244-3/+20
|
* Update some paths to relativeNada Amin2014-02-241-4/+4
|
* Merge pull request #27 from adriaanm/masterDarkDimius2014-02-231-11/+6
|\ | | | | Fix typos in docs
| * Fix typos in docsAdriaan Moors2014-02-231-11/+6
|/
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Update AUTHORS.mdodersky2014-02-231-2/+3
|
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Update AUTHORS.mdodersky2014-02-231-9/+9
|
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Update AUTHORS.mdodersky2014-02-231-1/+1
|
* Create AUTHORS.mdodersky2014-02-231-0/+51
|
* Update README.mdodersky2014-02-221-1/+1
|
* Performance improvement: Cache uninstatiated typevars in constraintsMartin Odersky2014-02-212-17/+19
| | | | | | | Pro: Much faster to iterate through uninstantiated type variables Con: Constraints can no longer be value classes. Still this seems to give a net win of ~2%.
* Caching of implicit membersMartin Odersky2014-02-211-7/+11
| | | | Also, some streamlining in the way memberNames are computed.
* Performance improvement: Special-case implementation of underlyingIfRepeatedMartin Odersky2014-02-211-2/+6
|
* Peformance improvement: Better basetype cachingMartin Odersky2014-02-211-4/+4
| | | | Now first checks in cache before going into special case for static classes (derivesFrom on types is not free!)
* Performance tuning: Inline TypeAlias case for hot maps.Martin Odersky2014-02-214-42/+73
|
* Bug fix: fix of typo in secondTryMartin Odersky2014-02-211-1/+1
|
* Bug fix: Logic for taking variance into account for TypeBounds comparisons ↵Martin Odersky2014-02-211-6/+3
| | | | was broken.
* Bug fix: newSyntheticTypeParam did not incorporate paramFlagsMartin Odersky2014-02-211-1/+1
|
* Reverted: Avoid using TypeBounds in alias refinements.Martin Odersky2014-02-2110-178/+75
| | | | The idea is to use the alias itself. This cuts down on # of typebounds created and makes operations on refined infos and applied types more direct. (reverted from commit 81f31f9b71bc4466d3f04f5ce28ef94051688ecd)
* Performance improvement: Replace == with equals in util.HashTableMartin Odersky2014-02-211-3/+3
|
* Drop unique hashing for superId bitsetsMartin Odersky2014-02-212-8/+1
| | | | Reason: (1) There are few sets: When compiling doty itself, 1.2K sets total, hashed to 500 uniques. (2) Bitset comparison is expensive because it relies on a double inclusion test. (This should be fixed in the Scala stdlib).
* Performance improvement in LRUCacheMartin Odersky2014-02-211-2/+2
| | | | Use eq for key comparisons in LRUCache.
* Performance improvement: inline hasAltWithMartin Odersky2014-02-212-2/+11
| | | | Gives us ~1%, it seems.
* Avoid using TypeBounds in alias refinements.Martin Odersky2014-02-2110-75/+178
| | | | The idea is to use the alias itself. This cuts down on # of typebounds created and makes operations on refined infos and applied types more direct.
* Disentangling SelectionProto and RefinedTypeMartin Odersky2014-02-214-35/+30
| | | | There were too many problems caused by it, and too little gained. So, now SelectionProto is no longer a Subtype of RefinedType.
* Merge pull request #26 from DarkDimius/runMainVlad Ureche2014-02-201-0/+232
|\ | | | | Script for running compiler outside sbt
| * Script for running compiler outside sbtDmitry Petrashko2014-02-201-0/+232
|/
* Made blacklist in ScannerTest ignore the source path location of the ↵Martin Odersky2014-02-161-4/+4
| | | | blacklisted file.
* Some small doc changesMartin Odersky2014-02-162-1/+10
|
* Merge pull request #23 from VladUreche/topic/scala-compileDarkDimius2014-02-163-10/+28
|\ | | | | Add Scalac scanning to the Travis CI build
| * Add Scalac scanning to the Travis CI buildVlad Ureche2014-02-163-10/+28
|/ | | | | And silence some of the error messages we print so the build log doesn't go above 4MB (Travis' limit)
* Added information about mailing list to READMEDarkDimius2014-02-151-0/+2
|
* Removed clean (thanks @sjrd)Vlad Ureche2014-02-141-1/+1
|