[Vm-dev] Small finding about NewObjectMemory>>clone:

Dimitry Golubovsky golubovsky at gmail.com
Tue Aug 16 01:58:23 UTC 2011


Hi,

I have just spotted that the method NewObjectMemory>>clone as found in
VMMaker-oscog-IgorStasenko.116.mcz (with hyphen):

clone: oop
	"Return a shallow copy of the given object. May cause GC"
	"Assume: Oop is a real object, not a small integer.
	 Override to assert it's not a married context"
	self assert: ((coInterpreter isContext: oop) not
				or: [(coInterpreter isMarriedOrWidowedContext: oop) not]).
	^super clone: oop

causes compilation error in the interpreter.

It seems that it has been fixed in VMMaker.oscog-eem.116.mcz (with dot)

clone: obj
	"Return a shallow copy of the given object. May cause GC"
	"Assume: Oop is a real object, not a small integer.
	 Override to assert it's not a married context"
	self assert: ((coInterpreter isContext: obj) not
				or: [(coInterpreter isMarriedOrWidowedContext: obj) not]).
	^super clone: obj

basically s/oop/obj/g - I had to make similar change in my local copy
of VMMaker.

So, Igor: please merge this into the CMMaker-oscog branch.

Thanks.

PS Is this some kind of inliner bug? When super method is inlined,
argument identifier remains the same instead of being substituted.

-- 
Dimitry Golubovsky

Anywhere on the Web


More information about the Vm-dev mailing list