-
Notifications
You must be signed in to change notification settings - Fork 289
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP]we can use Cython 0.25 without modification now #1374
base: master
Are you sure you want to change the base?
Commits on Jul 14, 2016
-
Configuration menu - View commit details
-
Copy full SHA for b9ab979 - Browse repository at this point
Copy the full SHA b9ab979View commit details -
Merge pull request pyston#1295 from undingen/release051
docker: we are now using cython 0.24 + update readme for 0.5.1 release
Configuration menu - View commit details
-
Copy full SHA for abb4b13 - Browse repository at this point
Copy the full SHA abb4b13View commit details -
Configuration menu - View commit details
-
Copy full SHA for fc7e22e - Browse repository at this point
Copy the full SHA fc7e22eView commit details -
Merge pull request pyston#1296 from undingen/bump_06
Bump version numbers
Configuration menu - View commit details
-
Copy full SHA for ea8cd1d - Browse repository at this point
Copy the full SHA ea8cd1dView commit details
Commits on Jul 15, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 536fd62 - Browse repository at this point
Copy the full SHA 536fd62View commit details -
Configuration menu - View commit details
-
Copy full SHA for b4b69eb - Browse repository at this point
Copy the full SHA b4b69ebView commit details -
Configuration menu - View commit details
-
Copy full SHA for ae07536 - Browse repository at this point
Copy the full SHA ae07536View commit details -
Add sq_slots & mp_slots to instance (issue pyston#1197)
sizeoftank committedJul 15, 2016 Configuration menu - View commit details
-
Copy full SHA for 0c37fa0 - Browse repository at this point
Copy the full SHA 0c37fa0View commit details
Commits on Jul 18, 2016
-
str: use cpythons [r]partition
it support non str separators fixes pyston#1297
Configuration menu - View commit details
-
Copy full SHA for 3dc94a1 - Browse repository at this point
Copy the full SHA 3dc94a1View commit details -
Merge pull request pyston#1299 from undingen/fix_unicode_partition
str: use cpythons [r]partition
Configuration menu - View commit details
-
Copy full SHA for f71d5b3 - Browse repository at this point
Copy the full SHA f71d5b3View commit details -
Merge pull request pyston#1294 from sizeoftank/pr_instance_sqslots_mp…
…slots_issue1197 Add sq_slots & mp_slots to instance (issue pyston#1197)
Configuration menu - View commit details
-
Copy full SHA for 6a33d15 - Browse repository at this point
Copy the full SHA 6a33d15View commit details -
Configuration menu - View commit details
-
Copy full SHA for 8c5a865 - Browse repository at this point
Copy the full SHA 8c5a865View commit details
Commits on Jul 19, 2016
-
Have function.func_globals always be dict-like
Internally we store it as either-dict-or-module, but when we expose it to Python it needs to be given back as a mapping. I looked briefly into switching the internal representation, but that seemed like a much more invasive change. Also, add a pytest test that exposed this issue.
Configuration menu - View commit details
-
Copy full SHA for 7625b86 - Browse repository at this point
Copy the full SHA 7625b86View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e33fe6 - Browse repository at this point
Copy the full SHA 5e33fe6View commit details -
Fix extra nonzero call for chained comparisons pyston#1190
sizeoftank committedJul 19, 2016 Configuration menu - View commit details
-
Copy full SHA for 2386a30 - Browse repository at this point
Copy the full SHA 2386a30View commit details -
Configuration menu - View commit details
-
Copy full SHA for ffa3301 - Browse repository at this point
Copy the full SHA ffa3301View commit details -
Merge pull request pyston#1300 from kmod/func_globals
Have function.func_globals always be dict-like
Configuration menu - View commit details
-
Copy full SHA for d150b6e - Browse repository at this point
Copy the full SHA d150b6eView commit details
Commits on Jul 20, 2016
-
Merge pull request pyston#1243 from undingen/tp_str
implement tp_str and tp_repr for more of our builtin types
Configuration menu - View commit details
-
Copy full SHA for 48ec63a - Browse repository at this point
Copy the full SHA 48ec63aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 631bd89 - Browse repository at this point
Copy the full SHA 631bd89View commit details -
Configuration menu - View commit details
-
Copy full SHA for ceb3eb5 - Browse repository at this point
Copy the full SHA ceb3eb5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2974bf3 - Browse repository at this point
Copy the full SHA 2974bf3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 349c4d4 - Browse repository at this point
Copy the full SHA 349c4d4View commit details -
Merge pull request pyston#1305 from undingen/small_optimizations
add _bisect, always_use_version support CAPI, set some frequent accessed slots
Configuration menu - View commit details
-
Copy full SHA for ea2dec6 - Browse repository at this point
Copy the full SHA ea2dec6View commit details -
Rename pure None to pyston_None, and use Py_None as much as possible.
When try to support tk. The Py_None is a wrapper of pyston `None`. It will conflict with other library's None. So rename the pure pyston `None` to pyston_None. And use Py_None instead pyston_None when possible. Just like dropbox#1231 for Py_True and Py_False
Boxiang Sun committedJul 20, 2016 Configuration menu - View commit details
-
Copy full SHA for bd338c9 - Browse repository at this point
Copy the full SHA bd338c9View commit details -
Add ignore_enviroment attribute to sys.flags
Pyston already has Py_IgnoreEnvironmentFlag, just add it to sys.flags.
Boxiang Sun committedJul 20, 2016 Configuration menu - View commit details
-
Copy full SHA for a11792b - Browse repository at this point
Copy the full SHA a11792bView commit details -
Boxiang Sun committed
Jul 20, 2016 Configuration menu - View commit details
-
Copy full SHA for 5336595 - Browse repository at this point
Copy the full SHA 5336595View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3e64ec6 - Browse repository at this point
Copy the full SHA 3e64ec6View commit details -
Merge pull request pyston#1303 from Daetalus/Py_None
Replace None with Py_None and some other fixing.
Configuration menu - View commit details
-
Copy full SHA for 513bc9b - Browse repository at this point
Copy the full SHA 513bc9bView commit details
Commits on Jul 21, 2016
-
Merge pull request pyston#1307 from undingen/fix_long_leak
long: dealloc gmp memory
Configuration menu - View commit details
-
Copy full SHA for d7fa6e8 - Browse repository at this point
Copy the full SHA d7fa6e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 40fa7ef - Browse repository at this point
Copy the full SHA 40fa7efView commit details -
Merge pull request pyston#1301 from sizeoftank/compare_ordering_issue…
…1190 Fix extra nonzero call for chained comparisons pyston#1190
Configuration menu - View commit details
-
Copy full SHA for 99719a4 - Browse repository at this point
Copy the full SHA 99719a4View commit details -
generator: reduce number of c++ exceptions
Adds a few C API paths plus sets tp_iternext and tpp_hasnext
Configuration menu - View commit details
-
Copy full SHA for d9b5310 - Browse repository at this point
Copy the full SHA d9b5310View commit details
Commits on Jul 22, 2016
-
Merge pull request pyston#1306 from undingen/generator_opt
generator optimizations
Configuration menu - View commit details
-
Copy full SHA for 82c402a - Browse repository at this point
Copy the full SHA 82c402aView commit details
Commits on Jul 25, 2016
-
Configuration menu - View commit details
-
Copy full SHA for cd29133 - Browse repository at this point
Copy the full SHA cd29133View commit details
Commits on Jul 26, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 57c801a - Browse repository at this point
Copy the full SHA 57c801aView commit details
Commits on Jul 27, 2016
-
Merge pull request pyston#1249 from aisk/cpython-abstract
use cpython's abstract.c instead of src/capi/abstract.cpp
Configuration menu - View commit details
-
Copy full SHA for 2741096 - Browse repository at this point
Copy the full SHA 2741096View commit details
Commits on Jul 29, 2016
-
Boxiang Sun committed
Jul 29, 2016 Configuration menu - View commit details
-
Copy full SHA for 2bdc898 - Browse repository at this point
Copy the full SHA 2bdc898View commit details -
Copy listobject.c from CPython 2.7
Boxiang Sun committedJul 29, 2016 Configuration menu - View commit details
-
Copy full SHA for d84105f - Browse repository at this point
Copy the full SHA d84105fView commit details
Commits on Jul 30, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 6b0f785 - Browse repository at this point
Copy the full SHA 6b0f785View commit details
Commits on Jul 31, 2016
-
Configuration menu - View commit details
-
Copy full SHA for c7b8aa6 - Browse repository at this point
Copy the full SHA c7b8aa6View commit details
Commits on Aug 1, 2016
-
Support empty lines on the repl
They end up generating "pass" statements with a lineno of 0, which trips an assert later on. This commit just sets them to have a lineno of 1. I'm not sure how to test this, since piping into stdin is supposed to be treated as a file (not as the repl). Though, we get that wrong right now.
Configuration menu - View commit details
-
Copy full SHA for b80e9dc - Browse repository at this point
Copy the full SHA b80e9dcView commit details -
Merge pull request pyston#1313 from kmod/repl_empty
Support empty lines on the repl
Configuration menu - View commit details
-
Copy full SHA for 586a8c6 - Browse repository at this point
Copy the full SHA 586a8c6View commit details
Commits on Aug 2, 2016
-
Merge pull request pyston#1312 from aisk/sys_flags
using cpython's `sys.flags` inplementation
Configuration menu - View commit details
-
Copy full SHA for 10911d6 - Browse repository at this point
Copy the full SHA 10911d6View commit details -
fixes pyston#1191 evaluation order for dict operations.
sizeoftank committedAug 2, 2016 Configuration menu - View commit details
-
Copy full SHA for 7895da8 - Browse repository at this point
Copy the full SHA 7895da8View commit details -
Merge pull request pyston#1311 from aisk/pyobject_format
enable `PyObject_Format` in `from_cpython/Objects/abstract.c`
Configuration menu - View commit details
-
Copy full SHA for 84b0c7b - Browse repository at this point
Copy the full SHA 84b0c7bView commit details -
Merge pull request pyston#1302 from sizeoftank/literals_order_issue1191
Fix evaluation order for dict operations
Configuration menu - View commit details
-
Copy full SHA for 747c0ad - Browse repository at this point
Copy the full SHA 747c0adView commit details -
hidden classes: split into subclasses to reduce memory consumption
+ use pyston::DenseMap to save a little more memory this saves about 5%-10% of peak memory on django
Configuration menu - View commit details
-
Copy full SHA for cffc1b8 - Browse repository at this point
Copy the full SHA cffc1b8View commit details -
Merge pull request pyston#1314 from undingen/hiddenclass_opt
hidden classes: split into subclasses to reduce memory consumption
Configuration menu - View commit details
-
Copy full SHA for 2713ecf - Browse repository at this point
Copy the full SHA 2713ecfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5d616f0 - Browse repository at this point
Copy the full SHA 5d616f0View commit details -
Merge pull request pyston#1315 from kmod/virtualenv
Update to fewer-pyston-changes virtualenv
Configuration menu - View commit details
-
Copy full SHA for e21a0dc - Browse repository at this point
Copy the full SHA e21a0dcView commit details
Commits on Aug 3, 2016
-
ScopeNameUsage merge dicts into a single big one
and change it to use a unordered_map because it uses less memory in this case and is faster (I assume because it does not have align the key value tuples) saves about 10% of peak memory on django
Configuration menu - View commit details
-
Copy full SHA for 75f70a6 - Browse repository at this point
Copy the full SHA 75f70a6View commit details -
Merge pull request pyston#1316 from undingen/smaller_scopenameusage
ScopeNameUsage merge dicts into a single big one
Configuration menu - View commit details
-
Copy full SHA for 6f34e11 - Browse repository at this point
Copy the full SHA 6f34e11View commit details
Commits on Aug 4, 2016
-
Comment out some part of listobject.c, use the CPython list sort and apply some changes to existed Pyston code.
Boxiang Sun committedAug 4, 2016 Configuration menu - View commit details
-
Copy full SHA for bd39c49 - Browse repository at this point
Copy the full SHA bd39c49View commit details -
Change BoxedList::capacity to BoxedList::allocated
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
Boxiang Sun committedAug 4, 2016 Configuration menu - View commit details
-
Copy full SHA for bc3e118 - Browse repository at this point
Copy the full SHA bc3e118View commit details -
Allow BoxedList::allocated is -1
If BoxedList::allocated is -1, it means the items inside were changed. Some CPython list functions need this to check exceptions.
Boxiang Sun committedAug 4, 2016 Configuration menu - View commit details
-
Copy full SHA for d7993a9 - Browse repository at this point
Copy the full SHA d7993a9View commit details -
Merge pull request pyston#1310 from Daetalus/list_cpython
Switch to CPython list sort(Not its list implementation)
Configuration menu - View commit details
-
Copy full SHA for fca39ba - Browse repository at this point
Copy the full SHA fca39baView commit details
Commits on Aug 5, 2016
-
Configuration menu - View commit details
-
Copy full SHA for d8f237b - Browse repository at this point
Copy the full SHA d8f237bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c7bd5c4 - Browse repository at this point
Copy the full SHA c7bd5c4View commit details -
Merge pull request pyston#1317 from undingen/delete_llvm_mod
delete the llvm module after code generation
Configuration menu - View commit details
-
Copy full SHA for d817b29 - Browse repository at this point
Copy the full SHA d817b29View commit details -
Merge pull request pyston#1318 from undingen/slot_info_clear
ICSlotInfo: remove old invalidator entries
Configuration menu - View commit details
-
Copy full SHA for 81c744b - Browse repository at this point
Copy the full SHA 81c744bView commit details
Commits on Aug 8, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 53662aa - Browse repository at this point
Copy the full SHA 53662aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for d00c49a - Browse repository at this point
Copy the full SHA d00c49aView commit details -
runtime ICs: use mmap instead of malloc for executable code
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
Configuration menu - View commit details
-
Copy full SHA for 5cae67f - Browse repository at this point
Copy the full SHA 5cae67fView commit details -
This stuff got mostly already manually freed but I think this change makes it a little easier to see who owns what.
Configuration menu - View commit details
-
Copy full SHA for 9536f7f - Browse repository at this point
Copy the full SHA 9536f7fView commit details -
Merge pull request pyston#1321 from undingen/more_unique_ptr
use more often std::unique_ptr
Configuration menu - View commit details
-
Copy full SHA for daa0ffd - Browse repository at this point
Copy the full SHA daa0ffdView commit details -
don't handle functions containing lambdas with yields as generators
I'm suprised we did not run into this earlier...
Configuration menu - View commit details
-
Copy full SHA for 802ad22 - Browse repository at this point
Copy the full SHA 802ad22View commit details -
Configuration menu - View commit details
-
Copy full SHA for cdba6c2 - Browse repository at this point
Copy the full SHA cdba6c2View commit details -
Merge pull request pyston#1320 from KrishMunot/patch-4
make inner links to dir format
Configuration menu - View commit details
-
Copy full SHA for 0d750da - Browse repository at this point
Copy the full SHA 0d750daView commit details -
Merge pull request pyston#1323 from undingen/lambda_yield
don't handle functions containing lambdas with yields as generators
Configuration menu - View commit details
-
Copy full SHA for 6f38dcc - Browse repository at this point
Copy the full SHA 6f38dccView commit details -
Merge pull request pyston#1322 from undingen/runime_ics_mmap
runtime ICs: use mmap instead of malloc for executable code
Configuration menu - View commit details
-
Copy full SHA for e4a492a - Browse repository at this point
Copy the full SHA e4a492aView commit details
Commits on Aug 10, 2016
-
pyston::DenseMap use PyObject_Malloc
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
Configuration menu - View commit details
-
Copy full SHA for 32fe213 - Browse repository at this point
Copy the full SHA 32fe213View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85a1c69 - Browse repository at this point
Copy the full SHA 85a1c69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1206cf2 - Browse repository at this point
Copy the full SHA 1206cf2View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for f6009c2 - Browse repository at this point
Copy the full SHA f6009c2View commit details -
Merge pull request pyston#1324 from undingen/small_impr
use PyObject_Malloc in pyston::DenseMap, smaller ICInvalidator, reduce malloc calls
Configuration menu - View commit details
-
Copy full SHA for 232557a - Browse repository at this point
Copy the full SHA 232557aView commit details
Commits on Aug 11, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 4b096d9 - Browse repository at this point
Copy the full SHA 4b096d9View commit details -
SourceInfo: remove the AST stmt copy
had to change AST_Expression to store a stmt instead of a expr but this has the advantage that memory managment is easier
Configuration menu - View commit details
-
Copy full SHA for 88f52b0 - Browse repository at this point
Copy the full SHA 88f52b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for c22574f - Browse repository at this point
Copy the full SHA c22574fView commit details
Commits on Aug 12, 2016
-
Merge pull request pyston#1325 from undingen/remove_body
SourceInfo: remove the AST stmt copy, remove special handling of lambdas
Configuration menu - View commit details
-
Copy full SHA for 16210b7 - Browse repository at this point
Copy the full SHA 16210b7View commit details -
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
Configuration menu - View commit details
-
Copy full SHA for bb18ac0 - Browse repository at this point
Copy the full SHA bb18ac0View commit details -
Merge pull request pyston#1326 from undingen/fix_memory_corruption
bjit: fix memory corruption
Configuration menu - View commit details
-
Copy full SHA for a4e6f09 - Browse repository at this point
Copy the full SHA a4e6f09View commit details -
Configuration menu - View commit details
-
Copy full SHA for ceb6517 - Browse repository at this point
Copy the full SHA ceb6517View commit details -
Merge pull request pyston#1327 from undingen/vreg_mem
VRegInfo: reduce memory usage
Configuration menu - View commit details
-
Copy full SHA for 41ce5b1 - Browse repository at this point
Copy the full SHA 41ce5b1View commit details
Commits on Aug 15, 2016
-
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.
Configuration menu - View commit details
-
Copy full SHA for a8b225a - Browse repository at this point
Copy the full SHA a8b225aView commit details -
Fix all other uses of addGuard
Hopefully this doesn't end up keeping things alive for too much extra time.
Configuration menu - View commit details
-
Copy full SHA for 06dd454 - Browse repository at this point
Copy the full SHA 06dd454View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d9a839 - Browse repository at this point
Copy the full SHA 3d9a839View commit details -
Improve tear-down process slightly
Since we are putting more things in the IC gc references, call GC again after clearing them.
Configuration menu - View commit details
-
Copy full SHA for a79385d - Browse repository at this point
Copy the full SHA a79385dView commit details
Commits on Aug 16, 2016
-
Configuration menu - View commit details
-
Copy full SHA for b9ad300 - Browse repository at this point
Copy the full SHA b9ad300View commit details -
Merge pull request pyston#1328 from kmod/addguard_gcref
Fix uses of addGuard(python_object)
Configuration menu - View commit details
-
Copy full SHA for af9934e - Browse repository at this point
Copy the full SHA af9934eView commit details
Commits on Aug 17, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 91aad8d - Browse repository at this point
Copy the full SHA 91aad8dView commit details -
EH: correctly deregister EH frames and cleanup the code
- 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
Configuration menu - View commit details
-
Copy full SHA for d4b8c35 - Browse repository at this point
Copy the full SHA d4b8c35View commit details -
Merge pull request pyston#1330 from undingen/fix_eh_handling
EH: correctly deregister EH frames and cleanup the code
Configuration menu - View commit details
-
Copy full SHA for 02e46a4 - Browse repository at this point
Copy the full SHA 02e46a4View commit details -
bjit: free codeblocks after tiering up to the LLVM jit
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
Configuration menu - View commit details
-
Copy full SHA for f4ea810 - Browse repository at this point
Copy the full SHA f4ea810View commit details -
Merge pull request pyston#1329 from undingen/free_bjit_code
free bjit code after LLVM codegen
Configuration menu - View commit details
-
Copy full SHA for ce0a5dd - Browse repository at this point
Copy the full SHA ce0a5ddView commit details -
string interning: make it slightly more space efficient
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.
Configuration menu - View commit details
-
Copy full SHA for d713267 - Browse repository at this point
Copy the full SHA d713267View commit details
Commits on Aug 18, 2016
-
hidden classes: free classes of singleton type
this fixes the huge (~350MB) leak in: for i in xrange(1000000): class C(object): pass
Configuration menu - View commit details
-
Copy full SHA for d15906e - Browse repository at this point
Copy the full SHA d15906eView commit details
Commits on Aug 19, 2016
-
Merge pull request pyston#1332 from undingen/free_singleton_hidden_cl…
…asses hidden classes: free classes of singleton type
Configuration menu - View commit details
-
Copy full SHA for 7f10290 - Browse repository at this point
Copy the full SHA 7f10290View commit details -
Configuration menu - View commit details
-
Copy full SHA for aa5fa65 - Browse repository at this point
Copy the full SHA aa5fa65View commit details -
Merge pull request pyston#1331 from undingen/mem_string_interning
string interning: make it slightly more space efficient
Configuration menu - View commit details
-
Copy full SHA for f74e9ee - Browse repository at this point
Copy the full SHA f74e9eeView commit details -
Merge pull request pyston#1333 from undingen/prefetch
switch from the SSE prefetch to __builtin_prefetch
Configuration menu - View commit details
-
Copy full SHA for e9ced45 - Browse repository at this point
Copy the full SHA e9ced45View commit details
Commits on Aug 20, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 7f5b72b - Browse repository at this point
Copy the full SHA 7f5b72bView commit details -
Configuration menu - View commit details
-
Copy full SHA for d7be509 - Browse repository at this point
Copy the full SHA d7be509View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe5fc74 - Browse repository at this point
Copy the full SHA fe5fc74View commit details -
Change _PyThreadState_Current handling
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.
Configuration menu - View commit details
-
Copy full SHA for 2a4e46e - Browse repository at this point
Copy the full SHA 2a4e46eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 61a7ab6 - Browse repository at this point
Copy the full SHA 61a7ab6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 73bf315 - Browse repository at this point
Copy the full SHA 73bf315View commit details
Commits on Aug 21, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 0f5f16a - Browse repository at this point
Copy the full SHA 0f5f16aView commit details -
Configuration menu - View commit details
-
Copy full SHA for 09470b2 - Browse repository at this point
Copy the full SHA 09470b2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9b46190 - Browse repository at this point
Copy the full SHA 9b46190View commit details -
Merge pull request pyston#1334 from kmod/threading
Threading fixes to get cffi-1.7 working
Configuration menu - View commit details
-
Copy full SHA for 7c1ee4c - Browse repository at this point
Copy the full SHA 7c1ee4cView commit details
Commits on Aug 22, 2016
-
Configuration menu - View commit details
-
Copy full SHA for b2a3fb2 - Browse repository at this point
Copy the full SHA b2a3fb2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 98af448 - Browse repository at this point
Copy the full SHA 98af448View commit details -
Configuration menu - View commit details
-
Copy full SHA for 85b1b94 - Browse repository at this point
Copy the full SHA 85b1b94View commit details -
bjit: allocate 25% smaller codeblocks
this does not hurt perf but still saves some memory
Configuration menu - View commit details
-
Copy full SHA for 8481459 - Browse repository at this point
Copy the full SHA 8481459View commit details -
Merge pull request pyston#1335 from undingen/minor_mem
Misc memory size reductions
Configuration menu - View commit details
-
Copy full SHA for 0324606 - Browse repository at this point
Copy the full SHA 0324606View commit details -
This fixes the llvm tier memory consumption until we migrate to the ORC JIT which has better memory management.
Configuration menu - View commit details
-
Copy full SHA for a36654a - Browse repository at this point
Copy the full SHA a36654aView commit details -
Merge pull request pyston#1336 from undingen/llvm_free_object_files
MCJIT: free loaded objects
Configuration menu - View commit details
-
Copy full SHA for 76c7d50 - Browse repository at this point
Copy the full SHA 76c7d50View commit details -
Boxiang Sun committed
Aug 22, 2016 Configuration menu - View commit details
-
Copy full SHA for bd490b8 - Browse repository at this point
Copy the full SHA bd490b8View commit details
Commits on Aug 23, 2016
-
Change getMagic function to a constant and group the constants
After remove libpypa, the function getMagic only return one string. So just use a char array constant instead a function.
Boxiang Sun committedAug 23, 2016 Configuration menu - View commit details
-
Copy full SHA for a120b2a - Browse repository at this point
Copy the full SHA a120b2aView commit details -
Merge pull request pyston#1337 from Daetalus/libpypa
Remove libpypa parser
Configuration menu - View commit details
-
Copy full SHA for 0abee10 - Browse repository at this point
Copy the full SHA 0abee10View commit details -
Configuration menu - View commit details
-
Copy full SHA for bedb3f3 - Browse repository at this point
Copy the full SHA bedb3f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for e4f5dd1 - Browse repository at this point
Copy the full SHA e4f5dd1View commit details -
recordType: don't call recordType inside getattr rewrite path
this is a duplicate - we will allready emit a call to recordType inside the bjit
Configuration menu - View commit details
-
Copy full SHA for 435131e - Browse repository at this point
Copy the full SHA 435131eView commit details -
llvm tier: remove type recorder usage
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.
Configuration menu - View commit details
-
Copy full SHA for afec055 - Browse repository at this point
Copy the full SHA afec055View commit details -
Configuration menu - View commit details
-
Copy full SHA for e790c69 - Browse repository at this point
Copy the full SHA e790c69View commit details -
Configuration menu - View commit details
-
Copy full SHA for 64961ca - Browse repository at this point
Copy the full SHA 64961caView commit details -
Merge pull request pyston#1338 from undingen/fix_pointer_reuse_problems
Fix pointer reuse problems
Configuration menu - View commit details
-
Copy full SHA for 0814d21 - Browse repository at this point
Copy the full SHA 0814d21View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0971100 - Browse repository at this point
Copy the full SHA 0971100View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49502e9 - Browse repository at this point
Copy the full SHA 49502e9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47d6b1e - Browse repository at this point
Copy the full SHA 47d6b1eView commit details
Commits on Aug 25, 2016
-
Undo all the places we changed installed paths
We used to have a installed directory structure that mirrors our source structure. This required changing quite a few pieces of CPython code to look in the new places (virtualenv, distutils, getpath.c, sysconfig). So, undo all those changes, and change our CMake configuration to install into the paths that CPython expects. Note: "the paths that CPython expects" is platform-dependent. The paths I added here are based on the "posix" style that it supports. The CPython code has platform-specific code to look in different places, and I guess the build system must have platform-specific knowledge of where to put it as well, but our CMake system will always put it in the linux variant.
Configuration menu - View commit details
-
Copy full SHA for 180c5bf - Browse repository at this point
Copy the full SHA 180c5bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for 3f5b4b8 - Browse repository at this point
Copy the full SHA 3f5b4b8View commit details
Commits on Aug 26, 2016
-
The only things left in there were some old stubs. We had added the stubs and then later added the real files; with the old directory structure the real files took precedence, but then with the new structure the stubs took precedence. Once those were deleted there wasn't anything left in lib_pyston
Configuration menu - View commit details
-
Copy full SHA for 83e57ca - Browse repository at this point
Copy the full SHA 83e57caView commit details -
Configuration menu - View commit details
-
Copy full SHA for d333615 - Browse repository at this point
Copy the full SHA d333615View commit details
Commits on Aug 29, 2016
-
Merge pull request pyston#1341 from kmod/directories
Undo all the places we changed installed paths
Configuration menu - View commit details
-
Copy full SHA for 75d7319 - Browse repository at this point
Copy the full SHA 75d7319View commit details
Commits on Aug 30, 2016
-
Configuration menu - View commit details
-
Copy full SHA for e379020 - Browse repository at this point
Copy the full SHA e379020View commit details -
Merge pull request pyston#1343 from undingen/fix_leak_checker
Fix leak check after path changes
Configuration menu - View commit details
-
Copy full SHA for 92fc9c3 - Browse repository at this point
Copy the full SHA 92fc9c3View commit details -
Turn off implicit-function check in release mode
I'm still hoping that we can keep this on in some way, because it continues to find issues. So let's try keeping it on for debug builds. I'm not sure if this is weakening the check enough (there may be other cases like scipy), but it's sounding like we need to have this check turned off in our releases regardless, such as issue pyston#1344.
Configuration menu - View commit details
-
Copy full SHA for c5aa72a - Browse repository at this point
Copy the full SHA c5aa72aView commit details -
Properly throw ImportErrors on dlopen failure
I think it'd be nicer to just abort() like we do here, but cffi is actually testing this behavior (that loading an invalid library causes an ImportError). This is being exposed now because before, the library would fail to compile due to -Werror=implicit-function-declaration and not even get to the loading step.
Configuration menu - View commit details
-
Copy full SHA for 9e1ed8a - Browse repository at this point
Copy the full SHA 9e1ed8aView commit details -
Merge pull request pyston#1345 from kmod/implicit_function_declaration
Turn off implicit-function check in release mode
Configuration menu - View commit details
-
Copy full SHA for 0611d82 - Browse repository at this point
Copy the full SHA 0611d82View commit details
Commits on Aug 31, 2016
-
microptimization: reduce number of calls to BoxedFrame::handleFrameExit
by decrefing frame_info->exc earlier this will less often be true: if (frame->ob_refcnt > 1) frame->handleFrameExit();
Configuration menu - View commit details
-
Copy full SHA for b4ece35 - Browse repository at this point
Copy the full SHA b4ece35View commit details -
Configuration menu - View commit details
-
Copy full SHA for e432e29 - Browse repository at this point
Copy the full SHA e432e29View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0be24ae - Browse repository at this point
Copy the full SHA 0be24aeView commit details -
Merge pull request pyston#1348 from undingen/fewer_handleFrameExit
microptimizations: use DEFAULT_CLASS_SIMPLE, non gc code object, fewer handleFrameExit calls
Configuration menu - View commit details
-
Copy full SHA for ea8890e - Browse repository at this point
Copy the full SHA ea8890eView commit details
Commits on Sep 1, 2016
-
Create all FunctionMetadatas for a module at once
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.
Configuration menu - View commit details
-
Copy full SHA for 7eacfcd - Browse repository at this point
Copy the full SHA 7eacfcdView commit details -
Merge pull request pyston#1349 from kmod/scoping
Create all FunctionMetadatas for a module at once
Configuration menu - View commit details
-
Copy full SHA for 2783ab4 - Browse repository at this point
Copy the full SHA 2783ab4View commit details -
Make GCC 5.4 happy with those type casting
GCC 5.4 will report those type castings are not legal.
Configuration menu - View commit details
-
Copy full SHA for b470153 - Browse repository at this point
Copy the full SHA b470153View commit details -
Use is_trivially_copy_constructible instead has_trivial_copy_constructor
When update to gcc 5.4, it complain there has no has_trivial_copy_constructor, please see here: http://www.chpc-tech.com/EN/NewDevelopments/2015/15.04.23.gcc5.1.html So use standard c++ 11 type traits.
Configuration menu - View commit details
-
Copy full SHA for 102e352 - Browse repository at this point
Copy the full SHA 102e352View commit details -
Disable libunwind doc generation
I think we don't need libunwind to generate doc. And libunwind will call latex2man and pdflatex to generate its doc. And this can not be disabled through command line. Please see here: https://bugzilla.mozilla.org/show_bug.cgi?id=738302
Configuration menu - View commit details
-
Copy full SHA for b64c525 - Browse repository at this point
Copy the full SHA b64c525View commit details -
Merge pull request pyston#1350 from Daetalus/building_issue
Let Pyston compatible with GCC 5.x
Configuration menu - View commit details
-
Copy full SHA for d824030 - Browse repository at this point
Copy the full SHA d824030View commit details -
Configuration menu - View commit details
-
Copy full SHA for 111ca52 - Browse repository at this point
Copy the full SHA 111ca52View commit details
Commits on Sep 2, 2016
-
Merge pull request pyston#1351 from kmod/scoping_branch
Revert "Merge pull request pyston#1349 from kmod/scoping"
Configuration menu - View commit details
-
Copy full SHA for dc8e825 - Browse repository at this point
Copy the full SHA dc8e825View commit details -
Instead, merge it into BoxedCode. This way we'll get refcounting of our codegen datastructures. I didn't do anything more than inline all of FunctionMetadata's fields into BoxedCode, and then delete the FunctionMetadata object.
Configuration menu - View commit details
-
Copy full SHA for 1b10176 - Browse repository at this point
Copy the full SHA 1b10176View commit details -
Configuration menu - View commit details
-
Copy full SHA for bcd8064 - Browse repository at this point
Copy the full SHA bcd8064View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2affae9 - Browse repository at this point
Copy the full SHA 2affae9View commit details -
Move doc+name from the function ctor to code ctor
since this is where it's supposed to live. The function ctor copies these fields from the code object.
Configuration menu - View commit details
-
Copy full SHA for 798c4da - Browse repository at this point
Copy the full SHA 798c4daView commit details -
Configuration menu - View commit details
-
Copy full SHA for b2d50bd - Browse repository at this point
Copy the full SHA b2d50bdView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5f193e2 - Browse repository at this point
Copy the full SHA 5f193e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0055cde - Browse repository at this point
Copy the full SHA 0055cdeView commit details -
Merge pull request pyston#1353 from kmod/noastref
A bunch of function metadata refactorings
Configuration menu - View commit details
-
Copy full SHA for 362a327 - Browse repository at this point
Copy the full SHA 362a327View commit details
Commits on Sep 5, 2016
-
Configuration menu - View commit details
-
Copy full SHA for e4e2371 - Browse repository at this point
Copy the full SHA e4e2371View commit details -
Merge pull request pyston#1355 from undingen/_heapq
fix a bug where compare could ignore CAPI exceptions and add _heapq
Configuration menu - View commit details
-
Copy full SHA for 6ca5522 - Browse repository at this point
Copy the full SHA 6ca5522View commit details
Commits on Sep 6, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 42a07f2 - Browse repository at this point
Copy the full SHA 42a07f2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5e76425 - Browse repository at this point
Copy the full SHA 5e76425View commit details -
Configuration menu - View commit details
-
Copy full SHA for 763cc65 - Browse repository at this point
Copy the full SHA 763cc65View commit details -
Clean up some dead code from the cfg changes
And make BST_arguments a bit safer by removing misleading fields.
Configuration menu - View commit details
-
Copy full SHA for 3b413f5 - Browse repository at this point
Copy the full SHA 3b413f5View commit details -
Configuration menu - View commit details
-
Copy full SHA for 48eb8f3 - Browse repository at this point
Copy the full SHA 48eb8f3View commit details -
Revert "Revert "Merge pull request pyston#1349 from kmod/scoping""
This reverts commit 111ca52.
Configuration menu - View commit details
-
Copy full SHA for 6101f68 - Browse repository at this point
Copy the full SHA 6101f68View commit details -
Configuration menu - View commit details
-
Copy full SHA for aba408b - Browse repository at this point
Copy the full SHA aba408bView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1ac2322 - Browse repository at this point
Copy the full SHA 1ac2322View commit details -
Remove conflicting command-line flags
We mostly did a good job of picking flags that CPython doesn't use (or at least, that its manpage doesn't advertise), but there are a couple that need to be changed. One is for TRAP which is a feature I don't even remember anymore, so that's removed. The other is for stats -- '-s' is now changed to '-T'. This will be annoying to change on the perf-tracking side.
Configuration menu - View commit details
-
Copy full SHA for ad61645 - Browse repository at this point
Copy the full SHA ad61645View commit details
Commits on Sep 7, 2016
-
Merge pull request pyston#1359 from kmod/metaserver_merge
Some minor improvements from the metaserver branch
Configuration menu - View commit details
-
Copy full SHA for d1e16e8 - Browse repository at this point
Copy the full SHA d1e16e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50d62a1 - Browse repository at this point
Copy the full SHA 50d62a1View commit details -
Add some Pyston modification to from_cpython/setup.py
Disable some extensions, part of because they were handled by from_cpython/CMakefile.txt, part of beacuase we need to enable it in seperated PR. Such as tk extension. And also add some modifications to let extension can find the source code in correct path.
Configuration menu - View commit details
-
Copy full SHA for e132792 - Browse repository at this point
Copy the full SHA e132792View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9ef680b - Browse repository at this point
Copy the full SHA 9ef680bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f2365ec - Browse repository at this point
Copy the full SHA f2365ecView commit details -
Configuration menu - View commit details
-
Copy full SHA for 1228d98 - Browse repository at this point
Copy the full SHA 1228d98View commit details -
Merge pull request pyston#1360 from undingen/astbst_cleanup
AST & BST: remove unnecessary nodes and fields + little less memory usage
Configuration menu - View commit details
-
Copy full SHA for 0dea31b - Browse repository at this point
Copy the full SHA 0dea31bView commit details -
Use a bumpptr allocator to keep track of the AST nodes. I could not use the LLVM one because it does not call the destructor on allocated elements.
Configuration menu - View commit details
-
Copy full SHA for 6926ccf - Browse repository at this point
Copy the full SHA 6926ccfView commit details
Commits on Sep 8, 2016
-
Merge pull request pyston#1361 from undingen/delete_ast_nodes
AST: deallocate nodes
Configuration menu - View commit details
-
Copy full SHA for 128e2b0 - Browse repository at this point
Copy the full SHA 128e2b0View commit details -
Merge pull request pyston#1358 from dropbox/ast
Merge AST/BST work into master
Configuration menu - View commit details
-
Copy full SHA for c98fb20 - Browse repository at this point
Copy the full SHA c98fb20View commit details -
Merge pull request pyston#1354 from Daetalus/building_issue
Switch to CPython way to build standard C extensions.
Configuration menu - View commit details
-
Copy full SHA for 6681b73 - Browse repository at this point
Copy the full SHA 6681b73View commit details
Commits on Sep 10, 2016
-
Be able to run an unmodified virtualenv
Well, really an unmodified pip+setuptools The last piece is py_compile. Just shim that back into our parser to get the parser to write out a pyc file. It seems like we don't even need this -- most callers of py_compile (or at least, virtualenv), don't seem to care if the compile step passed or failed. But while we're here, try to support it.
Configuration menu - View commit details
-
Copy full SHA for 64d4069 - Browse repository at this point
Copy the full SHA 64d4069View commit details -
Need to handle the zip_safe issues as well
Do it by patching distutils, which setuptools I guess builds on
Configuration menu - View commit details
-
Copy full SHA for 928d5de - Browse repository at this point
Copy the full SHA 928d5deView commit details -
Configuration menu - View commit details
-
Copy full SHA for bcd9793 - Browse repository at this point
Copy the full SHA bcd9793View commit details -
Fix some corner cases in the irgen refcounter, and fix a refcount issue in the bz2 module itself.
Configuration menu - View commit details
-
Copy full SHA for 450242d - Browse repository at this point
Copy the full SHA 450242dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 526a0fc - Browse repository at this point
Copy the full SHA 526a0fcView commit details -
We're failing some tests in CI due to recursion depth issues
Which are quite hard to reproduce because they depend on the details of the C stack. Anyway, we should probably start using the recursion-depth-tracking functions in more place, rather than getting segfaults. There are a lot of CPython tests that test for recursion-depth-checking.
Configuration menu - View commit details
-
Copy full SHA for 7747b4b - Browse repository at this point
Copy the full SHA 7747b4bView commit details -
Configuration menu - View commit details
-
Copy full SHA for de4d0a3 - Browse repository at this point
Copy the full SHA de4d0a3View commit details -
Merge pull request pyston#1340 from kmod/cpython_tests
These cpython tests are working now
Configuration menu - View commit details
-
Copy full SHA for 3a41df7 - Browse repository at this point
Copy the full SHA 3a41df7View commit details -
Merge pull request pyston#1357 from kmod/unmodified_venv
Be able to run an unmodified virtualenv
Configuration menu - View commit details
-
Copy full SHA for 91b65a3 - Browse repository at this point
Copy the full SHA 91b65a3View commit details
Commits on Sep 11, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 5c5bf96 - Browse repository at this point
Copy the full SHA 5c5bf96View commit details -
Configuration menu - View commit details
-
Copy full SHA for 26048a7 - Browse repository at this point
Copy the full SHA 26048a7View commit details
Commits on Sep 12, 2016
-
Merge pull request pyston#1362 from Daetalus/building_issue
[WIP]Let GCC 5 happy and update the CPython test notes
Configuration menu - View commit details
-
Copy full SHA for 9042baf - Browse repository at this point
Copy the full SHA 9042bafView commit details -
Add a bunch of missing symlinks
We symlink the CPython tests into our tests directory to control which ones we will attempt to run. A bunch of the tests though need other test files in order to run, and we hadn't symlinked those in. At some point we should switch to symlinking the Lib/test directory instead of individual files, but for now this helps.
Configuration menu - View commit details
-
Copy full SHA for 4af0656 - Browse repository at this point
Copy the full SHA 4af0656View commit details -
Configuration menu - View commit details
-
Copy full SHA for 332539d - Browse repository at this point
Copy the full SHA 332539dView commit details -
Improve recursion-depth checking a bit
Main difference is lowering the recursion-depth on unoptimized builds, since we need more stack space per python frame.
Configuration menu - View commit details
-
Copy full SHA for 715ace3 - Browse repository at this point
Copy the full SHA 715ace3View commit details -
Configuration menu - View commit details
-
Copy full SHA for ee91219 - Browse repository at this point
Copy the full SHA ee91219View commit details -
to not conflict with CPython's -O. They're quite similar (increase optimization level), but some tests ask for -O when they don't really want our version of it.
Configuration menu - View commit details
-
Copy full SHA for 4a8040c - Browse repository at this point
Copy the full SHA 4a8040cView commit details -
ulimit: change from RSS to virtual size
For some reason the max-RSS limit doesn't seem to be kicking in. Switch to putting a limit on the virtual size instead, and bump the limit from 500MB to 1.5GB.
Configuration menu - View commit details
-
Copy full SHA for bc10d36 - Browse repository at this point
Copy the full SHA bc10d36View commit details -
test_itertools was failing because of a version mismatch between the …
…test and the implementation we copied
Configuration menu - View commit details
-
Copy full SHA for f17f3b0 - Browse repository at this point
Copy the full SHA f17f3b0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 032b0dd - Browse repository at this point
Copy the full SHA 032b0ddView commit details -
Configuration menu - View commit details
-
Copy full SHA for b2b748e - Browse repository at this point
Copy the full SHA b2b748eView commit details -
Configuration menu - View commit details
-
Copy full SHA for ac1fa8f - Browse repository at this point
Copy the full SHA ac1fa8fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f1d9eb - Browse repository at this point
Copy the full SHA 7f1d9ebView commit details -
Change these to absolute imports
needed because of how we symlink things
Configuration menu - View commit details
-
Copy full SHA for 3e957ac - Browse repository at this point
Copy the full SHA 3e957acView commit details -
Took a pass over most of the tests
ie did some quick debugging and added test notes
Configuration menu - View commit details
-
Copy full SHA for 3108e45 - Browse repository at this point
Copy the full SHA 3108e45View commit details -
Two of these tests pass in release mode but not in debug (one is a timeout, the other is an assertion) Two of them are failing in both and I don't know why I marked them as succeeding.
Configuration menu - View commit details
-
Copy full SHA for 2522afa - Browse repository at this point
Copy the full SHA 2522afaView commit details
Commits on Sep 13, 2016
-
Split test_lib2to3 into small and large variants
and only run the small variant in debug mode to avoid timeouts. Previously I had tried splitting it in half, but it looks like that's both not enough to avoid timeouts, and it also has a race condition when trying to run two copies of the test at the same time (one will read the not-fully-written pickled output of the other).
Configuration menu - View commit details
-
Copy full SHA for 4a1b44e - Browse repository at this point
Copy the full SHA 4a1b44eView commit details -
Configuration menu - View commit details
-
Copy full SHA for a2c2b89 - Browse repository at this point
Copy the full SHA a2c2b89View commit details -
Merge pull request pyston#1363 from kmod/cpython_tests
Take a pass over the CPython tests
Configuration menu - View commit details
-
Copy full SHA for 75562e5 - Browse repository at this point
Copy the full SHA 75562e5View commit details -
Change section memory manager to fix performance problem in long-runn…
…ing SectionMemoryManagers
Configuration menu - View commit details
-
Copy full SHA for f60f678 - Browse repository at this point
Copy the full SHA f60f678View commit details
Commits on Sep 14, 2016
-
Configuration menu - View commit details
-
Copy full SHA for e5b3483 - Browse repository at this point
Copy the full SHA e5b3483View commit details
Commits on Sep 19, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 30e8e53 - Browse repository at this point
Copy the full SHA 30e8e53View commit details -
Merge pull request pyston#1369 from sh92/fixDocs
Fix docs about stats option
Configuration menu - View commit details
-
Copy full SHA for 70993f0 - Browse repository at this point
Copy the full SHA 70993f0View commit details
Commits on Sep 20, 2016
-
Add type.__instancecheck__ and __subclasscheck__
We supported classes that overrode them, but didn't provide a default implementation in case people called it by hand. The tricky part is making sure that these new additions don't mess with our "does this class override __instancecheck__" optimizations.
Configuration menu - View commit details
-
Copy full SHA for 7765838 - Browse repository at this point
Copy the full SHA 7765838View commit details
Commits on Sep 21, 2016
-
Merge pull request pyston#1370 from kmod/subclasscheck
Add type.__instancecheck__ and __subclasscheck__
Configuration menu - View commit details
-
Copy full SHA for c91ea1b - Browse repository at this point
Copy the full SHA c91ea1bView commit details -
remove RODataMem.FreeMem.clear(); and replace return true to RELEASE_ASSERT(0, "finalizeMemory failed")
Configuration menu - View commit details
-
Copy full SHA for bb154da - Browse repository at this point
Copy the full SHA bb154daView commit details -
Configuration menu - View commit details
-
Copy full SHA for db4159c - Browse repository at this point
Copy the full SHA db4159cView commit details -
Merge pull request pyston#1365 from corona10/section
Change section memory manager to fix performance problem in long-runn…
Configuration menu - View commit details
-
Copy full SHA for 19baa92 - Browse repository at this point
Copy the full SHA 19baa92View commit details
Commits on Sep 26, 2016
-
Merge pull request pyston#1371 from kmod/subclasscheck
Make these properly CAPI functions
Configuration menu - View commit details
-
Copy full SHA for 1f45c0d - Browse repository at this point
Copy the full SHA 1f45c0dView commit details
Commits on Sep 27, 2016
-
Update lz4 to a version compatible with gcc 4.9+
Not 100% sure of the reason but lz4 gets mis-optimized (or "has UB" depending on who you ask) in the version that we're using, so update to a version that has a fix.
Configuration menu - View commit details
-
Copy full SHA for cc5013c - Browse repository at this point
Copy the full SHA cc5013cView commit details -
Merge pull request pyston#1375 from kmod/lz4_gcc
Update lz4 to a version compatible with gcc 4.9+
Configuration menu - View commit details
-
Copy full SHA for 3f1a0e1 - Browse repository at this point
Copy the full SHA 3f1a0e1View commit details
Commits on Sep 28, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 754ddae - Browse repository at this point
Copy the full SHA 754ddaeView commit details -
Now that object has __doc__, fix others
Otherwise they would inherit object's __doc__
Configuration menu - View commit details
-
Copy full SHA for bfb0ec4 - Browse repository at this point
Copy the full SHA bfb0ec4View commit details
Commits on Sep 29, 2016
-
Merge pull request pyston#1378 from kmod/typing
Add test for typing.py and fix the issues it uncovers
Configuration menu - View commit details
-
Copy full SHA for 4e10a4f - Browse repository at this point
Copy the full SHA 4e10a4fView commit details
Commits on Oct 4, 2016
-
Configuration menu - View commit details
-
Copy full SHA for 8e739ff - Browse repository at this point
Copy the full SHA 8e739ffView commit details -
Fix optimization that is wrong for abstract classes
We fast-pathed "type has __init__ but not __new__" by saying that the default __new__ would always succeed, but this isn't true for abstract classes.
Configuration menu - View commit details
-
Copy full SHA for fa775e2 - Browse repository at this point
Copy the full SHA fa775e2View commit details -
Configuration menu - View commit details
-
Copy full SHA for 9dfc01d - Browse repository at this point
Copy the full SHA 9dfc01dView commit details -
Specifically, for the case that locals==NULL (which Cython exercises), which wasn't previously working. now using ctypes to test the c api
Configuration menu - View commit details
-
Copy full SHA for b6e9389 - Browse repository at this point
Copy the full SHA b6e9389View commit details -
Support "asynchronous exceptions"
A function at risk of "naive misuse", it is only accessible via the C API. This commit adds basic support for it using the same mechanism we use for signals. We also have the GIL-check mechanism, but that would be a bit more work to get working right now due to the fact that our GIL-checks don't support throwing exceptions. Doing the async-exc check during signal checking means that we will throw the async exc faster than CPython does. It also means that there are some pathological cases where with a lot of threads and a lot of async excs we will probably have much worse performance. But as long as they are rare I think this commit shouldn't add any steady-state performance costs.
Configuration menu - View commit details
-
Copy full SHA for 3cb7d7b - Browse repository at this point
Copy the full SHA 3cb7d7bView commit details -
Hackish imp.get_magic workaround
Too many things want this to be able to remove it completely. Surprisingly, having imp.get_magic exist but return a changing value seems to make all those libraries happy.
Configuration menu - View commit details
-
Copy full SHA for bfdaf2e - Browse repository at this point
Copy the full SHA bfdaf2eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5fdbbfc - Browse repository at this point
Copy the full SHA 5fdbbfcView commit details -
Recursion-depth-checking fixes
We weren't properly reducing the stack depth when yielding from a generator, meaning that the recursion depth was effectively decreased by the number of active generators.
Configuration menu - View commit details
-
Copy full SHA for 3e10ff4 - Browse repository at this point
Copy the full SHA 3e10ff4View commit details -
Special refcounting exemption for buggy extensions
google's protobuf library gives away one too many refs to one of its types. This workaround feels excessively specific, but this is a common mistake to make, and it works just fine in CPython, so let people get away with it as well in Pyston.
Configuration menu - View commit details
-
Copy full SHA for a20593e - Browse repository at this point
Copy the full SHA a20593eView commit details -
More attrwrapper-instead-of-dict support
Specifically, when passed to PyArg_ParseTuple when a dict argument is asked for.
Configuration menu - View commit details
-
Copy full SHA for 7e2cbb5 - Browse repository at this point
Copy the full SHA 7e2cbb5View commit details
Commits on Oct 5, 2016
-
BST: convert all nodes to directly operate at vregs instead of names
**basic design:** This PR changes our BST nodes to directly operate on vregs instead of pointers to other nodes and names (except a few exceptions: `BST_Invoke`, `BST_MakeFunction` and `BST_MakeClass` which still needs to get converted). Most nodes got a destination vreg and one or more source vregs. Currently all of them are 32bit long but I plan to store them more compact very soon. Some nodes support a variable size of operands (e.g. the tuple node) but the size can't change after creating the node. I removed several unneeded opcodes and split a lot of nodes into separate opcodes (it may make sense to split them even further in the future). Generally all instructions except `CopyVReg` kill the source operand vregs except if the source is a ref to a constant. If one needs the preserve the source vreg on needs to create a new temporary using the `CopyVReg` opcode. There is a special vreg number: `VREG_UNDEFINED = std::numeric_limits<int>::min()`. - when it's set as an operand vreg: it means that this is a not-set optional argument. (e.g. for a slice which only has `lower` set, `upper` would be `VREG_UNDEFINED`) - if it's the destination it's means the result value should get immediately killed (e.g. `invoke 15 16: %undef = %11(%14)` this is a call whose result gets ignored) all other negative vreg numbers are indices into a constant table (after adding 1 and making them positive). (e.g. `(4, 2, 'lala')` generates: `%undef = (%-1|4|, %-2|2|, %-3|'lala'|)` this creates a tuple whose elements are the constant idx -1, -2 and -3. In order to make it easier for a human to understand we print the actual value of the constant between | characters) - constants can be all str and numeric types and 'None'. - every constant will only get stored once in the table this reduces the total memory usage by about 20% currently but I'm very sure with the future changes it will be significantly lower. **near future:** - change the jump and branch instruction to reference `CFGBlocks` by index. - store all `InternedString` inside a table and use indices into the the table to access them. - remove the 'BoxedCode*' member - devirtualize the classes = with this changes the bytecode can get freely copied around (only need to update the CFGBlock table) which allows us to attach the directly next to each other. - I plan to use one bit of the the opcode to mark the instruction as only requiring 8bit vreg operands (which should handle the majority of cases with 128 temps and 127 constants + 1undef vreg value) - another bit will get used to specify if this instruction is inside an `invoke`. if this bit is set there are 2 one 1 or 4 bytes long block indices directly behind the instruction. - serialize the bytecode to disk. (maybe serialize the constants using pickle) **thing which need to get improved** - currently the constant table get's attached to the `BoxedModule` maybe there is a better location, I also needed to pass the `BoxedModule` into some functions e.g. BST printing because otherwise we could not pretty-print the constants - `BST_Name` is not an opcode it's just used to initialize the arguments when a function get's called and stores where and how the arguments need to get stored. - more consistent opcode names and rename `TmpValue` to something better - we currently don't print the `InternedString` name - we only print the vreg number **additional changed made which are hidden in the large diff** 👎 - removed unused code initializing the items of `BST_Dict` (we use/used separate assignments to add the items) - lower `ExtSlice` inside the CFG phase to a tuple of slices - separated opcode for load subscript when it needs to be a slice and when it's only lower and upper (=`__getslice__`) before this got handled in the interpreter/jit - generate a constant `None` load inside the CFG when `None` gets loaded by name
Configuration menu - View commit details
-
Copy full SHA for 482d2e8 - Browse repository at this point
Copy the full SHA 482d2e8View commit details -
Configuration menu - View commit details
-
Copy full SHA for c0a273f - Browse repository at this point
Copy the full SHA c0a273fView commit details -
Merge pull request pyston#1377 from undingen/new_bst4
BST: convert all nodes to directly operate at vregs instead of names
Configuration menu - View commit details
-
Copy full SHA for 9cd8e75 - Browse repository at this point
Copy the full SHA 9cd8e75View commit details -
Some more recursion-depth-checking fixes
- Fix a test to do the correct number of iterations - Catch more exceptions in PyDict_GetItem/createModule (now that more things can throw)
Configuration menu - View commit details
-
Copy full SHA for b596a71 - Browse repository at this point
Copy the full SHA b596a71View commit details -
Configuration menu - View commit details
-
Copy full SHA for a61d289 - Browse repository at this point
Copy the full SHA a61d289View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4e408bf - Browse repository at this point
Copy the full SHA 4e408bfView commit details -
Configuration menu - View commit details
-
Copy full SHA for c026399 - Browse repository at this point
Copy the full SHA c026399View commit details
Commits on Oct 6, 2016
-
Merge pull request pyston#1379 from kmod/metaserver_merge
A number of small fixes from the dropbox testsuite
Configuration menu - View commit details
-
Copy full SHA for 1961ce6 - Browse repository at this point
Copy the full SHA 1961ce6View commit details -
Configuration menu - View commit details
-
Copy full SHA for ff6ca0d - Browse repository at this point
Copy the full SHA ff6ca0dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 21ac70f - Browse repository at this point
Copy the full SHA 21ac70fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7f52a9a - Browse repository at this point
Copy the full SHA 7f52a9aView commit details -
Configuration menu - View commit details
-
Copy full SHA for a256041 - Browse repository at this point
Copy the full SHA a256041View commit details -
Merge pull request pyston#1383 from undingen/cleanup_bst
move constants into CodeConstants, call BoxedCode destructor, cleanup BST nodes
Configuration menu - View commit details
-
Copy full SHA for 106533f - Browse repository at this point
Copy the full SHA 106533fView commit details -
Configuration menu - View commit details
-
Copy full SHA for 75f9b50 - Browse repository at this point
Copy the full SHA 75f9b50View commit details