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

commits at source.squeak.org commits at source.squeak.org
Sun May 31 23:30:23 UTC 2020


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

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

Name: VMMaker.oscog-eem.2759
Author: eem
Time: 31 May 2020, 4:30:04.25407 pm
UUID: 830cf133-03ef-4a4e-abbb-856c29f8d4a0
Ancestors: VMMaker.oscog-eem.2758

The minimum alignment of a structure should be determined by a structure that contains an element with minimal alignment requirements, not maximal ones.

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

Item was changed:
  ----- Method: AlignmentStructType class>>printTypedefOn: (in category 'code generation') -----
  printTypedefOn: aStream
+ 	#('Byte' 'Short' 'Int' 'LongLong' 'Float' 'Double')
+ 	  with: #(#char #short #int #'long long' #float #double) do:
+ 		[:structName :type|
+ 		aStream
+ 			nextPutAll: 'typedef struct { char pad_to_misalgnment; ';
+ 			nextPutAll: type;
+ 			nextPutAll: ' element; } struct';
+ 			nextPutAll: structName;
+ 			nextPut: $;; cr; cr].
- 	| union |
- 	union := String streamContents:
- 				[:unionStream|
- 				#('Byte' 'Short' 'Int' 'LongLong' 'Float' 'Double')
- 				  with: #(#char #short #int #'long long' #float #double) do:
- 					[:structName :type|
- 					aStream
- 						nextPutAll: 'typedef struct { char pad_to_misalgnment; ';
- 						nextPutAll: type;
- 						nextPutAll: ' element; } struct';
- 						nextPutAll: structName;
- 						nextPut: $;; cr; cr.
- 					unionStream crtab: 3; nextPutAll: type; space; nextPutAll: structName; nextPut: $;]].
  	aStream
+ 		nextPutAll: 'typedef struct { char pad_to_misalgnment; struct {char c; } element; } structStruct;';
+ 		cr; cr!
- 		nextPutAll: 'typedef struct { char pad_to_misalgnment;';
- 		crtab: 2;
- 		nextPutAll: 'union {';
- 		nextPutAll: union;
- 		crtab: 2;
- 		nextPutAll: '} element; } structStruct;'!



More information about the Vm-dev mailing list