TUPLE: inline-cache value counter ;
: inline-cache-hit? ( word/quot ic -- ? )
- {
- [ nip value>> ]
- [ value>> eq? ]
- [ nip counter>> effect-counter eq? ]
- } 2&& ; inline
+ { [ value>> eq? ] [ nip counter>> effect-counter eq? ] } 2&& ; inline
: update-inline-cache ( word/quot ic -- )
[ effect-counter ] dip
or ;
: bump-effect-counter ( -- )
- bump-effect-counter? [ 46 getenv 1 + 46 setenv ] when ;
+ bump-effect-counter? [ 46 getenv 0 or 1 + 46 setenv ] when ;
: notify-observers ( -- )
updated-definitions dup assoc-empty?