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

commits at source.squeak.org commits at source.squeak.org
Sat Jan 25 00:56:37 UTC 2014


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

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

Name: VMMaker.oscog-eem.592
Author: eem
Time: 24 January 2014, 4:52:54.33 pm
UUID: 98758c41-4bb5-4d45-87c9-77e5cf416120
Ancestors: VMMaker.oscog-eem.591

Fix regression in mapProfileState committed in VMMaker.oscog-eem.380.

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

Item was changed:
  ----- Method: StackInterpreter>>mapProfileState (in category 'object memory support') -----
  mapProfileState
  	(objectMemory shouldRemapObj: profileProcess) ifTrue:
  		[profileProcess := objectMemory remapObj: profileProcess].
  	(objectMemory shouldRemapObj: profileMethod) ifTrue:
+ 		[profileMethod := objectMemory remapObj: profileMethod].
- 		[profileMethod := objectMemory remapObj: profileProcess].
  	(objectMemory shouldRemapObj: profileSemaphore) ifTrue:
  		[profileSemaphore := objectMemory remapObj: profileSemaphore].
  	"The longRunningPrimitiveCheckMethod (LRPCM) is sampled in an interrupt.  Be very careful with it.
  	  If longRunningPrimitiveCheckSequenceNumber (LRPCSN) = statCheckForEvents then LRPCM has
  	  been recenty sampled and could be mapped or not, but it must be newMethod and we can simply
  	  copy newMethod.  If LRPCSN ~= statCheckForEvents then LRPCM must be some extant object and
  	  needs to be remapped."
  	self sqLowLevelMFence.
  	longRunningPrimitiveCheckMethod ifNotNil:
  		[longRunningPrimitiveCheckSequenceNumber = statCheckForEvents
  			ifTrue: [longRunningPrimitiveCheckMethod := newMethod]
  			ifFalse:
  				[(objectMemory shouldRemapObj: longRunningPrimitiveCheckMethod) ifTrue:
  					[longRunningPrimitiveCheckMethod := self remapObj: longRunningPrimitiveCheckMethod]].
  		 self sqLowLevelMFence].
  	longRunningPrimitiveCheckSemaphore ifNotNil:
  		[(objectMemory shouldRemapObj: longRunningPrimitiveCheckSemaphore) ifTrue:
  			[longRunningPrimitiveCheckSemaphore := objectMemory remapObj: longRunningPrimitiveCheckSemaphore]]!



More information about the Vm-dev mailing list