From: Matt Birkholz Date: Fri, 5 Dec 2014 00:16:21 +0000 (-0700) Subject: smp: share: bkpt.o X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=0cacb404c1393a5872f1066409771b80c369502e;p=mit-scheme.git smp: share: bkpt.o --- diff --git a/README.txt b/README.txt index 71978046c..e4b1ed0a4 100644 --- a/README.txt +++ b/README.txt @@ -187,8 +187,11 @@ command line. The remaining 12 belong to the 7 microcode modules and OK. All state is thread-local now. bkpt.o: - 00000004 b One_Before - 00000000 B SP_List + 00000004 b One_Before __thread + 00000000 B SP_List __thread + + OK. All state is thread-local now. (What is this? It seems + stack-related and so is now machine-specific, but... ?) bignum.o: diff --git a/src/microcode/bkpt.c b/src/microcode/bkpt.c index 955a01b96..e9aecca3a 100644 --- a/src/microcode/bkpt.c +++ b/src/microcode/bkpt.c @@ -33,11 +33,11 @@ USA. #define sp_nil ((struct sp_record *) 0) -sp_record_list SP_List = sp_nil; +__thread sp_record_list SP_List = sp_nil; extern bool Add_a_Pop_Return_Breakpoint (SCHEME_OBJECT *); -static struct sp_record One_Before = +static __thread struct sp_record One_Before = { ((SCHEME_OBJECT *) 0), sp_nil diff --git a/src/microcode/bkpt.h b/src/microcode/bkpt.h index e7736a232..9ad1744e7 100644 --- a/src/microcode/bkpt.h +++ b/src/microcode/bkpt.h @@ -35,7 +35,7 @@ struct sp_record }; typedef struct sp_record * sp_record_list; -extern sp_record_list SP_List; +extern __thread sp_record_list SP_List; #define DEBUG_MAXSLOTS 100