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

commits at source.squeak.org commits at source.squeak.org
Wed Mar 18 01:41:31 UTC 2015


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

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

Name: VMMaker.oscog-eem.1096
Author: eem
Time: 17 March 2015, 6:39:31.258 pm
UUID: a138f73f-adc5-4a10-af7b-b1a8276295dd
Ancestors: VMMaker.oscog-eem.1095

Fix regression in generateObjectRepresentationTrampolines.
Of /course/ ceScheduleScavengeTrampoline needs to
be a safe trampoline.

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

Item was changed:
  ----- Method: CogObjectRepresentationForSpur>>generateObjectRepresentationTrampolines (in category 'initialization') -----
  generateObjectRepresentationTrampolines
  	"Do the store check.  Answer the argument for the benefit of the code generator;
  	 ReceiverResultReg may be caller-saved and hence smashed by this call.  Answering
  	 it allows the code generator to reload ReceiverResultReg cheaply.
  	 In Spur the only thing we leave to the run-time is adding the receiver to the
  	 remembered set and setting its isRemembered bit."
  	ceStoreCheckTrampoline := cogit
  									genTrampolineFor: #remember:
  									called: 'ceStoreCheckTrampoline'
  									arg: ReceiverResultReg
  									result: cogit returnRegForStoreCheck.
  	ceScheduleScavengeTrampoline := cogit
+ 											genSafeTrampolineFor: #ceScheduleScavenge
- 											genTrampolineFor: #ceScheduleScavenge
  											called: 'ceScheduleScavengeTrampoline'.
  	ceSmallActiveContextInMethodTrampoline := self genActiveContextTrampolineLarge: false inBlock: false called: 'ceSmallMethodContext'.
  	ceSmallActiveContextInBlockTrampoline := self genActiveContextTrampolineLarge: false inBlock: true called: 'ceSmallBlockContext'.
  	ceLargeActiveContextInMethodTrampoline := self genActiveContextTrampolineLarge: true inBlock: false called: 'ceLargeMethodContext'.
  	ceLargeActiveContextInBlockTrampoline := self genActiveContextTrampolineLarge: true inBlock: true called: 'ceLargeBlockContext'!



More information about the Vm-dev mailing list