[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