This instance will be upgraded to Heptapod 0.26.0rc1 on 2021-10-25 at 14:00 UTC+2 (a few minutes of down time)

Commit 61d5acde authored by Carl Friedrich Bolz-Tereick's avatar Carl Friedrich Bolz-Tereick
Browse files

update contributor list

--HG--
branch : statistics-maps
parent cf743d3a034e
......@@ -41,29 +41,29 @@ copyrighted by one or more of the following people and organizations:
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 @@ copyrighted by one or more of the following people and organizations:
Romain Guillebert
Leonardo Santagada
Seo Sanghyeon
Justin Peel
Ronny Pfannschmidt
Justin Peel
David Edelsohn
Anders Hammarquist
Jakub Gustak
......@@ -95,6 +95,7 @@ copyrighted by one or more of the following people and organizations:
Tyler Wade
Michael Foord
Stephan Diehl
Vincent Legoll
Stefan Schwarzer
Valentino Volonghi
Tomek Meka
......@@ -105,9 +106,9 @@ copyrighted by one or more of the following people and organizations:
Jean-Paul Calderone
Timo Paulssen
Squeaky
Marius Gedminas
Alexandre Fayolle
Simon Burton
Marius Gedminas
Martin Matusiak
Konstantin Lopuhin
Wenzhu Man
......@@ -116,16 +117,20 @@ copyrighted by one or more of the following people and organizations:
Ivan Sichmann Freitas
Greg Price
Dario Bertini
Stefano Rivera
Mark Pearse
Simon Cross
Andreas Stührk
Stefano Rivera
Edd Barrett
Jean-Philippe St. Pierre
Guido van Rossum
Pavel Vinogradov
Jeremy Thurgood
Paweł Piotr Przeradowski
Spenser Bauman
Paul deGrandis
Ilya Osadchiy
marky1991
Tobias Oberstein
Adrian Kuhn
Boris Feigin
......@@ -134,14 +139,12 @@ copyrighted by one or more of the following people and organizations:
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 @@ copyrighted by one or more of the following people and organizations:
Lukas Renggli
Guenter Jantzen
Ned Batchelder
Tim Felgentreff
Anton Gulenko
Amit Regmi
Ben Young
Nicolas Chauvat
......@@ -162,12 +167,12 @@ copyrighted by one or more of the following people and organizations:
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 @@ copyrighted by one or more of the following people and organizations:
Stanislaw Halik
Mikael Schönenberg
Berkin Ilbeyi
Elmo M?ntynen
Elmo Mä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 @@ copyrighted by one or more of the following people and organizations:
Jakub Stasiak
Nathan Taylor
Vladimir Kryachko
Omer Katz
Jacek Generowicz
Alejandro J. Cura
Jacob Oscarson
......@@ -239,6 +245,7 @@ copyrighted by one or more of the following people and organizations:
Lars Wassermann
Philipp Rustemeuer
Henrik Vendelbo
Richard Lancaster
Dan Buch
Miguel de Val Borro
Artur Lisiecki
......@@ -250,18 +257,18 @@ copyrighted by one or more of the following people and organizations:
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
timo@eistee.fritz.box
Andrew Thompson
Yusei Tahara
Aaron Tubbs
Ben Darnell
Roberto De Ioris
Juan Francisco Cantero Hurtado
......@@ -273,6 +280,7 @@ copyrighted by one or more of the following people and organizations:
Christopher Armstrong
Michael Hudson-Doyle
Anders Sigfridsson
Nikolay Zinov
Yasir Suhail
Jason Michalski
rafalgalczynski@gmail.com
......@@ -282,6 +290,7 @@ copyrighted by one or more of the following people and organizations:
Gustavo Niemeyer
Stephan Busemann
Rafał Gałczyński
Matt Bogosian
Christian Muirhead
Berker Peksag
James Lan
......@@ -316,9 +325,9 @@ copyrighted by one or more of the following people and organizations:
Stefan Marr
jiaaro
Mads Kiilerich
Richard Lancaster
opassembler.py
Antony Lee
Jason Madden
Yaroslav Fedevych
Jim Hunziker
Markus Unterwaditzer
......@@ -327,6 +336,7 @@ copyrighted by one or more of the following people and organizations:
squeaky
Zearin
soareschen
Jonas Pfannschmidt
Kurt Griffiths
Mike Bayer
Matthew Miller
......
......@@ -72,6 +72,7 @@ alias = {
'Anton Gulenko':['anton gulenko', 'anton_gulenko'],
'Richard Lancaster':['richardlancaster'],
'William Leslie':['William ML Leslie'],
'Spenser Bauman':['Spenser Andrew Bauman'],
}
alias_map = {}
......
......@@ -159,12 +159,12 @@ class AbstractAttribute(object):
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))
......
#! /usr/bin/env python
import sys
sys.setrecursionlimit(100000)
class Getattrwrap(object):
def __init__(self, obj):
......@@ -61,7 +62,7 @@ class Map(object):
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 @@ class Map(object):
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 Map(object):
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 @@ class Attribute(Map):
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 @@ class Attribute(Map):
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 @@ def main():
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 @@ def main():
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
......
......@@ -6,6 +6,7 @@ from rpython.rlib.objectmodel import we_are_translated, compute_unique_id
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):
......
......@@ -1030,7 +1030,11 @@ class WarmRunnerDesc(object):
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()
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment