I was planning to have a go at the issue I logged to make the VM time monotonic... https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/36
I think its within my capability, but I wanted to get an understanding of how time was currently handled cross-platform - so I started developing a chart of how the code maps between different platforms and within a platform e.g. sqUnixITimerHeartbeat versus sqUnixITimerTickerHeartbeat.
You can see what I was aiming for here... http://files.openinworld.com/opensmalltalk-vm/VM-Time/
The chart is a bit expansive and may be awkward to view in a browser. I used yEd to develop it and that provides a nice interface to navigate it. https://www.yworks.com/products/yed
However one problem is the chart is hard to maintain. I developed it mostly in one sitting and later when I came back to revise it, I found it hard to track where I was up to. The manual process was also a bit error prone. So my plan now is to use libclang via FFI to parse the platform sources together with Roassal to automate producing charts from the code.
cheers -ben
Hi Ben,
On Sat, Sep 24, 2016 at 6:11 AM, Ben Coman btc@openinworld.com wrote:
I was planning to have a go at the issue I logged to make the VM time monotonic... https://github.com/OpenSmalltalk/opensmalltalk-vm/issues/36
I think its within my capability, but I wanted to get an understanding of how time was currently handled cross-platform - so I started developing a chart of how the code maps between different platforms and within a platform e.g. sqUnixITimerHeartbeat versus sqUnixITimerTickerHeartbeat.
You can see what I was aiming for here... http://files.openinworld.com/opensmalltalk-vm/VM-Time/
For me, one really interesting breakdown is the code in terms of what is the Cog API (all microseconds based) vs the pre-Cog one (milliseconds and seconds).
The chart is a bit expansive and may be awkward to view in a browser.
I used yEd to develop it and that provides a nice interface to navigate it. https://www.yworks.com/products/yed
However one problem is the chart is hard to maintain. I developed it mostly in one sitting and later when I came back to revise it, I found it hard to track where I was up to. The manual process was also a bit error prone. So my plan now is to use libclang via FFI to parse the platform sources together with Roassal to automate producing charts from the code.
cheers -ben
_,,,^..^,,,_ best, Eliot
vm-dev@lists.squeakfoundation.org