An error occurred fetching the project authors.
- 28 May, 2019 2 commits
-
-
Stefan Behnel authored
Move the variable declarations in a C helper function to where they are actually used to avoid "unused" warnings in Py3.
-
Stefan Behnel authored
-
- 26 May, 2019 1 commit
-
-
Marcel Plch authored
-
- 04 Nov, 2017 1 commit
-
-
Stefan Behnel authored
-
- 01 Sep, 2017 2 commits
-
-
Stefan Behnel authored
Make tracing tests work exactly as in CPython and compare the tracing results for both Python and Cython functions. Fix "frame.f_trace" test in tracing code accordingly. See #1769 and #1774 for background.
-
Stefan Behnel authored
Better fix for #1836: set frame flags to make CPython create a new dict for "frame.f_locals" at need.
-
- 23 Aug, 2017 1 commit
-
-
x3k6a2 authored
The code right now creates a frame containing a reference to f_globals in f_locals. This is because of https://github.com/python/cpython/blob/2.7/Objects/frameobject.c#L732 If a profiler accesses frame.f_locals (from python) it will trigger frame_getlocals https://github.com/python/cpython/blob/02e03672e6766b1da847b1635982a70346780744/Objects/frameobject.c#L56 PyFrame_FastToLocals https://github.com/python/cpython/blob/02e03672e6766b1da847b1635982a70346780744/Objects/frameobject.c#L867 which will call map_to_dict with (pseudocode) map_to_dict(f.co_code.co_varnames, len(f.co_code.co_varnames), f.f_locals, f.f_localsplus, 0) which will remove everything from f_locals which is also in f.co_code.co_varnames. As f_locals == f_globals in the current setup that modifies the global namespace. In our case we have a function def foo(foo): pass if a function call to this function is profiled the function will be removed from the global namespace (as it shares it's name with one of it's parameter names).
-
- 12 Aug, 2017 1 commit
-
-
Stefan Behnel authored
-
- 25 Jul, 2017 1 commit
-
-
Dmitry Trofimov authored
-
- 16 Jul, 2017 1 commit
-
-
Dmitry Trofimov authored
Fix "NoneType object is not callable" exception when using a tracing function that returns None (#1769) CPython uses the return value of tracing function to assign it to frame.f_trace field and then it uses it for the frame instead of tstate.c_tracefunc. If it is None, the context shouldn't be traced line by line.
-
- 13 Jul, 2017 1 commit
-
-
Stefan Behnel authored
-
- 07 Aug, 2016 1 commit
-
-
Boxiang Sun authored
Pyston is another Python implementation. More like CPython + JIT. Patch Cython to add Pyston support.
-
- 31 Jul, 2016 1 commit
-
-
Stefan Behnel authored
-
- 30 Sep, 2015 1 commit
-
-
Stefan Behnel authored
-
- 19 Sep, 2015 1 commit
-
-
Stefan Behnel authored
-
- 06 Jun, 2015 1 commit
-
-
Stefan Behnel authored
-
- 28 Feb, 2015 1 commit
-
-
Stefan Behnel authored
-
- 20 Feb, 2015 2 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 19 Feb, 2015 1 commit
-
-
Stefan Behnel authored
ensure that we call trace/profile functions without current exception set; reduce code overhead inside of functions for line tracing
-
- 07 Feb, 2015 2 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 01 Jan, 2015 2 commits
-
-
Robert Bradshaw authored
-
Robert Bradshaw authored
The profiler filters lines on the function's __code__ attribute, which must agree with that created in the profile frame. Unfortunately, this makes it difficult to profile anything but 'def' functions.
-
- 13 Dec, 2013 2 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
- 05 Apr, 2013 4 commits
-
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-
Stefan Behnel authored
-