- 17 Aug, 2016 4 commits
-
-
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
-
Marius Wachtler authored
- previously we never deregistered the EH frame from libunwind (which exposed a bug) - I removed the calls to register the EH info with gcc since we have our own unwinder which does not need this - cleaned up the code and fixed some small memory leaks
-
Marius Wachtler authored
-
- 16 Aug, 2016 2 commits
-
-
Kevin Modzelewski authored
Fix uses of addGuard(python_object)
-
Kevin Modzelewski authored
-
- 15 Aug, 2016 4 commits
-
-
Kevin Modzelewski authored
Since we are putting more things in the IC gc references, call GC again after clearing them.
-
Kevin Modzelewski authored
-
Kevin Modzelewski authored
Hopefully this doesn't end up keeping things alive for too much extra time.
-
Kevin Modzelewski authored
and add the test that exposed it. addGuard(obj) is dangerous because obj could be deallocated+reallocated in the same spot, which is what ended up happening here.
-
- 12 Aug, 2016 5 commits
-
-
Marius Wachtler authored
VRegInfo: reduce memory usage
-
Marius Wachtler authored
-
Marius Wachtler authored
bjit: fix memory corruption
-
Marius Wachtler authored
we used to destroy the ICInfo before all references to it got deleted. I run into this when using the glibc alloc instead of jemalloc
-
Marius Wachtler authored
SourceInfo: remove the AST stmt copy, remove special handling of lambdas
-
- 11 Aug, 2016 3 commits
-
-
Marius Wachtler authored
-
Marius Wachtler authored
had to change AST_Expression to store a stmt instead of a expr but this has the advantage that memory managment is easier
-
Marius Wachtler authored
-
- 10 Aug, 2016 5 commits
-
-
Marius Wachtler authored
use PyObject_Malloc in pyston::DenseMap, smaller ICInvalidator, reduce malloc calls
-
Marius Wachtler authored
llvm::SmallPtrSet<ICSlotInfo*, 2> and std::unordered_set<ICSlotInfo*> have the same size but the SmallPtrSet has the advantage that it can already store 2 elements in there and does not allocate 10 elements in the constructor
-
Marius Wachtler authored
-
Marius Wachtler authored
-
Marius Wachtler authored
it is slighlty faster for small allocations and has the advantage that it is easier to track how much memory our python objects are using
-
- 08 Aug, 2016 10 commits
-
-
Kevin Modzelewski authored
runtime ICs: use mmap instead of malloc for executable code
-
Marius Wachtler authored
don't handle functions containing lambdas with yields as generators
-
Marius Wachtler authored
make inner links to dir format
-
Marius Wachtler authored
-
Marius Wachtler authored
I'm suprised we did not run into this earlier...
-
Marius Wachtler authored
use more often std::unique_ptr
-
Marius Wachtler authored
This stuff got mostly already manually freed but I think this change makes it a little easier to see who owns what.
-
Marius Wachtler authored
we should not execute memory which got allocated using malloc (crashes a lot of memory inspection tools and also the windows subsystem for linux) I replaced it with a trivial mmap allocator which never unmaps the memory (but reuses the memory if a runtime ICs gets deleted) I think this is fine for now: - there are <100 runtime ICs used per test - because all runtime ICs have the same size there is no problem with fragmentation
-
Marius Wachtler authored
-
Krish Munot authored
-
- 05 Aug, 2016 4 commits
-
-
Marius Wachtler authored
ICSlotInfo: remove old invalidator entries
-
Marius Wachtler authored
delete the llvm module after code generation
-
Marius Wachtler authored
-
Marius Wachtler authored
this saves a lot of memory
-
- 04 Aug, 2016 3 commits
-
-
Marius Wachtler authored
Switch to CPython list sort(Not its list implementation)
-
Boxiang Sun authored
If BoxedList::allocated is -1, it means the items inside were changed. Some CPython list functions need this to check exceptions.
-
Boxiang Sun authored
CPython listsort need "allocated" to check and throw exception: https://github.com/Daetalus/pyston/blob/d84105ffc8a4855bb6e00d9c22ba2baa8bddf969/from_cpython/Objects/listobject.c#L2091 https://github.com/Daetalus/pyston/blob/d84105ffc8a4855bb6e00d9c22ba2baa8bddf969/from_cpython/Objects/listobject.c#L2180
-