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

commits at source.squeak.org commits at source.squeak.org
Wed Dec 18 09:02:18 UTC 2019


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

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

Name: VMMaker.oscog-eem.2619
Author: eem
Time: 18 December 2019, 1:02:04.38318 am
UUID: 32d2df83-b3bb-4e3e-8611-914c4da32d05
Ancestors: VMMaker.oscog-eem.2618

Ensure the methodZoneBase is correctly aligned after initialization, ready for the first method.

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

Item was added:
+ ----- Method: Cogit>>alignMethodZoneBase (in category 'initialization') -----
+ alignMethodZoneBase
+ 	"Align methodZoneBase to that for the start of a method."
+ 	| oldBase |
+ 	oldBase := methodZoneBase.
+ 	methodZoneBase := methodZone roundUpLength: methodZoneBase.
+ 	backEnd stopsFrom: oldBase to: methodZoneBase - 1!

Item was changed:
  ----- Method: Cogit>>initializeCodeZoneFrom:upTo: (in category 'initialization') -----
  initializeCodeZoneFrom: startAddress upTo: endAddress
  	<api>
  	self initializeBackend.
  	backEnd stopsFrom: startAddress to: endAddress - 1.
  	self cCode: [self sqMakeMemoryExecutableFrom: startAddress To: endAddress]
  		inSmalltalk:
  			[startAddress = self class guardPageSize ifTrue:
  				[backEnd stopsFrom: 0 to: endAddress - 1].
  			 self initializeProcessor].
  	codeBase := methodZoneBase := startAddress.
  	minValidCallAddress := (codeBase min: coInterpreter interpretAddress)
  								min: coInterpreter primitiveFailAddress.
  	methodZone manageFrom: methodZoneBase to: endAddress.
  	self maybeGenerateCheckFeatures.
  	self maybeGenerateCheckLZCNT.
  	self maybeGenerateICacheFlush.
  	self generateVMOwnerLockFunctions.
  	self genGetLeafCallStackPointer.
  	self generateStackPointerCapture.
  	self generateTrampolines.
  	self computeEntryOffsets.
  	self computeFullBlockEntryOffsets.
  	self generateClosedPICPrototype.
+ 	self alignMethodZoneBase.
  	"repeat so that now the methodZone ignores the generated run-time"
  	methodZone manageFrom: methodZoneBase to: endAddress.
  	"N.B. this is assumed to be the last thing done in initialization; see Cogit>>initialized"
  	self generateOpenPICPrototype!



More information about the Vm-dev mailing list