• Guido van Rossum's avatar
    Hopefully fix the profiler right. Add a test suite that checks that · f137f75a
    Guido van Rossum yazdı
    it deals correctly with some anomalous cases; according to this test
    suite I've fixed it right.
    
    The anomalous cases had to do with 'exception' events: these aren't
    generated when they would be most helpful, and the profiler has to
    work hard to recover the right information.  The problems occur when C
    code (such as hasattr(), which is used as the example here) calls back
    into Python code and clears an exception raised by that Python code.
    Consider this example:
    
        def foo():
            hasattr(obj, "bar")
    
    Where obj is an instance from a class like this:
    
        class C:
            def __getattr__(self, name):
                raise AttributeError
    
    The profiler sees the following sequence of events:
    
        call (foo)
        call (__getattr__)
        exception (in __getattr__)
        return (from foo)
    
    Previously, the profiler would assume the return event returned from
    __getattr__. An if statement checking for this condition and raising
    an exception was commented out...  This version does the right thing.
    f137f75a
Adı
Son kayıt (commit)
Son güncelleme
..
compiler Loading commit data...
curses Loading commit data...
distutils Loading commit data...
email Loading commit data...
encodings Loading commit data...
idlelib Loading commit data...
lib-old Loading commit data...
lib-tk Loading commit data...
plat-aix3 Loading commit data...
plat-aix4 Loading commit data...
plat-beos5 Loading commit data...
plat-freebsd2 Loading commit data...
plat-freebsd3 Loading commit data...
plat-freebsd4 Loading commit data...
plat-freebsd5 Loading commit data...
plat-generic Loading commit data...
plat-irix5 Loading commit data...
plat-irix6 Loading commit data...
plat-linux1 Loading commit data...
plat-linux2 Loading commit data...
plat-netbsd1 Loading commit data...
plat-next3 Loading commit data...
plat-riscos Loading commit data...
plat-sunos4 Loading commit data...
plat-sunos5 Loading commit data...
plat-unixware7 Loading commit data...
site-packages Loading commit data...
test Loading commit data...
xml Loading commit data...
BaseHTTPServer.py Loading commit data...
Bastion.py Loading commit data...
CGIHTTPServer.py Loading commit data...
ConfigParser.py Loading commit data...
Cookie.py Loading commit data...
FCNTL.py Loading commit data...
HTMLParser.py Loading commit data...
MimeWriter.py Loading commit data...
Queue.py Loading commit data...
SimpleHTTPServer.py Loading commit data...
SimpleXMLRPCServer.py Loading commit data...
SocketServer.py Loading commit data...
StringIO.py Loading commit data...
TERMIOS.py Loading commit data...
UserDict.py Loading commit data...
UserList.py Loading commit data...
UserString.py Loading commit data...
__future__.py Loading commit data...
aifc.py Loading commit data...
anydbm.py Loading commit data...
asynchat.py Loading commit data...
asyncore.py Loading commit data...
atexit.py Loading commit data...
audiodev.py Loading commit data...
base64.py Loading commit data...
bdb.py Loading commit data...
binhex.py Loading commit data...
bisect.py Loading commit data...
calendar.py Loading commit data...
cgi.py Loading commit data...
cgitb.py Loading commit data...
chunk.py Loading commit data...
cmd.py Loading commit data...
code.py Loading commit data...
codecs.py Loading commit data...
codeop.py Loading commit data...
colorsys.py Loading commit data...
commands.py Loading commit data...
compileall.py Loading commit data...
copy.py Loading commit data...
copy_reg.py Loading commit data...
dbhash.py Loading commit data...
difflib.py Loading commit data...
dircache.py Loading commit data...
dis.py Loading commit data...
doctest.py Loading commit data...
dospath.py Loading commit data...
dumbdbm.py Loading commit data...
filecmp.py Loading commit data...
fileinput.py Loading commit data...
fnmatch.py Loading commit data...
formatter.py Loading commit data...
fpformat.py Loading commit data...
ftplib.py Loading commit data...
getopt.py Loading commit data...
getpass.py Loading commit data...
gettext.py Loading commit data...
glob.py Loading commit data...
gopherlib.py Loading commit data...
gzip.py Loading commit data...
hmac.py Loading commit data...
htmlentitydefs.py Loading commit data...
htmllib.py Loading commit data...
httplib.py Loading commit data...
ihooks.py Loading commit data...
imaplib.py Loading commit data...
imghdr.py Loading commit data...
imputil.py Loading commit data...
inspect.py Loading commit data...
keyword.py Loading commit data...
knee.py Loading commit data...
linecache.py Loading commit data...
locale.py Loading commit data...
macpath.py Loading commit data...
macurl2path.py Loading commit data...
mailbox.py Loading commit data...
mailcap.py Loading commit data...
markupbase.py Loading commit data...
mhlib.py Loading commit data...
mimetools.py Loading commit data...
mimetypes.py Loading commit data...
mimify.py Loading commit data...
multifile.py Loading commit data...
mutex.py Loading commit data...
netrc.py Loading commit data...
nntplib.py Loading commit data...
ntpath.py Loading commit data...
nturl2path.py Loading commit data...
os.py Loading commit data...
pdb.doc Loading commit data...
pdb.py Loading commit data...
pickle.py Loading commit data...
pipes.py Loading commit data...
popen2.py Loading commit data...
poplib.py Loading commit data...
posixfile.py Loading commit data...
posixpath.py Loading commit data...
pprint.py Loading commit data...
pre.py Loading commit data...
profile.doc Loading commit data...
profile.py Loading commit data...
pstats.py Loading commit data...
pty.py Loading commit data...
py_compile.py Loading commit data...
pyclbr.py Loading commit data...
pydoc.py Loading commit data...
quopri.py Loading commit data...
random.py Loading commit data...
re.py Loading commit data...
reconvert.py Loading commit data...
regex_syntax.py Loading commit data...
regsub.py Loading commit data...
repr.py Loading commit data...
rexec.py Loading commit data...
rfc822.py Loading commit data...
rlcompleter.py Loading commit data...
robotparser.py Loading commit data...
sched.py Loading commit data...
sgmllib.py Loading commit data...
shelve.py Loading commit data...
shlex.py Loading commit data...
shutil.py Loading commit data...
site.py Loading commit data...
smtpd.py Loading commit data...
smtplib.py Loading commit data...
sndhdr.py Loading commit data...
socket.py Loading commit data...
sre.py Loading commit data...
sre_compile.py Loading commit data...
sre_constants.py Loading commit data...
sre_parse.py Loading commit data...
stat.py Loading commit data...
statcache.py Loading commit data...
statvfs.py Loading commit data...
string.py Loading commit data...
stringold.py Loading commit data...
sunau.py Loading commit data...
sunaudio.py Loading commit data...
symbol.py Loading commit data...
symtable.py Loading commit data...
tabnanny.py Loading commit data...
telnetlib.py Loading commit data...
tempfile.py Loading commit data...
threading.py Loading commit data...
toaiff.py Loading commit data...
token.py Loading commit data...
tokenize.py Loading commit data...
traceback.py Loading commit data...
tty.py Loading commit data...
types.py Loading commit data...
tzparse.py Loading commit data...
unittest.py Loading commit data...
urllib.py Loading commit data...
urllib2.py Loading commit data...
urlparse.py Loading commit data...
user.py Loading commit data...
uu.py Loading commit data...
warnings.py Loading commit data...
wave.py Loading commit data...
weakref.py Loading commit data...
webbrowser.py Loading commit data...
whichdb.py Loading commit data...
whrandom.py Loading commit data...
xdrlib.py Loading commit data...
xmllib.py Loading commit data...
xmlrpclib.py Loading commit data...
zipfile.py Loading commit data...