From 07abaf53fe70f166c5efdc26b1efaa89f521d60b Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Fri, 5 Feb 1993 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1993-02-05 --- port/alloc.c | 10 ++++------ power/l.s | 3 ++- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/port/alloc.c b/port/alloc.c index 814856a2d33b364b6791bb06769c747b96c9e855..d03cad60c7f9148057896425bee5c9af46fd2a1f 100644 --- a/port/alloc.c +++ b/port/alloc.c @@ -274,13 +274,13 @@ good: bp = arena.btab[pow]; if(bp) { arena.btab[pow] = bp->next; - unlock(&arena); - - if(bp->magic != 0 || bp->size != pow) + if(bp->magic != 0 || bp->size != pow){ + unlock(&arena); panic("malloc bp %lux magic %lux size %d next %lux pow %d", bp, bp->magic, bp->size, bp->next, pow); - + } bp->magic = Magic2n; + unlock(&arena); memset(bp->data, 0, size); return bp->data; @@ -314,9 +314,7 @@ good: if(bp == nil) return nil; - lock(&arena); arena.nbuck[pow]++; - unlock(&arena); } bp->size = pow; diff --git a/power/l.s b/power/l.s index f00def7d7f6cd0798aaa20760ef5dc0a2037a2d1..09fb41d20624d3c02e2663a46e48293955ec84ec 100644 --- a/power/l.s +++ b/power/l.s @@ -128,11 +128,12 @@ TEXT spllo(SB), $0 TEXT muxlock(SB),$0 MOVW R1, R2 /* sbsem */ - MOVW 4(FP), R3 /* lk->val */ + MOVW 4(FP), R3 /* &lk->val */ MOVW M(STATUS), R5 /* splhi */ AND $~IEC, R5, R4 MOVW R4, M(STATUS) + NOOP MOVW 0(R2),R4 /* grab sbsem */ AND $1, R4