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

commits at source.squeak.org commits at source.squeak.org
Wed Dec 16 23:38:58 UTC 2015


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

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

Name: VMMaker.oscog-eem.1602
Author: eem
Time: 16 December 2015, 3:37:08.936 pm
UUID: 16ff1141-4cce-41a9-a9f5-742da38970ef
Ancestors: VMMaker.oscog-eem.1601

Spur: Missing classArray export.

Slang: Don't include sqmemoryAccess,.h include explicitly since it is pulled in by sq.h anyway.

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

Item was changed:
  ----- Method: CCodeGenerator>>emitCHeaderOn: (in category 'C code generator') -----
  emitCHeaderOn: aStream
  	"Emit the initial part of a source file on aStream, comprising the version stamp,
  	 the global struct usage flags, the header files and preamble code."
  
  	| headerClass |
  	headerClass := [vmClass coreInterpreterClass]
  						on: MessageNotUnderstood
  						do: [:ex| vmClass].
  	aStream nextPutAll: (self fileHeaderVersionStampForSourceClass: headerClass); cr; cr.
  	self emitGlobalStructFlagOn: aStream.
  
  	self addHeaderFileFirst: '"sq.h"'.
- 	vmClass isInterpreterClass ifTrue:
- 		[self addHeaderFile: '"sqMemoryAccess.h"'].
  	"Additional header files; include C library ones first."
  	self emitHeaderFiles: (headerFiles select: [:hdr| hdr includes: $<]) on: aStream.
  	"Additional header files; include squeak VM ones last"
  	self emitHeaderFiles: (headerFiles reject: [:hdr| hdr includes: $<]) on: aStream.
  
  	vmClass isInterpreterClass ifTrue:
  		[self maybePutPreambleFor: vmClass on: aStream].
  
  	aStream cr!

Item was changed:
  ----- Method: SpurMemoryManager>>classArray (in category 'plugin support') -----
  classArray
+ 	<api>
- 	"a.k.a. self fetchPointer: ClassArrayCompactIndex ofObject: classTableFirstPage"
  	^self splObj: ClassArray!

Item was changed:
  ----- Method: VMPluginCodeGenerator>>emitCHeaderOn: (in category 'C code generator') -----
  emitCHeaderOn: aStream
  	"Write a C file header onto the given stream."
  
  	aStream nextPutAll: (self fileHeaderVersionStampForSourceClass: pluginClass).
  	aStream cr; cr.
  
  	#('<math.h>' '<stdio.h>' '<stdlib.h>' '<string.h>' '<time.h>') reverseDo:
  		[:hdr| self addHeaderFileFirst: hdr].
  
  	"Additional header files; include C library ones first."
  	self emitHeaderFiles: (headerFiles select: [:hdr| hdr includes: $<]) on: aStream.
  
  	aStream cr; nextPutAll:'/* Default EXPORT macro that does nothing (see comment in sq.h): */
  #define EXPORT(returnType) returnType
  
  /* Do not include the entire sq.h file but just those parts needed. */
+ #include "sqConfig.h"			/* Configuration options */
+ #include "sqVirtualMachine.h"	/*  The virtual machine proxy definition */
+ #include "sqPlatformSpecific.h"	/* Platform specific definitions */
- /*  The virtual machine proxy definition */
- #include "sqVirtualMachine.h"
- /* Configuration options */
- #include "sqConfig.h"
- /* Platform specific definitions */
- #include "sqPlatformSpecific.h"
  
  #define true 1
  #define false 0
  #define null 0  /* using ''null'' because nil is predefined in Think C */
  #ifdef SQUEAK_BUILTIN_PLUGIN
+ # undef EXPORT
+ # define EXPORT(returnType) static returnType
- #undef EXPORT
- // was #undef EXPORT(returnType) but screws NorCroft cc
- #define EXPORT(returnType) static returnType
  #endif'; cr; cr.
  	self addHeaderFile: '"sqMemoryAccess.h"'.
  	"Additional header files; include squeak VM ones last"
  	self emitHeaderFiles: (headerFiles reject: [:hdr| hdr includes: $<]) on: aStream.
  	self maybePutPreambleFor: pluginClass on: aStream.
+ 	aStream cr!
- 	aStream cr.!



More information about the Vm-dev mailing list