[Vm-dev] Differentiate ProcessList and LinkedList - incomplete

Ben Coman btc at openinworld.com
Sat Jan 9 09:40:09 UTC 2016

LinkedList is a generic concept but historically has been intimately
coupled to Process scheduling.  While trying to make LinkedList API
more generic, Pharo inadvertently introduced some problems with
Processes, so we decided to copy LinkedList to ProcessList so this can
remain specialised for Process scheduling, allowing LinkedList the
opportunity to be more generic.

Here is some history at fogbugz.pharo.com:
  Case 5602 "LinkedList at: index putLink: aLink"
  Case 10273 "Cleaning Linked List API"
  Case 15868 "Differentiate ProcessList and LinkedList"
  Case 15871 "enable ProcessList"
  Case 17277 "newSpecialObjectsArray should return a process list
instead of a linked list at item 41"

Semaphore rather intimately manipulates the process list, but it seems
to have been missed as it still inherits from LinkedList.  Should it
subclass ProcessList instead?

I guess FreeTypeCacheLinkedList and Stack can remain where they are.

So also a question for the Squeak, Cuis & Newspeak communities...
There are various references to LinkedList in the VM [1].  Currently
only in comments but there are hints down the track there could be
more direct use.  So I am wondering how these groups would feel about
aligning with Pharo on this change, so the comments in the VM can be
updated accordingly?

cheers -ben

[1] https://git.io/vuQQk

More information about the Vm-dev mailing list