[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