Hi David,
On Jan 29, 2016, at 10:25 AM, David T. Lewis lewis@mail.msen.com wrote:
Is "params size >= 54" supposed to be a check whether its running Spur or Cog? Note that we have Smalltalk isRunningSpur for that check. Besides that, however, is the question whether this shouldn't just be on the 4.6 branch?
The size of the parameter array varies in different VM code bases.
Dave, I've noticed this recurring theme that you don't want to move to Spur. Is it true? Why?
No, that is not true.
I like to maintain backward compatibility where possible, and I find that a little bit of effort on that front can prevent a great deal of pain and confusion down the road. Many years of maintaining OSProcess over a wide range image versions says I am not wrong. There is no need any ConfigurationOf or SqueakMap updates, you can pretty much load it into any image and it just works.
I get that and I don't want to debilitate developing packages that run I both variants. But in the case of memory management the two systems are very different. Spur can't support object age. Spur provides pinning. The two have very different garbage collectors and compactors. In developing policy code to control the gcs it will inevitably require a different approach to effectively control either. So in the realm of GC (including this, which is reporting GC stats) I think it makes sense to let them diverge. AFAIA OSProcess doesn't depend on GC control facilities so it shouldn't affect you.
Where it may effect you is that pinning could conceivably allow you to lift up parameter processing to create the pointer arrays from that rather complex primitive into the image, given an addressOf: prim. Just as I hope the threaded FFI will make it possible to interact with output pipes much more reliably and efficiently.
Dave
_,,,^..^,,,_ (phone) best, Eliot
On Thu, Jan 28, 2016 at 10:37 PM, commits@source.squeak.org wrote: David T. Lewis uploaded a new version of System to project The Trunk: http://source.squeak.org/trunk/System-dtl.790.mcz
==================== Summary ====================
Name: System-dtl.790 Author: dtl Time: 29 January 2016, 11:37:48.065507 pm UUID: 1ccde720-42a2-41fe-bcc4-cb9694d5af07 Ancestors: System-eem.789
Update vmStatisticsReportString to restore memory stats when running on pre-spur VM.
=============== Diff against System-eem.789 ===============