313 lines
4.4 KiB
Plaintext
313 lines
4.4 KiB
Plaintext
Mutex::init:
|
|
pushi $94 ; 148, init
|
|
push0
|
|
super Obj, $4
|
|
bnot
|
|
pushi $b1 ; 177, duplicate
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
aTop pObjects
|
|
ret
|
|
|
|
Mutex::dispose:
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
pushSelf
|
|
pushi $348 ; 840, pPendingList
|
|
push0
|
|
lofsa LockMgr
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
pushSelf
|
|
pushi $349 ; 841, pLockedList
|
|
push0
|
|
lofsa LockMgr
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
ldi $0
|
|
aTop pActive
|
|
pushi $a6 ; 166, release
|
|
push0
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
pToa pObjects
|
|
send $8
|
|
bnot
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
&rest $1
|
|
super Obj, $4
|
|
bnot
|
|
ret
|
|
|
|
Mutex::hasConflict:
|
|
link $2
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
pToa pObjects
|
|
send $4
|
|
bnot
|
|
sat temp[$1]
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_00ca: lst temp[$0]
|
|
lat temp[$1]
|
|
lt?
|
|
bnt code_0103
|
|
pTos pOwner
|
|
pushi $343 ; 835, pOwner
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
ne?
|
|
bnt code_00ff
|
|
pushi $a3 ; 163, contains
|
|
push1
|
|
pushi $4b ; 75, 'K', at
|
|
push1
|
|
lst temp[$0]
|
|
pToa pObjects
|
|
send $6
|
|
bnot
|
|
push
|
|
pushi $344 ; 836, pObjects
|
|
push0
|
|
lap param[$1]
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
bnt code_00ff
|
|
ldi $1
|
|
ret
|
|
|
|
code_00ff: +at temp[$0]
|
|
jmp code_00ca
|
|
|
|
code_0103: ldi $0
|
|
ret
|
|
|
|
Mutex::hasNoConflict:
|
|
pushi $a0 ; 160, firstTrue
|
|
push2
|
|
pushi $346 ; 838, hasConflict
|
|
pushSelf
|
|
lap param[$1]
|
|
send $8
|
|
bnot
|
|
bnt code_0118
|
|
ldi $0
|
|
ret
|
|
|
|
code_0118: ldi $1
|
|
ret
|
|
|
|
LockMgr::init:
|
|
pushi $94 ; 148, init
|
|
push0
|
|
&rest $1
|
|
super Obj, $4
|
|
bnot
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Set
|
|
send $4
|
|
bnot
|
|
aTop pLockedList
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Set
|
|
send $4
|
|
bnot
|
|
aTop pPendingList
|
|
ret
|
|
|
|
LockMgr::dispose:
|
|
pToa pLockedList
|
|
bnt code_014b
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
ldi $0
|
|
aTop pLockedList
|
|
code_014b: pToa pPendingList
|
|
bnt code_015a
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
send $4
|
|
bnot
|
|
ldi $0
|
|
aTop pPendingList
|
|
code_015a: pushi $95 ; 149, dispose
|
|
push0
|
|
&rest $1
|
|
super Obj, $4
|
|
bnot
|
|
ret
|
|
|
|
LockMgr::lock:
|
|
link $3
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Set
|
|
send $4
|
|
bnot
|
|
sat temp[$2]
|
|
ldi $0
|
|
sat temp[$0]
|
|
code_0176: lst temp[$0]
|
|
lsp param[$0]
|
|
ldi $2
|
|
sub
|
|
lt?
|
|
bnt code_0197
|
|
lat temp[$0]
|
|
lapi param[$2]
|
|
bnt code_0193
|
|
pushi $9f ; 159, add
|
|
push1
|
|
lat temp[$0]
|
|
lspi param[$2]
|
|
lat temp[$2]
|
|
send $6
|
|
bnot
|
|
code_0193: +at temp[$0]
|
|
jmp code_0176
|
|
|
|
code_0197: pushi $5a ; 90, 'Z', size
|
|
push0
|
|
lat temp[$2]
|
|
send $4
|
|
bnot
|
|
bnt code_01e1
|
|
pushi $94 ; 148, init
|
|
push1
|
|
lst temp[$2]
|
|
pushi $33f ; 831, pClient
|
|
push1
|
|
lat temp[$0]
|
|
lspi param[$2]
|
|
pushi $343 ; 835, pOwner
|
|
push1
|
|
lsp param[$1]
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Mutex
|
|
send $4
|
|
bnot
|
|
sat temp[$1]
|
|
send $12
|
|
bnot
|
|
pushi $a6 ; 166, release
|
|
push0
|
|
pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$2]
|
|
send $8
|
|
bnot
|
|
pushi $9f ; 159, add
|
|
push1
|
|
lst temp[$1]
|
|
pToa pPendingList
|
|
send $6
|
|
bnot
|
|
lat temp[$1]
|
|
ret
|
|
|
|
jmp code_01ea
|
|
|
|
code_01e1: pushi $95 ; 149, dispose
|
|
push0
|
|
lat temp[$2]
|
|
send $4
|
|
bnot
|
|
code_01ea: ldi $0
|
|
ret
|
|
|
|
LockMgr::doit:
|
|
link $1
|
|
pushi $5a ; 90, 'Z', size
|
|
push0
|
|
pToa pPendingList
|
|
send $4
|
|
bnot
|
|
bnt code_026c
|
|
code_01f9: pushi $a0 ; 160, firstTrue
|
|
push2
|
|
pushi $347 ; 839, hasNoConflict
|
|
pTos pLockedList
|
|
pToa pPendingList
|
|
send $8
|
|
bnot
|
|
sat temp[$0]
|
|
bnt code_026c
|
|
pushi $58 ; 88, 'X', delete
|
|
push1
|
|
push
|
|
pToa pPendingList
|
|
send $6
|
|
bnot
|
|
pushi $9f ; 159, add
|
|
push1
|
|
lst temp[$0]
|
|
pToa pLockedList
|
|
send $6
|
|
bnot
|
|
pushi $345 ; 837, pActive
|
|
push1
|
|
push1
|
|
lat temp[$0]
|
|
send $6
|
|
bnot
|
|
pushi $33f ; 831, pClient
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
bnt code_01f9
|
|
pushi $9f ; 159, add
|
|
push1
|
|
pushi $cb ; 203, cuee
|
|
push1
|
|
pushi $33f ; 831, pClient
|
|
push0
|
|
lat temp[$0]
|
|
send $4
|
|
bnot
|
|
push
|
|
pushi $9a ; 154, yourself
|
|
push0
|
|
pushi $8d ; 141, new
|
|
push0
|
|
class Cue
|
|
send $4
|
|
bnot
|
|
send $a
|
|
bnot
|
|
push
|
|
pushi $ca ; 202, pCuees
|
|
push0
|
|
pushi $279 ; 633, pFocusedRoom
|
|
push0
|
|
lag global[$30]
|
|
send $4
|
|
bnot
|
|
send $4
|
|
bnot
|
|
send $6
|
|
bnot
|
|
jmp code_01f9
|
|
|
|
code_026c: ret
|
|
|