March 3, 2010
8:44 p.m.
On 03.03.2010 21:35, Alexandre Bergel wrote:
Indeed. Thanks!
This is more than twice as fast, though it may be still too slow for your needs:
| depth running | running := thisContext. depth := 1. [ (running := running instVarAt: 1) == nil ] whileFalse: [ depth := depth + 1 ]. depth The paper talks about using stack pointer and program counter as identifiers, I doubt stack depth as returned by such a method will provide a good enough granularity to do proper disambiguation. (not to mention the main reason for using them is that they can be gotten with virtually no overhead...)
Cheers, Henry