? config.log ? config.cache ? config.status ? GNUmakefile ? src/Makefile.custom ? src/GNUmakefile ? src/Makefile.global ? src/log ? src/crtags ? src/backend/postgres ? src/backend/catalog/global.bki ? src/backend/catalog/global.description ? src/backend/catalog/template1.bki ? src/backend/catalog/template1.description ? src/backend/port/Makefile ? src/bin/initdb/initdb ? src/bin/initlocation/initlocation ? src/bin/ipcclean/ipcclean ? src/bin/pg_config/pg_config ? src/bin/pg_ctl/pg_ctl ? src/bin/pg_dump/pg_dump ? src/bin/pg_dump/pg_restore ? src/bin/pg_dump/pg_dumpall ? src/bin/pg_id/pg_id ? src/bin/pg_passwd/pg_passwd ? src/bin/pgaccess/pgaccess ? src/bin/pgtclsh/Makefile.tkdefs ? src/bin/pgtclsh/Makefile.tcldefs ? src/bin/pgtclsh/pgtclsh ? src/bin/pgtclsh/pgtksh ? src/bin/psql/psql ? src/bin/scripts/createlang ? src/include/config.h ? src/include/stamp-h ? src/interfaces/ecpg/lib/libecpg.so.3.2.0 ? src/interfaces/ecpg/preproc/ecpg ? src/interfaces/libpgeasy/libpgeasy.so.2.1 ? src/interfaces/libpgtcl/libpgtcl.so.2.1 ? src/interfaces/libpq/libpq.so.2.1 ? src/interfaces/perl5/blib ? src/interfaces/perl5/Makefile ? src/interfaces/perl5/pm_to_blib ? src/interfaces/perl5/Pg.c ? src/interfaces/perl5/Pg.bs ? src/pl/plperl/blib ? src/pl/plperl/Makefile ? src/pl/plperl/pm_to_blib ? src/pl/plperl/SPI.c ? src/pl/plperl/plperl.bs ? src/pl/plpgsql/src/libplpgsql.so.1.0 ? src/pl/tcl/Makefile.tcldefs Index: src/backend/storage/buffer/s_lock.c =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/backend/storage/buffer/s_lock.c,v retrieving revision 1.29 diff -c -r1.29 s_lock.c *** src/backend/storage/buffer/s_lock.c 2001/01/14 05:08:15 1.29 --- src/backend/storage/buffer/s_lock.c 2001/01/19 20:28:20 *************** *** 115,123 **** } } - - - /* * Various TAS implementations that cannot live in s_lock.h as no inline * definition exists (yet). --- 115,120 ---- *************** *** 136,153 **** tas_dummy() /* really means: extern int tas(slock_t * **lock); */ { ! __asm__(" \n\ ! .global _tas \n\ ! _tas: \n\ ! movel sp@(0x4),a0 \n\ ! tas a0@ \n\ ! beq _success \n\ ! moveq #-128,d0 \n\ ! rts \n\ ! _success: \n\ ! moveq #0,d0 \n\ ! rts \n\ ! "); } #endif /* __m68k__ */ --- 133,150 ---- tas_dummy() /* really means: extern int tas(slock_t * **lock); */ { ! __asm__ __volatile__( ! "\ ! .global _tas \n\ ! _tas: \n\ ! movel sp@(0x4),a0 \n\ ! tas a0@ \n\ ! beq _success \n\ ! moveq #-128,d0 \n\ ! rts \n\ ! _success: \n\ ! moveq #0,d0 \n\ ! rts"); } #endif /* __m68k__ */ *************** *** 160,181 **** static void tas_dummy() { ! __asm__(" \n\ ! .globl tas \n\ ! .globl _tas \n\ ! _tas: \n\ ! tas: \n\ ! lwarx r5,0,r3 \n\ ! cmpwi r5,0 \n\ ! bne fail \n\ ! addi r5,r5,1 \n\ ! stwcx. r5,0,r3 \n\ ! beq success \n\ ! fail: li r3,1 \n\ ! blr \n\ ! success: \n\ ! li r3,0 \n\ ! blr \n\ "); } --- 157,179 ---- static void tas_dummy() { ! __asm__ __volatile__( ! "\ ! .globl tas \n\ ! .globl _tas \n\ ! _tas: \n\ ! tas: \n\ ! lwarx r5,0,r3 \n\ ! cmpwi r5,0 \n\ ! bne fail \n\ ! addi r5,r5,1 \n\ ! stwcx. r5,0,r3 \n\ ! beq success \n\ ! fail: li r3,1 \n\ ! blr \n\ ! success: \n\ ! li r3,0 \n\ ! blr \n\ "); } *************** *** 186,206 **** static void tas_dummy() { ! __asm__(" \n\ ! .global tas \n\ ! tas: \n\ ! lwarx 5,0,3 \n\ ! cmpwi 5,0 \n\ ! bne fail \n\ ! addi 5,5,1 \n\ ! stwcx. 5,0,3 \n\ ! beq success \n\ ! fail: li 3,1 \n\ ! blr \n\ ! success: \n\ ! li 3,0 \n\ ! blr \n\ ! "); } #endif /* __powerpc__ */ --- 184,204 ---- static void tas_dummy() { ! __asm__ __volatile__( ! "\ ! .global tas \n\ ! tas: \n\ ! lwarx 5,0,3 \n\ ! cmpwi 5,0 \n\ ! bne fail \n\ ! addi 5,5,1 \n\ ! stwcx. 5,0,3 \n\ ! beq success \n\ ! fail: li 3,1 \n\ ! blr \n\ ! success: \n\ ! li 3,0 \n\ ! blr"); } #endif /* __powerpc__ */ *************** *** 209,230 **** static void tas_dummy() { ! __asm__(" \n\ ! .global tas \n\ ! tas: \n\ ! .frame $sp, 0, $31 \n\ ! ll $14, 0($4) \n\ ! or $15, $14, 1 \n\ ! sc $15, 0($4) \n\ ! beq $15, 0, fail \n\ ! bne $14, 0, fail \n\ ! li $2, 0 \n\ ! .livereg 0x2000FF0E,0x00000FFF \n\ ! j $31 \n\ ! fail: \n\ ! li $2, 1 \n\ ! j $31 \n\ ! "); } #endif /* __mips__ */ --- 207,228 ---- static void tas_dummy() { ! __asm__ _volatile__( ! "\ ! .global tas \n\ ! tas: \n\ ! .frame $sp, 0, $31 \n\ ! ll $14, 0($4) \n\ ! or $15, $14, 1 \n\ ! sc $15, 0($4) \n\ ! beq $15, 0, fail\n\ ! bne $14, 0, fail\n\ ! li $2, 0 \n\ ! .livereg 0x2000FF0E,0x00000FFF \n\ ! j $31 \n\ ! fail: \n\ ! li $2, 1 \n\ ! j $31"); } #endif /* __mips__ */ Index: src/include/storage/s_lock.h =================================================================== RCS file: /home/projects/pgsql/cvsroot/pgsql/src/include/storage/s_lock.h,v retrieving revision 1.82 diff -c -r1.82 s_lock.h *** src/include/storage/s_lock.h 2001/01/19 07:03:53 1.82 --- src/include/storage/s_lock.h 2001/01/19 20:28:21 *************** *** 103,111 **** * Standard _asm format: * * __asm__ __volatile__( ! * "command;" ! * "command;" ! * "command;" * : "=r"(_res) return value, in register * : "r"(lock) argument, 'lock pointer', in register * : "r0"); inline code uses this register --- 103,111 ---- * Standard _asm format: * * __asm__ __volatile__( ! * "command \n" ! * "command \n" ! * "command \n" * : "=r"(_res) return value, in register * : "r"(lock) argument, 'lock pointer', in register * : "r0"); inline code uses this register *************** *** 121,128 **** register slock_t _res = 1; __asm__ __volatile__( ! "lock;" ! "xchgb %0,%1;" : "=q"(_res), "=m"(*lock) : "0"(_res)); return (int) _res; --- 121,128 ---- register slock_t _res = 1; __asm__ __volatile__( ! "lock \n" ! "xchgb %0,%1 \n" : "=q"(_res), "=m"(*lock) : "0"(_res)); return (int) _res; *************** *** 140,146 **** long int ret; __asm__ __volatile__( ! "xchg4 %0=%1,%2;" : "=r"(ret), "=m"(*lock) : "r"(1), "1"(*lock) : "memory"); --- 140,146 ---- long int ret; __asm__ __volatile__( ! "xchg4 %0=%1,%2 \n" : "=r"(ret), "=m"(*lock) : "r"(1), "1"(*lock) : "memory"); *************** *** 160,166 **** register slock_t _res = 1; __asm__ __volatile__( ! "swpb %0, %0, [%3];" : "=r"(_res), "=m"(*lock) : "0"(_res), "r"(lock)); return (int) _res; --- 160,166 ---- register slock_t _res = 1; __asm__ __volatile__( ! "swpb %0, %0, [%3] \n" : "=r"(_res), "=m"(*lock) : "0"(_res), "r"(lock)); return (int) _res; *************** *** 180,190 **** int _res; __asm__ __volatile__( ! "la 1,1;" ! "l 2,%2;" ! "slr 0,0;" ! "cs 0,1,0(2);" ! "lr %1,0;" : "=m"(lock), "=d"(_res) : "m"(lock) : "0", "1", "2"); --- 180,190 ---- int _res; __asm__ __volatile__( ! "la 1,1 \n" ! "l 2,%2 \n" ! "slr 0,0 \n" ! "cs 0,1,0(2) \n" ! "lr %1,0 \n" : "=m"(lock), "=d"(_res) : "m"(lock) : "0", "1", "2"); *************** *** 204,210 **** register slock_t _res = 1; __asm__ __volatile__( ! "ldstub [%2], %0;" : "=r"(_res), "=m"(*lock) : "r"(lock)); return (int) _res; --- 204,210 ---- register slock_t _res = 1; __asm__ __volatile__( ! "ldstub [%2], %0 \n" : "=r"(_res), "=m"(*lock) : "r"(lock)); return (int) _res; *************** *** 222,229 **** register int rv; __asm__ __volatile__( ! "tas %1;" ! "sne %0;" : "=d"(rv), "=m"(*lock) : "1"(*lock) : "cc"); --- 222,229 ---- register int rv; __asm__ __volatile__( ! "tas %1 \n" ! "sne %0 \n" : "=d"(rv), "=m"(*lock) : "1"(*lock) : "cc"); *************** *** 249,258 **** register _res; __asm__ __volatile__( ! "movl $1, r0;" ! "bbssi $0, (%1), 1f;" ! "clrl r0;" ! "1: movl r0, %0;" : "=r"(_res) : "r"(lock) : "r0"); --- 249,258 ---- register _res; __asm__ __volatile__( ! "movl $1, r0 \n" ! "bbssi $0, (%1), 1f \n" ! "clrl r0 \n" ! "1: movl r0, %0 \n" : "=r"(_res) : "r"(lock) : "r0"); *************** *** 271,278 **** register _res; __asm__ __volatile__( ! "sbitb 0, %0;" ! "sfsd %1;" : "=m"(*lock), "=r"(_res)); return (int) _res; } --- 271,278 ---- register _res; __asm__ __volatile__( ! "sbitb 0, %0 \n" ! "sfsd %1 \n" : "=m"(*lock), "=r"(_res)); return (int) _res; } *************** *** 339,354 **** register slock_t _res; __asm__ __volatile__( ! "ldq $0, %0;" ! "bne $0, 2f;" ! "ldq_l %1, %0;" ! "bne %1, 2f;" ! "mov 1, $0;" ! "stq_c $0, %0;" ! "beq $0, 2f;" ! "mb;" ! "br 3f;" ! "2: mov 1, %1;" "3:" : "=m"(*lock), "=r"(_res) : --- 339,354 ---- register slock_t _res; __asm__ __volatile__( ! "ldq $0, %0 \n" ! "bne $0, 2f \n" ! "ldq_l %1, %0 \n" ! "bne %1, 2f \n" ! "mov 1, $0 \n" ! "stq_c $0, %0 \n" ! "beq $0, 2f \n" ! "mb \n" ! "br 3f \n" ! "2: mov 1, %1 \n" "3:" : "=m"(*lock), "=r"(_res) :