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

commits at source.squeak.org commits at source.squeak.org
Sun Mar 22 02:31:46 UTC 2020


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

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

Name: VMMaker.oscog-eem.2731
Author: eem
Time: 21 March 2020, 7:31:28.606014 pm
UUID: 3c8dda9e-4706-4c3d-8c58-a284c47f5705
Ancestors: VMMaker.oscog-eem.2730

Fix a slip in the previous commit that only shows up during simulaiton.

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

Item was changed:
  ----- Method: CoInterpreter>>compilationBreakpoint:classTag:isMNUCase: (in category 'debug support') -----
  compilationBreakpoint: selectorOop classTag: classTag isMNUCase: isMNUCase
  	<api>
  	<cmacro: '(sel, classTag, isMNU) do { \
  	if (numBytesOf(sel) == (isMNU ? -breakSelectorLength : breakSelectorLength) \
  	 && !!strncmp((char *)((sel) + BaseHeaderSize), breakSelector, (isMNU ? -breakSelectorLength : breakSelectorLength))) { \
  		suppressHeartbeatFlag = 1; \
  		compilationBreakpointFor(sel); \
  	} \
  } while (0)'>
  	| bsl i |
  	isMNUCase
  		ifTrue:
  			[(breakSelectorLength = 18 "doesNotUnderstand: size"
  			  and: [(self strncmp: 'doesNotUnderstand:' _: breakSelector _: 18) == 0]) ifTrue:
  				[(breakLookupClassTag < 0 or: [breakLookupClassTag = classTag]) ifTrue:
  					[^self compilationBreakpointFor: selectorOop]].
  			bsl := breakSelectorLength negated]
  		ifFalse: [bsl := breakSelectorLength].
+ 	bsl = (objectMemory numBytesOf: selectorOop) ifTrue:
- 	bsl = (self numBytesOf: selectorOop) ifTrue:
  		[i := bsl.
  		 [i > 0] whileTrue:
  			[(objectMemory byteAt: selectorOop + i + objectMemory baseHeaderSize - 1) = (breakSelector at: i) asInteger
  				ifTrue:
  					[((i := i - 1) = 0
  					   and: [breakLookupClassTag < 0 or: [breakLookupClassTag = classTag]]) ifTrue:
  							[self compilationBreakpointFor: selectorOop]]
  				ifFalse: [i := 0]]]!

Item was changed:
  ----- Method: CoInterpreter>>compilationBreakpoint:isMNUCase: (in category 'debug support') -----
  compilationBreakpoint: selectorOop isMNUCase: isMNUCase
  	<api>
  	<cmacro: '(sel, isMNU) do { \
  	if (numBytesOf(sel) == (isMNU ? -breakSelectorLength : breakSelectorLength) \
  	 && !!strncmp((char *)((sel) + BaseHeaderSize), breakSelector, (isMNU ? -breakSelectorLength : breakSelectorLength))) { \
  		suppressHeartbeatFlag = 1; \
  		compilationBreakpointFor(sel); \
  	} \
  } while (0)'>
  	| bsl i |
  	bsl := isMNUCase ifTrue: [breakSelectorLength negated] ifFalse: [breakSelectorLength].
+ 	bsl = (objectMemory numBytesOf: selectorOop) ifTrue:
- 	bsl = (self numBytesOf: selectorOop) ifTrue:
  		[i := bsl.
  		 [i > 0] whileTrue:
  			[(objectMemory byteAt: selectorOop + i + objectMemory baseHeaderSize - 1) = (breakSelector at: i) asInteger
  				ifTrue: [(i := i - 1) = 0 ifTrue:
  							[self compilationBreakpointFor: selectorOop]]
  				ifFalse: [i := 0]]]!



More information about the Vm-dev mailing list