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

commits at source.squeak.org commits at source.squeak.org
Thu Jan 7 23:45:36 UTC 2021


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

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

Name: VMMaker.oscog-eem.2928
Author: eem
Time: 7 January 2021, 3:45:26.107896 pm
UUID: f6b0bdca-f526-4f21-8c07-fc9a7b4cc3f2
Ancestors: VMMaker.oscog-eem.2927

Newspeak Cogit:
Reimplement warnMultiple:selectors: given printf support for #stderr as a parameter and %.*s variable string widths.

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

Item was changed:
  ----- Method: Cogit>>warnMultiple:selectors: (in category 'debug printing') -----
  warnMultiple: cogMethod selectors: aSelectorOop
  	<inline: true>
  	<var: 'cogMethod' type: #'CogMethod *'>
+ 	 'Warning, attempt to use method with selector %.*s and selector %.*s\n'
+ 		f: #stderr
+ 		printf: {self cCoerceSimple: (objectMemory numBytesOf: cogMethod selector) to: #int.
+ 				self cCoerceSimple: (objectMemory firstIndexableField: cogMethod selector) to: #'char *'.
+ 				self cCoerceSimple: (objectMemory numBytesOf: aSelectorOop) to: #int.
+ 				self cCoerceSimple: (objectMemory firstIndexableField: aSelectorOop) to: #'char *' }!
- 	self cCode:
- 			[self fp: #stderr
- 				r: 'Warning, attempt to use method with selector %.*s and selector %.*s\n'
- 				i: (self cCoerceSimple: (objectMemory numBytesOf: cogMethod selector) to: #int)
- 				n: (self cCoerceSimple: (objectMemory firstIndexableField: cogMethod selector) to: #'char *')
- 				t: (self cCoerceSimple: (objectMemory numBytesOf: aSelectorOop) to: #int)
- 				f: (self cCoerceSimple: (objectMemory firstIndexableField: aSelectorOop) to: #'char *')]
- 		inSmalltalk:
- 			[self warn: 'Warning, attempt to use method with selector ',
- 						(coInterpreter stringOf: cogMethod selector),
- 						' and selector ',
- 						(coInterpreter stringOf: aSelectorOop)]!

Item was changed:
  ----- Method: PrintfFormatString>>transformForVMMaker (in category '*VMMaker-C code generation') -----
  transformForVMMaker
  	[outputStream nextPutAll: string next. 
  	 format atEnd] whileFalse:
+ 		[| nextDescriptorOrNil |
+ 		 [nextDescriptorOrNil := format next transformForVMMaker.
+ 		  nextDescriptorOrNil isNil] whileTrue. "skip PrintfNumberHolderDescriptors"
+ 		 outputStream nextPutAll: nextDescriptorOrNil].
- 		[outputStream nextPutAll: format next transformForVMMaker].
  	"any remainder is string, if so append to outputStream"
  	string atEnd ifFalse: [outputStream nextPutAll: string next].
  	^outputStream contents!

Item was added:
+ ----- Method: PrintfNumberHolderDescriptor>>transformForVMMaker (in category '*VMMaker-C code generation') -----
+ transformForVMMaker
+ 	^nil!



More information about the Vm-dev mailing list