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

commits at source.squeak.org commits at source.squeak.org
Wed Apr 6 17:28:42 UTC 2016


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

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

Name: VMMaker.oscog-eem.1773
Author: eem
Time: 6 April 2016, 10:23:32.090149 am
UUID: 7ff9cf9c-6983-47fc-96f1-c3f11eda1376
Ancestors: VMMaker.oscog-cb.1772

Cogit:
Follow selectors in the openPICList post Spur become.

Move the compare constant convenience up.

=============== Diff against VMMaker.oscog-cb.1772 ===============

Item was added:
+ ----- Method: CogMethodZone>>followForwardedLiteralsInOpenPICList (in category 'jit - api') -----
+ followForwardedLiteralsInOpenPICList
+ 	<option: #SpurObjectMemory>
+ 	| openPIC |
+ 	<var: #openPIC type: #'CogMethod *'>
+ 	openPIC := openPICList.
+ 	[openPIC notNil] whileTrue:
+ 		[cogit followForwardedLiteralsIn: openPIC.
+ 		 openPIC := self cCoerceSimple: openPIC nextOpenPIC to: #'CogMethod *'.]!

Item was changed:
  ----- Method: Cogit>>cogitPostGCAction: (in category 'jit - api') -----
  cogitPostGCAction: gcMode
  	<api>
  	(gcMode = GCModeFull
  	 and: [objectRepresentation allYoungObjectsAgeInFullGC]) ifTrue:
  		[methodZone voidYoungReferrersPostTenureAll].
+ 	self cppIf: SPURVM ifTrue:
+ 		[gcMode = GCModeBecome ifTrue:
+ 			[methodZone followForwardedLiteralsInOpenPICList]].
  	"Post-GC update every full method's objectHeader to whatever it needs to be"
  	self assert: self allMethodsHaveCorrectHeader.
  	"The youngReferrers should be correct after a GC since that is the point at which it is
  	 pruned.  But at other times false positives or free methods on the list are acceptable."
  	self assert: ((gcMode noMask: GCModeFull+GCModeNewSpace) or: [methodZone kosherYoungReferrers])!

Item was added:
+ ----- Method: SimpleStackBasedCogit>>genCompConstant:R: (in category 'bytecode generator support') -----
+ genCompConstant: constant R: register
+ 	<inline: true>
+ 	^ (objectRepresentation shouldAnnotateObjectReference: constant)
+ 		ifTrue: [ self annotate: (self CmpCw: constant R: register) objRef: constant ]
+ 		ifFalse: [ self CmpCq: constant R: register ]
+ 	!

Item was removed:
- ----- Method: StackToRegisterMappingCogit>>genCompConstant:R: (in category 'bytecode generator support') -----
- genCompConstant: constant R: register
- 	<inline: true>
- 	^ (objectRepresentation shouldAnnotateObjectReference: constant)
- 		ifTrue: [ self annotate: (self CmpCw: constant R: register) objRef: constant ]
- 		ifFalse: [ self CmpCq: constant R: register ]
- 	!



More information about the Vm-dev mailing list