[squeak-dev] FFI: FFI-Kernel-mt.200.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Aug 12 14:33:08 UTC 2021

Marcel Taeumel uploaded a new version of FFI-Kernel to project FFI:

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

Name: FFI-Kernel-mt.200
Author: mt
Time: 12 August 2021, 4:33:08.122047 pm
UUID: f601ec88-0b93-734e-a69a-3f2b36f727a9
Ancestors: FFI-Kernel-mt.199

Speed up compilation of field accessors by:
1. Not logging the source in the sources file; use method trailer instead
2. Not signaling the SystemChangeNotifier

=============== Diff against FFI-Kernel-mt.199 ===============

Item was changed:
  ----- Method: ExternalStructure class>>maybeCompileAccessor:withSelector: (in category 'field definition - support') -----
  maybeCompileAccessor: newSourceString withSelector: selector
  	"Only compile if category or source changed. Use generic author initials during compilation."
+ 	| newCategory existingReference method |
- 	| newCategory existingReference priorAuthorInitials |
  	newCategory := #'*autogenerated - accessing'.
  	((existingReference := MethodReference class: self selector: selector) isValid
  		and: [existingReference category = newCategory]
  		and: [existingReference sourceString = newSourceString])
  			ifTrue: [^ self].
+ 	"Compile silently. No changeStamp. No access to sources file. Keep source code in method trailer."
+ 	self compileSilently: newSourceString classified: newCategory.
+ 	method := self compiledMethodAt: selector.
+ 	method becomeForward: (method copyWithSourceCode: newSourceString).!
- 	priorAuthorInitials := Utilities authorInitialsPerSe.
- 	[Utilities authorInitials: 'FFI'.
- 	self compile: newSourceString classified: newCategory.
- 	] ensure: [Utilities authorInitials: priorAuthorInitials].!

More information about the Squeak-dev mailing list