...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
Spur: Provide unpinObject: for InterpreterProxy.
Fix initialization of the heap-resident remembered set added by VMMaker.oscog-eem.827. It must be created /after/ old space is initialized.
Fix two become bugs surfaced when adding/removing inst vars to/from Association, Binding et al. First, the class table must be scanned to ensure there are no forwarders to classes (much cheaper than the full hierarchy walk to follow method dictionaries etc that was done). Second, machine code methods that gain a new reference through become must get added to the youngReferrers. Add a new become effect flag, OldBecameNew that captures this and respond to it in CoInterpreter>>postBecomeAction: by adding all methods to youngReferrers so that on the next scavenge all will be made right.
Fix GC of machine code, which must follow forwarders when doing markAndTraceLiteral: and again add to youngReferrers if following gains a new ref. Refactoring of markAndTraceLiteral: into markAndTraceLiteral:in:at: et al required.
Fix assert in addFreeSubTree:.
General: Support the alternate bytecode set header in all VMs to ease testing of multiple bytecode sets. This means methods with the sign bit set have no primitive field and a larger num literals field, but no more.
Fix longPrintOop: (actually printOopShortInner:) for global variable printing in face of new Environments.
Cogit: Clean up adding to the youngReferrers by providing ensureInYoungReferrers:. Since there always is room on youngReferrers, nuke roomOnYoungReferrersList, canLinkToYoungClasses and caller code, simplifying ceSend:super:to:numArgs: etc.
Fix assert in followForwardedLiteralsIn:
General: Change the scanning for initial nils scheme in the StackToRegisterMappingCogit to answer the number of push nils in a bytecode, instead of whether the bytecode is a push nil. Refactor genReturnTopFromBlock into genBlockReturn. These changes accomodate Sista.
Rationalize the length functions, deleting byteLengthOf:, fetchLong32LengthOf: & fetchWordLengthOf: and providing numBytesOf:, num16BitUnitsOf:, num32BitUnitsOf:, num64BitUnitsOf: and numBytesOf:.
Provide fetch/storeShort16:ofObject:[withValue:] and fetch/storeLong64:ofObject:[withValue:].
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
frank
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
frank
Eliot (phone)
On 5 August 2014 16:00, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
Mainly I'm trying to figure out how to map "kind of VM" to a file name. I just noticed that http://www.mirandabanda.org/files/Cog/VM/VM.r3058/ has a cogmtlinuxht, but not a cogmtlinux, VM. But there are both coglinux and coglinuxht and images, so it looks like MT and HT are orthogonal switches (on Linux, at least). If they are, that's great, and I need to extend my existing kind-of-VM to reflect this, because at the moment it knows about :mt, :spur and :normal VMs, whereas it might need to know about :mtht, :mt and :ht VMs. Make sense? (https://github.com/squeak-smalltalk/squeak-ci/blob/master/lib/squeak-ci/cog.... has my horrible hacks: look at cog_location and filename for the current mapping of kind-of-VM -> string.
frank
frank
Eliot (phone)
On Tue, Aug 5, 2014 at 8:13 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 16:00, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com
wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a
heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
Mainly I'm trying to figure out how to map "kind of VM" to a file name. I just noticed that http://www.mirandabanda.org/files/Cog/VM/VM.r3058/ has a cogmtlinuxht, but not a cogmtlinux, VM. But there are both coglinux and coglinuxht and images, so it looks like MT and HT are orthogonal switches (on Linux, at least).
Yes. And there is no such switch elsewhere. And ITIMER will eventually die the death.
If they are, that's great, and I need to extend my existing kind-of-VM to reflect this, because at the moment it knows about :mt, :spur and :normal VMs, whereas it might need to know about :mtht, :mt and :ht VMs. Make sense?
Yes.
(
https://github.com/squeak-smalltalk/squeak-ci/blob/master/lib/squeak-ci/cog.... has my horrible hacks: look at cog_location and filename for the current mapping of kind-of-VM -> string.
frank
On 5 August 2014 17:43, Eliot Miranda eliot.miranda@gmail.com wrote:
On Tue, Aug 5, 2014 at 8:13 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 16:00, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
Mainly I'm trying to figure out how to map "kind of VM" to a file name. I just noticed that http://www.mirandabanda.org/files/Cog/VM/VM.r3058/ has a cogmtlinuxht, but not a cogmtlinux, VM. But there are both coglinux and coglinuxht and images, so it looks like MT and HT are orthogonal switches (on Linux, at least).
Yes. And there is no such switch elsewhere. And ITIMER will eventually die the death.
With 3063 has ITIMER died the death? (I ask because there's no coglinux VM, only coglinuxht.)
frank
If they are, that's great, and I need to extend my existing kind-of-VM to reflect this, because at the moment it knows about :mt, :spur and :normal VMs, whereas it might need to know about :mtht, :mt and :ht VMs. Make sense?
Yes.
(https://github.com/squeak-smalltalk/squeak-ci/blob/master/lib/squeak-ci/cog.... has my horrible hacks: look at cog_location and filename for the current mapping of kind-of-VM -> string.
frank
-- best, Eliot
Hi Frank,
On Sep 5, 2014, at 2:06 PM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 17:43, Eliot Miranda eliot.miranda@gmail.com wrote:
On Tue, Aug 5, 2014 at 8:13 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 16:00, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote:
...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/.
CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
Mainly I'm trying to figure out how to map "kind of VM" to a file name. I just noticed that http://www.mirandabanda.org/files/Cog/VM/VM.r3058/ has a cogmtlinuxht, but not a cogmtlinux, VM. But there are both coglinux and coglinuxht and images, so it looks like MT and HT are orthogonal switches (on Linux, at least).
Yes. And there is no such switch elsewhere. And ITIMER will eventually die the death.
With 3063 has ITIMER died the death? (I ask because there's no coglinux VM, only coglinuxht.)
There is a Cog ITIMER VM but no Spur ITIMER VM. I can add one if requested but hope that it won't be needed.
frank
If they are, that's great, and I need to extend my existing kind-of-VM to reflect this, because at the moment it knows about :mt, :spur and :normal VMs, whereas it might need to know about :mtht, :mt and :ht VMs. Make sense?
Yes.
(https://github.com/squeak-smalltalk/squeak-ci/blob/master/lib/squeak-ci/cog.... has my horrible hacks: look at cog_location and filename for the current mapping of kind-of-VM -> string.
frank
-- best, Eliot
On 6 September 2014 15:13, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Sep 5, 2014, at 2:06 PM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 17:43, Eliot Miranda eliot.miranda@gmail.com wrote:
On Tue, Aug 5, 2014 at 8:13 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 16:00, Eliot Miranda eliot.miranda@gmail.com wrote:
Hi Frank,
On Aug 5, 2014, at 2:20 AM, Frank Shearar frank.shearar@gmail.com wrote:
On 5 August 2014 03:49, Eliot Miranda eliot.miranda@gmail.com wrote: > ...at http://www.mirandabanda.org/files/Cog/VM/VM.r3058/. > > CogVM binaries as per VMMaker.oscog-eem.842/r3058
I'll update CI this evening.
Quick question - for the Linux VMs, am I correct in thinking that MT VMs are _always_ HT? (And that on Windows they are never?)
Mac and Win VMs have only heartbeat threads. Linux VMs have either a heartbeat thread or the ITIMER heartbeat. If the linux archive contains "ht" it's a threaded heartbeat VM, period. The naming is screwed up because ITIMER used to be the only option on linux. Would changing the names so that linux ITIMER VMs were singled out be useful?
Mainly I'm trying to figure out how to map "kind of VM" to a file name. I just noticed that http://www.mirandabanda.org/files/Cog/VM/VM.r3058/ has a cogmtlinuxht, but not a cogmtlinux, VM. But there are both coglinux and coglinuxht and images, so it looks like MT and HT are orthogonal switches (on Linux, at least).
Yes. And there is no such switch elsewhere. And ITIMER will eventually die the death.
With 3063 has ITIMER died the death? (I ask because there's no coglinux VM, only coglinuxht.)
There is a Cog ITIMER VM but no Spur ITIMER VM. I can add one if requested but hope that it won't be needed.
I don't need one - I just made CI use an ht one when on a linux box. I just wondered because 3063 doesn't have one, and 3060 did
frank
frank
If they are, that's great, and I need to extend my existing kind-of-VM to reflect this, because at the moment it knows about :mt, :spur and :normal VMs, whereas it might need to know about :mtht, :mt and :ht VMs. Make sense?
Yes.
(https://github.com/squeak-smalltalk/squeak-ci/blob/master/lib/squeak-ci/cog.... has my horrible hacks: look at cog_location and filename for the current mapping of kind-of-VM -> string.
frank
-- best, Eliot
squeak-dev@lists.squeakfoundation.org