All pastes #763787 Raw Edit

Mine

public text v1 · immutable
·published 2007-11-06 19:08 UTC
rendered paste body
00000144 <lock_acquire>:
 144:   55                      push   %ebp
 145:   89 e5                   mov    %esp,%ebp
 147:   83 ec 08                sub    $0x8,%esp
 14a:   8b 45 08                mov    0x8(%ebp),%eax
 14d:   83 c0 08                add    $0x8,%eax
 150:   89 04 24                mov    %eax,(%esp)
 153:   e8 fc ff ff ff          call   154 <lock_acquire+0x10>
                        154: R_386_PC32 spinlock_acquire
 158:   8b 45 08                mov    0x8(%ebp),%eax
 15b:   83 78 04 00             cmpl   $0x0,0x4(%eax)           #lock == UNLOCKED?
 15f:   75 1a                   jne    17b <lock_acquire+0x37>  #no? -> block!
###l->status == UNLOCKED
 161:   8b 45 08                mov    0x8(%ebp),%eax
 164:   c7 40 04 01 00 00 00    movl   $0x1,0x4(%eax)           #l->status = LOCKED;
 16b:   8b 45 08                mov    0x8(%ebp),%eax
 16e:   83 c0 08                add    $0x8,%eax                #push &l->spinlock
 171:   89 04 24                mov    %eax,(%esp)
 174:   e8 fc ff ff ff          call   175 <lock_acquire+0x31>  #spinlock_release(&l->spinlock);
                        175: R_386_PC32 spinlock_release
 179:   eb 15                   jmp    190 <lock_acquire+0x4c>  #return
###l->status == LOCKED
 17b:   8b 45 08                mov    0x8(%ebp),%eax
 17e:   83 c0 08                add    $0x8,%eax
 181:   89 44 24 04             mov    %eax,0x4(%esp)           #push &l->spinlock
 185:   8b 45 08                mov    0x8(%ebp),%eax
 188:   89 04 24                mov    %eax,(%esp)              #push &l->waiting
 18b:   e8 fc ff ff ff          call   18c <lock_acquire+0x48>  #block(&l->waiting, &l->spinlock);
                        18c: R_386_PC32 block
 190:   c9                      leave
 191:   c3                      ret