[Vm-dev] VM Maker: Cog-eem.76.mcz

commits at source.squeak.org commits at source.squeak.org
Sat Sep 7 20:25:50 UTC 2013

Eliot Miranda uploaded a new version of Cog to project VM Maker:

==================== Summary ====================

Name: Cog-eem.76
Author: eem
Time: 7 September 2013, 1:25:36.672 pm
UUID: b037d52a-2e90-453d-9e0a-73358bdbd71c
Ancestors: Cog-eem.75

Update SpurBootstrap class comment.
Document idea of having prototype methods for different
Squeak/Pharo versions.

=============== Diff against Cog-eem.75 ===============

Item was changed:
  Object subclass: #SpurBootstrap
  	instanceVariableNames: 'oldHeap newHeap map reverseMap classToIndex oldInterpreter lastClassTablePage symbolMap methodClasses'
  	classVariableNames: ''
  	poolDictionaries: 'VMObjectIndices'
  	category: 'Cog-Bootstrapping'!
+ !SpurBootstrap commentStamp: 'eem 9/7/2013 13:23' prior: 0!
+ SpurBootstrap bootstraps an image in SpurMemoryManager format from a Squeak V3 + closures format.
- !SpurBootstrap commentStamp: 'eem 9/2/2013 13:26' prior: 0!
- SpurBootstrap bootstraps an image in CogMemoryManager format from a Squeak V3 + closures format.
  	(SpurBootstrap32 new on: '/Users/eliot/Cog/startreader.image')
  Instance Variables
+ 	classToIndex:			<Dictionary>
+ 	lastClassTablePage:	<Integer>
+ 	map:					<Dictionary>
+ 	methodClasses:		<Set>
+ 	newHeap:				<SpurMemoryManager>
+ 	oldHeap:				<NewObjectMemory>
+ 	oldInterpreter:			<StackInterpreterSimulator>
+ 	reverseMap:			<Dictionary>
+ 	symbolMap:				<Dictionary>
- 	classToIndex:		<Dictionary>
- 	map:		<Dictionary>
- 	newHeap:		<CogMemoryManager>
- 	oldHeap:		<NewObjectMemory>
- 	oldInterpreter:		<StackInterpreterSimulator>
  	- oldClass to new classIndex map
+ lastClassTablePage
+ 	- oop in newHeap of last classTable page.  U<sed in validation to filter-out class table.
+ methodClasses
+ 	- cache of methodClassAssociations for classes in which modified methods are installed
  	- oldObject to newObject map
  	- the output, bootstrapped image
  	- the input, image
  	- the interpreter associated with oldHeap, needed for a hack to grab WeakArray
+ reverseMap
+ 	- newObject to oldObject map
+ symbolMap
+ 	- symbol toi symbol oop in oldHeap, used to map prototype methdos to methods in oldHeap!
- !

Item was changed:
  ----- Method: SpurBootstrap>>prototypeClassNameMetaSelectorMethodDo: (in category 'method prototypes') -----
  prototypeClassNameMetaSelectorMethodDo: quaternaryBlock
+ 	"Evaluate aBlock with class name, class is meta, method and selector.
+ 	 For now find methods in class-side category #'method prototypes'.
+ 	 Scheme could be extended to have different protocols for different
+ 	 Squeak/Pharo versions."
- 	"Evaluate aBlock with class name, class is meta, method and selector."
  	(SpurBootstrap class organization listAtCategoryNamed: #'method prototypes') do:
  		[:protoSelector| | method className isMeta |
  		method := SpurBootstrap class >> protoSelector.
  		className := self classNameForPrototypeMethod: method.
  		(isMeta := className endsWith: 'class') ifTrue:
  			[className := (className allButLast: 5) asSymbol].
  			value: className
  			value: isMeta
  			value: (self selectorForPrototypeMethod: method)
  			value: method]!

More information about the Vm-dev mailing list