segment.ed (649B)
1 ,s!Lock;!Lock lk;! 2 ,s!lock(s)!lock(\&s->ref.lk)!g 3 ,s!lock(i)!lock(\&i->ref.lk)!g 4 ,s!(x = \*pg)!(&)! 5 ,s!SET(n)!n = 0! 6 ,s!ref(s->image)!ref(\&s->image->ref)!g 7 ,s!(pte = s->map\[i\])!(&)! 8 ,s!->ref >!->ref.ref >!g 9 ,s!ref(s)!ref(\&s->ref)!g 10 ,s!lock(\&imagealloc)!lock(\&imagealloc.lk)!g 11 ,s!ref(c)!ref(\&c->ref)!g 12 ,s!lock(\&palloc)!lock(\&palloc.lk)!g 13 ,s!lock(p)!lock(\&p->lk)!g 14 ,s!ref(i->s)!ref(\&i->s->ref)!g 15 ,s!->ref++!->ref.ref++!g 16 ,s!->ref =!->ref.ref =!g 17 ,s!->ref--!->ref.ref--!g 18 ,s#->ref !#->ref.ref !#g 19 ,s!p->ref\.ref!p->ref!g 20 /^pteflush/+1a 21 #if 0 // Not needed for Plan 9 VX - no swap 22 . 23 /^}/i 24 #endif 25 . 26 /^syssegflush/s/ulong/uint32/ 27 g/validaddr/d