Hi All
Im analyzing primtives to use them for the concrete type inference project.
Im currently working with primitiveArrayBecomeOneWayCopyHash
primitiveArrayBecomeOneWayCopyHash "Similar to primitiveArrayBecomeOneWay but accepts a third argument whether to copy the receiver's identity hash over the argument's identity hash."
| copyHashFlag arg rcvr | copyHashFlag := self booleanValueOf: (self stackTop). arg := self stackValue: 1. rcvr := self stackValue: 2. self success: (self become: rcvr with: arg twoWay: false copyHash: copyHashFlag). successFlag ifTrue: [ self pop: 2 ].
Well, i'm seeing that pop:2, in a method which don't receive any argument. If pop was 1, i could think in self, but is 2, so the questions are:
1) what is pop:2 in this context 2) why? there's any generalization or rules for understand the stack manage?
Thanks!
Santiago.