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

commits at source.squeak.org commits at source.squeak.org
Tue May 20 21:35:01 UTC 2014


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

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

Name: VMMaker.oscog-eem.725
Author: eem
Time: 20 May 2014, 2:31:49.366 pm
UUID: 801ca845-7d9b-480f-afb9-be5cbc72d74f
Ancestors: VMMaker.oscog-eem.724

restrict the NoRegParms attribute to static functions in the
interpreter and/or cogit files.

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

Item was changed:
  ----- Method: CCodeGenerator>>emitCFunctionPrototypes:on: (in category 'C code generator') -----
  emitCFunctionPrototypes: methodList on: aStream 
  	"Store prototype declarations for all non-inlined methods on the given stream."
  	| exporting |
  	aStream cr; nextPutAll: '/*** Function Prototypes ***/'; cr.
  	"Hmm, this should be in the sqConfig.h files.  For now put it here..."
+ 	(NoRegParmsInAssertVMs and: [vmClass notNil]) ifTrue:
- 	NoRegParmsInAssertVMs ifTrue:
  		[aStream cr; cr; nextPutAll: '#if defined(PRODUCTION) && !!PRODUCTION && defined(__GNUC__) && !!defined(NoDbgRegParms)\# define NoDbgRegParms __attribute__ ((regparm (0)))\#endif' withCRs.
  		 aStream cr; cr; nextPutAll: '#if !!defined(NoDbgRegParms)\# define NoDbgRegParms /*empty*/\#endif' withCRs.
  		 aStream cr; cr].
  	exporting := false.
  	(methodList select: [:m| m isRealMethod]) do:
  		[:m |
  		self emitExportPragma ifTrue:
  			[m export
  				ifTrue: [exporting ifFalse: 
  							[aStream nextPutAll: '#pragma export on'; cr.
  							exporting := true]]
  				ifFalse: [exporting ifTrue: 
  							[aStream nextPutAll: '#pragma export off'; cr.
  							exporting := false]]].
  		m emitCFunctionPrototype: aStream generator: self.
+ 		(NoRegParmsInAssertVMs and: [vmClass notNil and: [m export not and: [m isStatic and: [m args notEmpty]]]]) ifTrue:
- 		(NoRegParmsInAssertVMs and: [m export not and: [m isStatic and: [m args notEmpty]]]) ifTrue:
  			[aStream nextPutAll: ' NoDbgRegParms'].
  		aStream nextPut: $; ; cr].
  	exporting ifTrue: [aStream nextPutAll: '#pragma export off'; cr].
  	aStream cr!



More information about the Vm-dev mailing list