why is Interpreter->pointX not inline?
John M McIntosh
johnmci at smalltalkconsulting.com
Fri Apr 19 06:09:32 UTC 2002
I noticed that
primitivePointX
| rcvr |
self inline: false.
rcvr _ self popStack.
self assertClassOf: rcvr is: (self splObj: ClassPoint).
successFlag
ifTrue: [self push: (self fetchPointer: XIndex ofObject: rcvr)]
ifFalse: [self unPop: 1]
note the inline: false
the only caller is
bytecodePrimPointX
successFlag _ true.
self externalizeIPandSP.
self primitivePointX.
self internalizeIPandSP.
successFlag ifTrue: [^ self fetchNextBytecode "success"].
messageSelector _ self specialSelector: 30.
argumentCount _ 0.
self normalSend
note we externalizeIPAndSP then the callout.
Ah, it's late and I must be missing why we do this? couldn't we just
inline primitivePointX maybe even forgo the externalizeIPandSP.
Maybe it will be come obvious in the morning?
--
--
===========================================================================
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com
===========================================================================
More information about the Squeak-dev
mailing list
|