Colin Putney uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cwp.501.mcz
==================== Summary ====================
Name: System-cwp.501
Author: cwp
Time: 7 November 2012, 10:06:06.385 pm
UUID: 6cc43c45-80fd-43fd-bf05-13adf4e37864
Ancestors: System-dtl.500
When removing a class from the system, catch AttemptToWriteReadOnlyGlobal, and proceed with the modification.
=============== Diff against System-dtl.500 ===============
Item was changed:
----- Method: SystemDictionary>>forgetClass:logged: (in category 'classes and traits') -----
forgetClass: aClass logged: aBool
"Delete the class, aClass, from the system.
Note that this doesn't do everything required to dispose of a class - to do that use Class>>removeFromSystem."
aBool ifTrue: [SystemChangeNotifier uniqueInstance classRemoved: aClass fromCategory: aClass category].
self organization removeElement: aClass name.
Smalltalk removeFromStartUpList: aClass.
Smalltalk removeFromShutDownList: aClass.
aClass isObsolete ifFalse: [
(self associationAt: aClass name ifAbsent: [ nil ]) ifNotNil: [ :oldBinding |
| newBinding |
newBinding := oldBinding shallowCopy.
self replaceBinding: oldBinding in: aClass with: newBinding.
(self isThisBindingReferred: oldBinding) ifTrue: [
+ [oldBinding value: nil]
+ on: AttemptToWriteReadOnlyGlobal
+ do: [:ex | true].
- oldBinding value: nil.
Undeclared add: oldBinding ] ] ].
self removeKey: aClass name ifAbsent: [].
self flushClassNameCache!
Colin Putney uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-cwp.501.mcz
==================== Summary ====================
Name: System-cwp.501
Author: cwp
Time: 7 November 2012, 10:06:06.385 pm
UUID: 6cc43c45-80fd-43fd-bf05-13adf4e37864
Ancestors: System-dtl.500
When removing a class from the system, catch AttemptToWriteReadOnlyGlobal, and proceed with the modification.
=============== Diff against System-dtl.500 ===============
Item was changed:
----- Method: SystemDictionary>>forgetClass:logged: (in category 'classes and traits') -----
forgetClass: aClass logged: aBool
"Delete the class, aClass, from the system.
Note that this doesn't do everything required to dispose of a class - to do that use Class>>removeFromSystem."
aBool ifTrue: [SystemChangeNotifier uniqueInstance classRemoved: aClass fromCategory: aClass category].
self organization removeElement: aClass name.
Smalltalk removeFromStartUpList: aClass.
Smalltalk removeFromShutDownList: aClass.
aClass isObsolete ifFalse: [
(self associationAt: aClass name ifAbsent: [ nil ]) ifNotNil: [ :oldBinding |
| newBinding |
newBinding := oldBinding shallowCopy.
self replaceBinding: oldBinding in: aClass with: newBinding.
(self isThisBindingReferred: oldBinding) ifTrue: [
+ [oldBinding value: nil]
+ on: AttemptToWriteReadOnlyGlobal
+ do: [:ex | true].
- oldBinding value: nil.
Undeclared add: oldBinding ] ] ].
self removeKey: aClass name ifAbsent: [].
self flushClassNameCache!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.500.mcz
==================== Summary ====================
Name: System-dtl.500
Author: dtl
Time: 7 November 2012, 11:34:11.125 pm
UUID: 004afe3f-701a-441e-8b2a-b0288f54beb2
Ancestors: System-eem.499
In SmalltalkImage>>imageFormatVersion, if primitiveImageFormatVersion is not supported try vmParameterAt: 41
=============== Diff against System-eem.499 ===============
Item was changed:
----- Method: SmalltalkImage>>imageFormatVersion (in category 'image') -----
imageFormatVersion
"Answer an integer identifying the type of image in memory. The image version number may
identify the format of the image (e.g. 32 or 64-bit word size) or specific requirements
of the image (e.g. block closure support required). This invokes an optional primitive
that may not be available on all virtual machines."
"Smalltalk image imageFormatVersion"
<primitive: 'primitiveImageFormatVersion'>
+
+ "Cog provides a VM parameter"
+ ^[Smalltalk vm vmParameterAt: 41]
+ on: Error
+ do: [self notify: 'This virtual machine does not support the optional ',
+ 'primitive #primitiveImageFormatVersion' translated.
+ nil]
+ !
- self notify: 'This virtual machine does not support the optional primitive #primitiveImageFormatVersion' translated.
- ^''!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.500.mcz
==================== Summary ====================
Name: System-dtl.500
Author: dtl
Time: 7 November 2012, 11:34:11.125 pm
UUID: 004afe3f-701a-441e-8b2a-b0288f54beb2
Ancestors: System-eem.499
In SmalltalkImage>>imageFormatVersion, if primitiveImageFormatVersion is not supported try vmParameterAt: 41
=============== Diff against System-eem.499 ===============
Item was changed:
----- Method: SmalltalkImage>>imageFormatVersion (in category 'image') -----
imageFormatVersion
"Answer an integer identifying the type of image in memory. The image version number may
identify the format of the image (e.g. 32 or 64-bit word size) or specific requirements
of the image (e.g. block closure support required). This invokes an optional primitive
that may not be available on all virtual machines."
"Smalltalk image imageFormatVersion"
<primitive: 'primitiveImageFormatVersion'>
+
+ "Cog provides a VM parameter"
+ ^[Smalltalk vm vmParameterAt: 41]
+ on: Error
+ do: [self notify: 'This virtual machine does not support the optional ',
+ 'primitive #primitiveImageFormatVersion' translated.
+ nil]
+ !
- self notify: 'This virtual machine does not support the optional primitive #primitiveImageFormatVersion' translated.
- ^''!
David T. Lewis uploaded a new version of System to project The Trunk:
http://source.squeak.org/trunk/System-dtl.500.mcz
==================== Summary ====================
Name: System-dtl.500
Author: dtl
Time: 7 November 2012, 11:34:11.125 pm
UUID: 004afe3f-701a-441e-8b2a-b0288f54beb2
Ancestors: System-eem.499
In SmalltalkImage>>imageFormatVersion, if primitiveImageFormatVersion is not supported try vmParameterAt: 41
=============== Diff against System-eem.499 ===============
Item was changed:
----- Method: SmalltalkImage>>imageFormatVersion (in category 'image') -----
imageFormatVersion
"Answer an integer identifying the type of image in memory. The image version number may
identify the format of the image (e.g. 32 or 64-bit word size) or specific requirements
of the image (e.g. block closure support required). This invokes an optional primitive
that may not be available on all virtual machines."
"Smalltalk image imageFormatVersion"
<primitive: 'primitiveImageFormatVersion'>
+
+ "Cog provides a VM parameter"
+ ^[Smalltalk vm vmParameterAt: 41]
+ on: Error
+ do: [self notify: 'This virtual machine does not support the optional ',
+ 'primitive #primitiveImageFormatVersion' translated.
+ nil]
+ !
- self notify: 'This virtual machine does not support the optional primitive #primitiveImageFormatVersion' translated.
- ^''!