Ticket #192 (assigned todo) — at Version 11
deprecated: tqueue pmc
Reported by: | coke | Owned by: | jkeenan |
---|---|---|---|
Priority: | normal | Milestone: | 1.0 |
Component: | core | Version: | trunk |
Severity: | medium | Keywords: | tqueue deprecated |
Cc: | Language: | ||
Patch status: | new | Platform: | all |
Description (last modified by coke) (diff)
The patch I just attached appears to satisfy the "before 1.0" deprecation requirement listed in DEPRECATED.pod. Parrot builds and passes all tests in make test. But since this is one of the few times I've ventured so far into Parrot's guts, so please note the following:
1. Basic approach was to grep the repository (fns . | xargs grep -in tqueue) and rip stuff out. Out went src/pmc/tqueue.pmc, t/pmc/tqueue.t and examples/pir/thr-primes.pir. Five tests were tossed out of t/pmc/threads.t and one test from t/op/gc.t. Ran makepmcrenumber to renumber PMCs. Updated MANIFEST.
Now, there may be some reason to take another look at the tests I ripped out, as those tests may be telling us something interesting about some other aspect of Parrot. On the other hand, if they were doing that, then they were not sufficiently focused tests to begin with.
2. Files I didn't touch: a. docs/book/ch05_pasm.pod: example of threading and long discussion beginning around line 2317. Note that this discussion says that "in the previous chapter" -- presumably, chap04 -- it is stated that Parrot has three different threading models. I couldn't locate any discussion of threading in docs/book/ch04_pir_subroutines.pod. So this section of ch05 needs revision for reasons above and beyond the discussion of tqueue.
b. languages/cardinal/src/classes/Queue.pir. See approx line 25. It appears that the Cardinal Queue class uses TQueue -- but I am not a Ruby programmer.
The patch was developed in the deprecate_tqueue branch in SVN. Please review it carefully and let me know whether it's okay to merge into trunk.
Thank you very much. kid51