Skip to content
This repository was archived by the owner on Feb 13, 2025. It is now read-only.

Replace Stackless hard switching with libteatet #279

Draft
wants to merge 37 commits into
base: 2.7-slp
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
37 commits
Select commit Hold shift + click to select a range
b3fac7b
Add the tealet project to the file structure
kristjanvalur Jun 2, 2013
9a80a79
Initial replacement of switching. Remove CState structure.
kristjanvalur Jul 8, 2013
83a6b7f
Initial running version
kristjanvalur Jul 8, 2013
c6201ff
Now runs testsuite but fails in test-external
kristjanvalur Jul 9, 2013
750a1e7
Clear del_post_switch in the new taskelt stub.
kristjanvalur Jul 10, 2013
a13f6e5
Fix PyTasklet_New_M
kristjanvalur Jul 19, 2013
79af2ab
don't treat cstate/initial stub as PyObjects
kristjanvalur Jul 19, 2013
bee3bf2
Fix the tealet model.
kristjanvalur Jul 19, 2013
ca37c6e
Fix unittests to run. Correcly assert relatedness.
kristjanvalur Jul 19, 2013
896f9fb
PyTasklet_New_M is no longer needed.
kristjanvalur Jul 19, 2013
ddaa211
Add feature to allocate extra data to tealets by giving an extra size.
kristjanvalur Jul 20, 2013
73398f6
rename struct _tasklet to struct PyTaskletObject.
kristjanvalur Jul 20, 2013
082c272
Reorganize. Put the tealet switching code into stackless_tealet.c/.h
kristjanvalur Jul 20, 2013
c366b48
Make the running of the stub from main explicit about setting the 'main'
kristjanvalur Jul 20, 2013
cba21c7
Fix handling of extra_data (and id) when duplicating tealets
kristjanvalur Jul 21, 2013
d176dca
Link susptended tasklet tealets in a chain.
kristjanvalur Jul 21, 2013
3ae9c9f
fix slp_kill_tasks_with_stacks()
kristjanvalur Jul 21, 2013
1add5d3
clean up unused stuff.
kristjanvalur Jul 21, 2013
ffcb696
Remove the platf/ files from the solution, and from being included.
kristjanvalur Jul 21, 2013
29394d7
Clean up tealet state when python thread state is cleared.
kristjanvalur Jul 21, 2013
781bb42
Clean up initial stub for test_outside()
kristjanvalur Jul 21, 2013
440a93d
Fix 'runcount' during tasklet kill and cleanup.
kristjanvalur Jul 22, 2013
04cf382
Don't recreate a 'stub' every time stackless is entered, just keep th…
kristjanvalur Jul 29, 2013
4abd89c
Add stack arithmetic support to tealets, to measure stack pos.
kristjanvalur Jul 29, 2013
3098540
Re-implement stack spilling for pickling.
kristjanvalur Jul 29, 2013
9694d49
Re-enable stack spilling for eval loop.
kristjanvalur Jul 29, 2013
e924909
Recreate initial stub if found higher on the stack.
kristjanvalur Jul 29, 2013
5a01335
Change a todo comment.
kristjanvalur Jul 29, 2013
7bb7ab6
Minor cleanup
kristjanvalur Jul 29, 2013
627c5f6
Remove the old "platf" directory.
kristjanvalur Jul 29, 2013
561f49a
Create new branch
kristjanvalur Jul 29, 2013
fadd0f3
Merge with 2.7-slp
kristjanvalur Jul 29, 2013
d5d606a
fix incorrect merge
kristjanvalur Jul 29, 2013
2f8941a
Simplify the main tasklet handling. Instead of having to deal with
kristjanvalur Aug 18, 2013
a5896de
Merge with 2.7-slp
kristjanvalur Sep 3, 2013
5e05326
Cosmetic cleanup after merge
kristjanvalur Sep 3, 2013
acdc044
Fix merge. Tasklet's thread state is now in task->tstate
kristjanvalur Sep 3, 2013
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Clear del_post_switch in the new taskelt stub.
  • Loading branch information
kristjanvalur committed Jul 10, 2013
commit 750a1e738b0b4623a5f9946551bbafe7d1b78005
1 change: 1 addition & 0 deletions Stackless/core/stacklesseval.c
Original file line number Diff line number Diff line change
Expand Up @@ -153,6 +153,7 @@ static tealet_t *tasklet_stub_func(tealet_t *me, void *arg)
PyFrameObject *f = ts->frame;
ts->frame = NULL;
ts->st.nesting_level = 0;
Py_CLEAR(ts->st.del_post_switch);
slp_run_tasklet(f);
/* We should never return. The switch back is performed
* lower on the stack, in tasklet_endv
Expand Down