- 08 May, 2015 3 commits
-
-
Kevin Modzelewski authored
It's a little bit complicated due to the fact that gdb has to be the parent so that it can have the permissions to ptrace the process that segfaults.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
imports apparently have to look at the globals scope in order to determine how to handle relative imports and package references. Sqlalchemy for some reason does this, and once we have this sqlalchemy imports.
-
- 07 May, 2015 7 commits
-
-
Kevin Modzelewski authored
delete capi/float.cpp
-
Kevin Modzelewski authored
I don't remember the original reasoning for having the separate capi/float.cpp, and all the other runtime/ files have their CAPI methods inline.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
workaround for __rdtscp for now
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
put back in the Timer-based stats I removed in the stats-timer branch…
-
Chris Toshok authored
put back in the Timer-based stats I removed in the stats-timer branch, and allow stat timers to be disabled separately from the rest of the stats (disable them by default.)
-
- 06 May, 2015 5 commits
-
-
Chris Toshok authored
Stat timers
-
Chris Toshok authored
-
Chris Toshok authored
-
Chris Toshok authored
Each thread has a stack of timers (which should have automatic scope.) pushing a timer onto the stack pauses the currently running one to avoid double counting, and popping a timer resumes the previous one. also make sure we pause the current timer, and swap out the current stack of timers when swapping to/from generator stacks, since otherwise pushes/pops won't line up and we hit asserts in StatTimer. Timers and StatTimers accumulate their durations in terms of CPU ticks, which are converted to microseconds only at Stats::dump() time, calculated with our estimate of CPU frequency. Needless to say, this only works when there is no CPU stepping/scaling. There are some additions to the Timer class that allow us to get the start/end time so that we can sync up StatTimers with them, if both are used in a given piece of code. getCPUTicks() is only implemented using __rdtscp() at the moment, so won't work on anything not recent relatively recent x86. we accumulate total ticks during dumping and output both 'ticks_in_main' and 'ticks_all_timers', which should be equal.
-
Chris Toshok authored
-
- 05 May, 2015 14 commits
-
-
Kevin Modzelewski authored
These happen if you never have run the makefile build, which should become increasingly common. I didn't bother testing that this doesn't break the makefile build.
-
Kevin Modzelewski authored
fix the remaining subclass checks for list comparisons <, <=, >, >=
-
Chris Toshok authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Kevin Modzelewski authored
Reduce memory by not caching analysis passes
-
Kevin Modzelewski authored
On the simple test of `pyston -c "import pip"`, it reduces memory usage from 194MB to 153MB (20% of the memory previously was cached analysis data). It also increases our benchmark geomean by ~1%, which isn't great, but I think we can get that back eventually and I don't think it's worth blocking this memory improvement for that.
-
Kevin Modzelewski authored
I guess in CPython, __file__ will be the path to the pyc if that's how the library was loaded. (We don't do that but that difference isn't the issue here.) So that makes these tests, which print __file__, sensitive to whether the last run of the test was through cpython (pyc exists and __file__ ends in pyc) or through pyston (pyc exists but was wasn't valid for cpython, and __file__ ends in py) Just do some canonicalization when printing
-
Kevin Modzelewski authored
- make heap dumping work again - refactor some of the heap statistics to work in OOM scenarios (ie be able to not collect the ones that would require allocation to track) - collect some hcls statistics as well - print stats to stderr rather than stdout - I think this makes more sense since it is not really part of the program output; it also makes it more likely that "PYSTON_RUN_ARGS=s" will work
-
Marius Wachtler authored
add support for assigning a generator to a list slice
-
Kevin Modzelewski authored
add exception_hierarchy.txt which test/cpython/test_pep352.txt needs
-
Kevin Modzelewski authored
rename member -> member_descriptor
-
Kevin Modzelewski authored
minor tester & test fixes for python microrevision compatibility
-
Kevin Modzelewski authored
Conflicts: src/runtime/float.cpp
-
- 04 May, 2015 4 commits
-
-
Kevin Modzelewski authored
list __eq__ and __ne__ work for rhs's that are list subclasses
-
Michael Arntzenius authored
-
Michael Arntzenius authored
-
Chris Toshok authored
-
- 03 May, 2015 4 commits
-
-
Kevin Modzelewski authored
prohibit _PyTuple_Resize for objects that are subclasses of tuple
-
Kevin Modzelewski authored
implement `real` and `imag` for `int`, `long`, and `float`
-
Kevin Modzelewski authored
ignore untracked files in the gflags submodule
-
Kevin Modzelewski authored
remove ununsed class BoxedUnicode
-
- 02 May, 2015 3 commits
-
-
Kevin Modzelewski authored
Add PyGC_AddRoot calls any time we assign to a static variable
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
It seems like there's only one potentially bad one (zip_directory_cache), and the rest are more or less benign (most of the occurrences are added to the module as well as attributes), but it's probably good practice.
-