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

commits at source.squeak.org commits at source.squeak.org
Fri Aug 28 02:28:19 UTC 2020


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

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

Name: VMMaker.oscog-eem.2794
Author: eem
Time: 27 August 2020, 7:28:10.09656 pm
UUID: 81de711b-1533-4e7c-93a8-53c661352adc
Ancestors: VMMaker.oscog-eem.2793

Fix long-standing confusion in generating the interface header files between the CoInterpreter and the Cogit.  VM_EXPORT is the marker for export between the VM and external plugins (dlls/shared-objects).  Between the CoInterpreter and the Cogit we need nothing more than extern.

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

Item was changed:
  ----- Method: CCodeGenerator>>emitGlobalCVariablesOn: (in category 'C code generator') -----
  emitGlobalCVariablesOn: aStream
  	"Store the global (exported) variable declarations on the given stream."
  
  	aStream cr; nextPutAll: '/*** Global Variables ***/'; cr.
  	
  	(self sortStrings: (variables select: [:v| vmClass mustBeGlobal: v])) do:
  		[:var | | varString |
  		(self variableDeclarationStringsForVariable: (varString := var asString)) do:
  			[:decl|
  			decl first == $#
  				ifTrue:
  					[aStream nextPutAll: decl; cr]
  				ifFalse:
  					[(decl includesSubstring: ' private ') ifFalse: "work-around hack to prevent localization of variables only referenced once."
+ 						[(decl beginsWith: 'static') ifFalse:
+ 							[aStream
+ 								nextPutAll: 'extern ';
+ 								nextPutAll:
+ 									((decl includes: $=)
+ 										ifTrue: [decl copyFrom: 1 to: (decl indexOf: $=) - 1]
+ 										ifFalse: [decl]);
+ 								nextPut: $;;
+ 								cr]]]]].
- 						[(decl beginsWith: 'static') ifFalse: [aStream nextPutAll: 'VM_EXPORT '].
- 						aStream
- 							nextPutAll:
- 								((decl includes: $=)
- 									ifTrue: [decl copyFrom: 1 to: (decl indexOf: $=) - 1]
- 									ifFalse: [decl]);
- 							nextPut: $;;
- 							cr]]]].
  	aStream cr!



More information about the Vm-dev mailing list