[Vm-dev] VM Maker: Cog-eem.226.mcz
commits at source.squeak.org
commits at source.squeak.org
Mon Dec 1 22:38:07 UTC 2014
Eliot Miranda uploaded a new version of Cog to project VM Maker:
http://source.squeak.org/VMMaker/Cog-eem.226.mcz
==================== Summary ====================
Name: Cog-eem.226
Author: eem
Time: 1 December 2014, 2:37:45.387 pm
UUID: c30f1c01-ee25-4738-b82f-fef59c42de24
Ancestors: Cog-eem.225
Spur Bootstrap:
Provide missing SmallFloat64 clone override and
provide a consistent comment for SmallInteger's.
Provide an Object>>clone that copes with need to
GC when memory is low.
=============== Diff against Cog-eem.225 ===============
Item was added:
+ ----- Method: SpurBootstrapPrototypes>>BehaviorPROTOTYPEisCompiledMethodClass (in category 'method prototypes') -----
+ BehaviorPROTOTYPEisCompiledMethodClass
+ "Answer whether the receiver has compiled method instances that mix pointers and bytes."
+ ^self instSpec >= 24!
Item was added:
+ ----- Method: SpurBootstrapPrototypes>>ObjectPROTOTYPEclone (in category 'method prototypes') -----
+ ObjectPROTOTYPEclone
+ "Answer a shallow copy of the receiver."
+ <primitive: 148 error: ec>
+ | class newObject |
+ ec == #'insufficient object memory' ifFalse:
+ [^self primitiveFailed].
+ "If the primitive fails due to insufficient memory, instantiate via basicNew: to invoke
+ the garbage collector before retrying, and use copyFrom: to copy state."
+ newObject := (class := self class) isVariable
+ ifTrue:
+ [class isCompiledMethodClass
+ ifTrue:
+ [class newMethod: self basicSize - self initialPC + 1 header: self header]
+ ifFalse:
+ [class basicNew: self basicSize]]
+ ifFalse:
+ [class basicNew].
+ ^newObject copyFrom: self!
Item was added:
+ ----- Method: SpurBootstrapPrototypes>>SmallFloat64PROTOTYPEclone (in category 'method prototypes') -----
+ SmallFloat64PROTOTYPEclone
+ "Answer the receiver, because SmallFloat64s are unique."
+ ^self!
Item was added:
+ ----- Method: SpurBootstrapSqueakPrototypes>>SmallIntegerPROTOTYPEclone (in category 'method prototypes') -----
+ SmallIntegerPROTOTYPEclone
+ "Answer the receiver, because SmallIntegers are unique."
+ ^self!
More information about the Vm-dev
mailing list