- 01 Sep, 2016 1 commit
-
-
Kevin Modzelewski authored
There are a bunch of interrelated changes in here that I couldn't really separate out. Mostly the relate to saving data on the AST nodes: we store DerefInfo and closure info on the Name nodes, and store FunctionMetadata objects on AST nodes that create scopes. And those FunctionMetadata objects now also store "ScopingResults", which is only the results from the ScopeInfo objects, not all the extra info those keep around in order to do deferred analysis. Once all this extra data is precomputed+stored, we can start freeing the ScopingAnalysis objects and all the related ScopeInfos. Future work: - Name node shouldn't store scoing info; this should be embedded in choice of BST nodes - Do pyc caching post-CFG - Memory management. - Continue to clean this all up. I layered this change on top of the existing scoping and cfg systems, which reduced the amount of changes, but means that there is a potentially-unnecessary layer in the middle now.
-
- 23 Aug, 2016 12 commits
-
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
Fix pointer reuse problems
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
while this removes some disabled features I'm not a big fan of having disabled stuff around because it will break and makes development harder.
-
Marius Wachtler authored
this is a duplicate - we will allready emit a call to recordType inside the bjit
-
Marius Wachtler authored
solves a pointer reuse problem
-
Marius Wachtler authored
-
Marius Wachtler authored
Remove libpypa parser
-
Boxiang Sun authored
After remove libpypa, the function getMagic only return one string. So just use a char array constant instead a function.
-
- 22 Aug, 2016 8 commits
-
-
Boxiang Sun authored
-
Marius Wachtler authored
MCJIT: free loaded objects
-
Marius Wachtler authored
This fixes the llvm tier memory consumption until we migrate to the ORC JIT which has better memory management.
-
Marius Wachtler authored
Misc memory size reductions
-
Marius Wachtler authored
this does not hurt perf but still saves some memory
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
-
- 21 Aug, 2016 4 commits
-
-
Kevin Modzelewski authored
Threading fixes to get cffi-1.7 working
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
- 20 Aug, 2016 6 commits
-
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Instead of having it always point to the thread-local threadstate object, it's a global that gets updated during context switches, like CPython does it. There are still a number of differences that should be refactored out, but I think this should bring us quite a bit closer to CPython's implementation.
-
Kevin Modzelewski authored
It's time :(
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
This new version is causing some issues for us
-
- 19 Aug, 2016 4 commits
-
-
Marius Wachtler authored
switch from the SSE prefetch to __builtin_prefetch
-
Marius Wachtler authored
string interning: make it slightly more space efficient
-
Marius Wachtler authored
-
Marius Wachtler authored
hidden classes: free classes of singleton type
-
- 18 Aug, 2016 1 commit
-
-
Marius Wachtler authored
this fixes the huge (~350MB) leak in: for i in xrange(1000000): class C(object): pass
-
- 17 Aug, 2016 4 commits
-
-
Marius Wachtler authored
We used to store the string content twice. This implementation makes use of DenseSet::find_as functionality where one can search using a different type. I was not sure if the special DenseMapInfo I had to create causes any problems so I choose to create a new source file for it so that it does not get picked up somewhere else.
-
Marius Wachtler authored
free bjit code after LLVM codegen
-
Marius Wachtler authored
we free now the code blocks after a recompile in the LLVM tier (except for OSR frames) because it is likely that we will not use the code anymore. - we have to make sure we are not currently executing any code we will delete that's why I added bjit_num_inside - there were some cases where we forgot to deregister stuff - when profiling we don't actually unmap the code in order to not brake profiling
-
Marius Wachtler authored
EH: correctly deregister EH frames and cleanup the code
-