aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/util/Stats.scala
Commit message (Collapse)AuthorAgeFilesLines
* Add accessors for non-public members accessed from inline methodsMartin Odersky2016-10-021-1/+1
| | | | | | | | This makes existsing uses of inline mostly compile. Todo: Verify that stdlib can be compiled. Todo: Implement accessors for assignments to priavte variables Todo: Figure out what to do with accesses to private types.
* Make inline annotation @scala.inline.Martin Odersky2016-10-021-2/+2
| | | | | | | | | | | | | | | | | | Drop @dotty.annotation.inline. This will inline all @inline marked methods in Scala for which a body is known (i.e. that are either compiled in the same run or have Tasty trees available). Option -Yno-inline suppresses inlining. This is needed for the moment because some @inline methods access private members or members that are otherwise inaccessible at the call-site. Also fixes some problems in Inliner - make sure type arguments to inline calls re fully defined - don't forget recursive calls in typeMap - don't forget positions in treeMap - drop dead code dealing with outer.
* Inline key operations in dottyMartin Odersky2016-10-021-5/+12
| | | | | Inlined operations are: Stats.track and all variants of Reporter.traceIndented.
* Add @sharable annotationMartin Odersky2015-07-061-2/+3
| | | | | | | Add @sharable annotation for classes and vals that are presumed to be safely sharable between threads. Also: Document CtxLazy.
* Make all Dotty source files end in newline.Dmitry Petrashko2015-04-091-1/+1
|
* Resetting uniques and hashset reorg.Martin Odersky2014-02-241-1/+1
| | | | Uniques are now cleared after each run. Also, HashSets get a more standard API, without a label, but with configurable load factor.
* New treatment of uniquesMartin Odersky2014-01-261-1/+1
| | | | | | | | To avoid to always create a type before checking its uniqueness we specialize on the three most common categories: RefinedTypes, TypeBounds and NamedTypes. Each category gets its own uniques map. Hashing is disentangled from Types. The new treatement seems to give some improvement (2-5%?) but not much.
* Better caching of typesMartin Odersky2014-01-261-1/+1
| | | | | | | | | | | Now, PolyTypes, BoundTypes and TypeVars are cached, too. This leads to the following changes: - unique types table 135K -> 310K - uncached types 923K -> 0.5K (these are types that are cachable, but contain an uncached part) - cached type allocs 3420K -> 4322K - runtime on dotc (24KLOC) 31sec -> 20sec So, it's a big net win, but we should watch the size of the uniue types table; possibly make it weak.
* Some more statistic samplingMartin Odersky2014-01-261-3/+7
|
* Statistics now also computes call counts of tracked operations.Martin Odersky2014-01-261-5/+23
|
* Refine notion of pattern variables.Martin Odersky2014-01-181-1/+1
| | | | | | | | They are variables only in certain regions of a pattern, but not in others. E.g. in nme.CONSTRUCTOR nme is NOT a variable.
* Added option -YheartbeatMartin Odersky2013-10-011-1/+42
| | | | … which shows snapshot of the callstack of tracked operations at fixed intervals.
* First tiny bit of statistics.Martin Odersky2013-05-131-0/+7