Commits

Author Commit Message Labels Comments Date
Remi Meier
finally reproduce crash as a testcase
Remi Meier
fix possible races for minor collections that look at possibly locked, global objects
Remi Meier
more asserts and fix the case when start_exclusivelock() returns in a transaction that needs to abort (same as after stm_start_sharedlock())
Remi Meier
document the real reason why we can't use just any h_original and prevent things like stub->stub->stub on public addresses.
Remi Meier
fix public ints (usage of public h_originals is not always right, they need to be PREBUILT_ORIGINALs to be sure...)
Remi Meier
fix some debug assert
Remi Meier
more asserts and a just-to-be-sure change that affects performance a bit
Remi Meier
allow nesting of stm_stop_all_other_threads()-stm_partial_commit_and_resume_other_threads() pairs
Remi Meier
fix impersonating the other thread when forcing minor collections in other threads. also use the direct thread locals in some places (for better or worse).
Remi Meier
implement stm_stop_all_other_threads() and stm_partial_commit_and_resume_other_threads()
Remi Meier
add a constant to disable the madvise() nursery clearing for use with valgrind
Remi Meier
fastpaths for stm_pointer_equal(_prebuilt)
Remi Meier
make allocate_public_integer_address use the h_original (not always allocate stubs) if it is already public
Remi Meier
fix wrong assert
Remi Meier
make nursery_current, nursery_nextlimit and active real thread-locals
Remi Meier
make thread_descriptor accessible to pypy
Remi Meier
remove copy-paste left-over
Armin Rigo
Add asserts, tweak debug prints
Armin Rigo
Hackish but simple: add here the call to stm_begin_transaction().
Armin Rigo
Fix message
Armin Rigo
Fix running test_zdemo_random, at least on some Linuxes where too many mprotect() eventually fail.
Armin Rigo
in-progress: API for the pypy jit, with support for a custom implementation of setjmp/longjmp.
Armin Rigo
Add abort and inevitable fprinting to stmgc too for now
Armin Rigo
Print the full name of the abort reason
Armin Rigo
Support non-aligned keys in g2l_insert(), as needed for stm_call_on_abort().
Armin Rigo
I *think* this is what is needed
Armin Rigo
Move 'd->active = 0' a bit earlier. This should be enough to ensure the new comment.
Armin Rigo
Skip this assert, after discussion with Remi.
Armin Rigo
Ignore callbacks if we're outside a transaction or in an inevitable transaction (which cannot abort)
Armin Rigo
stm_clear_on_abort(): move the thread-local variables into the tx_descriptor structure. Add stm_call_on_abort() for invoking callbacks (like free()) if the current transaction is aborted.
  1. Prev
  2. Next