Author: Carl Friedrich Bolz <cfb...@gmx.de>
Branch: statistics-maps
Changeset: r82458:6ed007073e26
Date: 2016-02-23 18:32 +0100
http://bitbucket.org/pypy/pypy/changeset/6ed007073e26/

Log:    update contributor list

diff --git a/LICENSE b/LICENSE
--- a/LICENSE
+++ b/LICENSE
@@ -41,29 +41,29 @@
   Amaury Forgeot d'Arc
   Antonio Cuni
   Samuele Pedroni
+  Matti Picus
   Alex Gaynor
   Brian Kearns
-  Matti Picus
   Philip Jenvey
   Michael Hudson
+  Ronan Lamy
   David Schneider
+  Manuel Jacob
   Holger Krekel
   Christian Tismer
   Hakan Ardo
-  Manuel Jacob
-  Ronan Lamy
   Benjamin Peterson
+  Richard Plangger
   Anders Chrigstrom
   Eric van Riet Paap
   Wim Lavrijsen
-  Richard Plangger
   Richard Emslie
   Alexander Schremmer
   Dan Villiom Podlaski Christiansen
+  Remi Meier
   Lukas Diekmann
   Sven Hager
   Anders Lehmann
-  Remi Meier
   Aurelien Campeas
   Niklaus Haldimann
   Camillo Bruni
@@ -72,8 +72,8 @@
   Romain Guillebert
   Leonardo Santagada
   Seo Sanghyeon
+  Ronny Pfannschmidt
   Justin Peel
-  Ronny Pfannschmidt
   David Edelsohn
   Anders Hammarquist
   Jakub Gustak
@@ -95,6 +95,7 @@
   Tyler Wade
   Michael Foord
   Stephan Diehl
+  Vincent Legoll
   Stefan Schwarzer
   Valentino Volonghi
   Tomek Meka
@@ -105,9 +106,9 @@
   Jean-Paul Calderone
   Timo Paulssen
   Squeaky
+  Marius Gedminas
   Alexandre Fayolle
   Simon Burton
-  Marius Gedminas
   Martin Matusiak
   Konstantin Lopuhin
   Wenzhu Man
@@ -116,16 +117,20 @@
   Ivan Sichmann Freitas
   Greg Price
   Dario Bertini
+  Stefano Rivera
   Mark Pearse
   Simon Cross
   Andreas St&#252;hrk
-  Stefano Rivera
+  Edd Barrett
   Jean-Philippe St. Pierre
   Guido van Rossum
   Pavel Vinogradov
+  Jeremy Thurgood
   Pawe&#322; Piotr Przeradowski
+  Spenser Bauman
   Paul deGrandis
   Ilya Osadchiy
+  marky1991
   Tobias Oberstein
   Adrian Kuhn
   Boris Feigin
@@ -134,14 +139,12 @@
   Georg Brandl
   Bert Freudenberg
   Stian Andreassen
-  Edd Barrett
+  Tobias Pape
   Wanja Saatkamp
   Gerald Klix
   Mike Blume
-  Tobias Pape
   Oscar Nierstrasz
   Stefan H. Muller
-  Jeremy Thurgood
   Rami Chowdhury
   Eugene Oden
   Henry Mason
@@ -153,6 +156,8 @@
   Lukas Renggli
   Guenter Jantzen
   Ned Batchelder
+  Tim Felgentreff
+  Anton Gulenko
   Amit Regmi
   Ben Young
   Nicolas Chauvat
@@ -162,12 +167,12 @@
   Nicholas Riley
   Jason Chu
   Igor Trindade Oliveira
-  Tim Felgentreff
+  Yichao Yu
   Rocco Moretti
   Gintautas Miliauskas
   Michael Twomey
   Lucian Branescu Mihaila
-  Yichao Yu
+  Devin Jeanpierre
   Gabriel Lavoie
   Olivier Dormond
   Jared Grubb
@@ -191,33 +196,33 @@
   Stanislaw Halik
   Mikael Sch&#246;nenberg
   Berkin Ilbeyi
-  Elmo M?ntynen
+  Elmo M&#228;ntynen
+  Faye Zhao
   Jonathan David Riehl
   Anders Qvist
   Corbin Simpson
   Chirag Jadwani
   Beatrice During
   Alex Perry
-  Vincent Legoll
+  Vaibhav Sood
   Alan McIntyre
-  Spenser Bauman
+  William Leslie
   Alexander Sedov
   Attila Gobi
+  Jasper.Schulz
   Christopher Pope
-  Devin Jeanpierre
-  Vaibhav Sood
   Christian Tismer 
   Marc Abramowitz
   Dan Stromberg
   Arjun Naik
   Valentina Mukhamedzhanova
   Stefano Parmesan
+  Mark Young
   Alexis Daboville
   Jens-Uwe Mager
   Carl Meyer
   Karl Ramm
   Pieter Zieschang
-  Anton Gulenko
   Gabriel
   Lukas Vacek
   Andrew Dalke
@@ -225,6 +230,7 @@
   Jakub Stasiak
   Nathan Taylor
   Vladimir Kryachko
+  Omer Katz
   Jacek Generowicz
   Alejandro J. Cura
   Jacob Oscarson
@@ -239,6 +245,7 @@
   Lars Wassermann
   Philipp Rustemeuer
   Henrik Vendelbo
+  Richard Lancaster
   Dan Buch
   Miguel de Val Borro
   Artur Lisiecki
@@ -250,18 +257,18 @@
   Tomo Cocoa
   Kim Jin Su
   Toni Mattis
+  Amber Brown
   Lucas Stadler
   Julian Berman
   Markus Holtermann
   roberto@goyle
   Yury V. Zaytsev
   Anna Katrina Dominguez
-  William Leslie
   Bobby Impollonia
-  Faye Zhao
   t...@eistee.fritz.box
   Andrew Thompson
   Yusei Tahara
+  Aaron Tubbs
   Ben Darnell
   Roberto De Ioris
   Juan Francisco Cantero Hurtado
@@ -273,6 +280,7 @@
   Christopher Armstrong
   Michael Hudson-Doyle
   Anders Sigfridsson
+  Nikolay Zinov
   Yasir Suhail
   Jason Michalski
   rafalgalczyn...@gmail.com
@@ -282,6 +290,7 @@
   Gustavo Niemeyer
   Stephan Busemann
   Rafa&#322; Ga&#322;czy&#324;ski
+  Matt Bogosian
   Christian Muirhead
   Berker Peksag
   James Lan
@@ -316,9 +325,9 @@
   Stefan Marr
   jiaaro
   Mads Kiilerich
-  Richard Lancaster
   opassembler.py
   Antony Lee
+  Jason Madden
   Yaroslav Fedevych
   Jim Hunziker
   Markus Unterwaditzer
@@ -327,6 +336,7 @@
   squeaky
   Zearin
   soareschen
+  Jonas Pfannschmidt
   Kurt Griffiths
   Mike Bayer
   Matthew Miller
diff --git a/pypy/doc/tool/makecontributor.py b/pypy/doc/tool/makecontributor.py
--- a/pypy/doc/tool/makecontributor.py
+++ b/pypy/doc/tool/makecontributor.py
@@ -72,6 +72,7 @@
     'Anton Gulenko':['anton gulenko', 'anton_gulenko'],
     'Richard Lancaster':['richardlancaster'],
     'William Leslie':['William ML Leslie'],
+    'Spenser Bauman':['Spenser Andrew Bauman'],
     }
 
 alias_map = {}
diff --git a/pypy/objspace/std/mapdict.py b/pypy/objspace/std/mapdict.py
--- a/pypy/objspace/std/mapdict.py
+++ b/pypy/objspace/std/mapdict.py
@@ -159,12 +159,12 @@
                 if cls is W_IntObject:
                     # this means that the class stored in the storage is an
                     # IntMutableCell
-                    jit.jit_debug("map: known class int", 
objectmodel.compute_unique_id(attr))
+                    jit.jit_debug("map: read known class int", 
objectmodel.compute_unique_id(attr))
                     assert isinstance(result, IntMutableCell)
                     return W_IntObject(result.intvalue)
                 if cls is W_FloatObject:
                     # ditto
-                    jit.jit_debug("map: known class float", 
objectmodel.compute_unique_id(attr))
+                    jit.jit_debug("map: read known class float", 
objectmodel.compute_unique_id(attr))
                     assert isinstance(result, FloatMutableCell)
                     return W_FloatObject(result.floatvalue)
                 jit.jit_debug("map: recorded exact class", 
objectmodel.compute_unique_id(attr))
diff --git a/pypy/tool/mapstatsdot.py b/pypy/tool/mapstatsdot.py
--- a/pypy/tool/mapstatsdot.py
+++ b/pypy/tool/mapstatsdot.py
@@ -1,5 +1,6 @@
 #! /usr/bin/env python
 import sys
+sys.setrecursionlimit(100000)
 
 class Getattrwrap(object):
     def __init__(self, obj):
@@ -61,7 +62,7 @@
         seen.add(self)
         if hasattr(self, 'back'):
             if self not in self.back.transitions:
-                output.edge(self.back.id, self.id, dir="none")
+                output.edge(self.back.id, self.id, dir="back")
             self.back.dot(output, seen)
         if not self.instances:
             return
@@ -70,7 +71,10 @@
                            fillcolor=self.getfillcolor())
         for next, count in self.transitions.iteritems():
             next.dot(output, seen)
-            output.edge(self.id, next.id, label=str(count))
+            args = {}
+            if getattr(next, 'back', None) is not self:
+                args = dict(style="dotted")
+            output.edge(self.id, next.id, label=str(count), **args)
         return node
 
     def getfillcolor(self):
@@ -80,13 +84,22 @@
 
 
 class Terminator(Map):
+    def __repr__(self):
+        return "Terminator(%s)" % (self.w_cls)
     def fill(self, content):
         Map.fill(self, content)
         self.w_cls = content.w_cls
+        self.w_cls_module = content.w_cls_module
 
     def getlabel(self):
+        if self.w_cls_module is not None:
+            return self.w_cls + "\\l" + self.w_cls_module
         return self.w_cls
 
+    def get_chain(self):
+        return [self]
+
+
 class Attribute(Map):
     def fill(self, content):
         Map.fill(self, content)
@@ -128,6 +141,14 @@
                 assert int(index) == self.nametype
         self.reads = count
 
+    def get_chain(self):
+        l = []
+        while isinstance(self, Attribute):
+            l.append((self.name, self.nametype))
+            self = self.back
+        l.reverse()
+        return self.get_chain() + l
+
     def getlabel(self):
         if self.nametype == 0:
             name = self.name
@@ -143,7 +164,7 @@
         for write, count in self.writes.items():
             label.append("    %s: %s" % (write, count))
         if self.number_unnecessary_writes and self.constant:
-            assert len(self.writes) == 1
+            assert len(self.writes) <= 1
             label[-1] += " (%s unnecessary)" % 
(self.number_unnecessary_writes, )
         if not self.ever_mutated:
             label.append('immutable')
@@ -193,7 +214,21 @@
     goodattrs = 0
     unnecessary = 0
 
+    seen_sorted_chains = set()
+    duplicate_orders = 0
+    duplicate_order_reads = 0
+    all_instances = 0
+
     for mp in allmaps:
+        chain = mp.get_chain()
+        chain.sort()
+        if tuple(chain) in seen_sorted_chains:
+            duplicate_orders += 1
+            duplicate_order_reads += mp.reads
+            print >> sys.stderr, chain, mp.instances
+        else:
+            seen_sorted_chains.add(tuple(chain))
+
         if not isinstance(mp, Attribute):
             continue
         totalwrites += sum(mp.writes.values())
@@ -210,6 +245,8 @@
     print >> sys.stderr, "reads:", totalreads, goodreads, float(goodreads) / 
totalreads
     print >> sys.stderr, "writes:", totalwrites, goodwrites, float(goodwrites) 
/ totalwrites
     print >> sys.stderr, "unnecessary writes:", unnecessary, totalwrites, 
float(unnecessary) / totalwrites
+    print >> sys.stderr, "wrongly ordered:", duplicate_orders, totalattrs, 
float(duplicate_orders) / totalattrs
+    print >> sys.stderr, "wrongly ordered reads:", duplicate_order_reads, 
totalreads, float(duplicate_order_reads) / totalreads
     print >> sys.stderr, "attrs:", totalattrs, goodattrs, float(goodattrs) / 
totalattrs
     print >> sys.stderr, "reads / writes", float(totalreads) / totalwrites
 
diff --git a/rpython/jit/metainterp/logger.py b/rpython/jit/metainterp/logger.py
--- a/rpython/jit/metainterp/logger.py
+++ b/rpython/jit/metainterp/logger.py
@@ -6,6 +6,7 @@
 from rpython.rlib.rarithmetic import r_uint
 from rpython.rtyper.lltypesystem import lltype, llmemory, rffi
 
+JIT_LOG_VERSION = 1.0
 
 class Logger(object):
     def __init__(self, metainterp_sd, guard_number=False):
diff --git a/rpython/jit/metainterp/warmspot.py 
b/rpython/jit/metainterp/warmspot.py
--- a/rpython/jit/metainterp/warmspot.py
+++ b/rpython/jit/metainterp/warmspot.py
@@ -1030,7 +1030,11 @@
         checkgraph(origportalgraph)
 
     def add_finish(self):
+        from rpython.jit.metainterp.logger import JIT_LOG_VERSION
         def finish():
+            debug_start("jit-log-opt-version")
+            debug_print(JIT_LOG_VERSION)
+            debug_stop("jit-log-opt-version")
             if self.metainterp_sd.profiler.initialized:
                 self.metainterp_sd.profiler.finish()
             self.metainterp_sd.cpu.finish_once()
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to