[Vm-dev] VM Maker: VMMaker.oscog-eem.199.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Aug 10 21:10:13 UTC 2012


Eliot Miranda uploaded a new version of VMMaker to project VM Maker:
http://source.squeak.org/VMMaker/VMMaker.oscog-eem.199.mcz

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

Name: VMMaker.oscog-eem.199
Author: eem
Time: 10 August 2012, 2:09:02.546 pm
UUID: 1b0cff66-2042-49a7-ae74-5fa119256732
Ancestors: VMMaker.oscog-eem.198

Rename parameter to eliminate translation-time warning.

=============== Diff against VMMaker.oscog-eem.198 ===============

Item was changed:
  ----- Method: Cogit>>linkSendAt:in:to:offset:receiver: (in category 'in-line cacheing') -----
+ linkSendAt: callSiteReturnAddress in: sendingMethod to: targetMethod offset: theEntryOffset receiver: receiver
- linkSendAt: callSiteReturnAddress in: sendingMethod to: targetMethod offset: entryOffset receiver: receiver
  	<api>
  	<var: #sendingMethod type: #'CogMethod *'>
  	<var: #targetMethod type: #'CogMethod *'>
  	| inlineCacheTag address extent |
  	self cppIf: NewspeakVM
+ 		ifTrue: [self assert: (theEntryOffset = cmEntryOffset
+ 							or: [theEntryOffset = cmNoCheckEntryOffset
+ 							or: [theEntryOffset = cmDynSuperEntryOffset]])]
+ 		ifFalse: [self assert: (theEntryOffset = cmEntryOffset
+ 							or: [theEntryOffset = cmNoCheckEntryOffset])].
- 		ifTrue: [self assert: (entryOffset = cmEntryOffset
- 							or: [entryOffset = cmNoCheckEntryOffset
- 							or: [entryOffset = cmDynSuperEntryOffset]])]
- 		ifFalse: [self assert: (entryOffset = cmEntryOffset
- 							or: [entryOffset = cmNoCheckEntryOffset])].
  	self assert: (callSiteReturnAddress between: methodZoneBase and: methodZone zoneLimit).
+ 	inlineCacheTag := theEntryOffset = cmNoCheckEntryOffset
- 	inlineCacheTag := entryOffset = cmNoCheckEntryOffset
  						ifTrue: [targetMethod selector "i.e. no change"]
  						ifFalse: [objectRepresentation inlineCacheTagForInstance: receiver].
  	(sendingMethod cmRefersToYoung not
  	 and: [(objectRepresentation inlineCacheTagIsYoung: inlineCacheTag)]) ifTrue:
  		[self assert: (methodZone occurrencesInYoungReferrers: sendingMethod) = 0.
  		 sendingMethod cmRefersToYoung: true.
  		 methodZone addToYoungReferrers: sendingMethod].
+ 	address := targetMethod asInteger + theEntryOffset.
- 	address := targetMethod asInteger + entryOffset.
  	extent := backEnd
  				rewriteInlineCacheAt: callSiteReturnAddress
  				tag: inlineCacheTag
  				target: address.
  	processor
  		flushICacheFrom: callSiteReturnAddress - 1 - extent
  		to: callSiteReturnAddress - 1!



More information about the Vm-dev mailing list