mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-07-26 04:20:30 +00:00
Make improvements to locking
This change makes pthread_mutex_lock() as fast as _spinlock() by default. Thread instability issues on NetBSD have been resolved. Improvements made to gdtoa thread code. Crash reporting will now synchronize between threads in a slightly better way.
This commit is contained in:
parent
25041b8026
commit
d5312b60f7
60 changed files with 890 additions and 629 deletions
34
third_party/gdtoa/gdtoa.internal.h
vendored
34
third_party/gdtoa/gdtoa.internal.h
vendored
|
@ -355,35 +355,37 @@ hidden extern const unsigned char __gdtoa_hexdig[];
|
|||
hidden extern const char *const __gdtoa_InfName[6];
|
||||
hidden extern const char *const __gdtoa_NanName[3];
|
||||
|
||||
Bigint *__gdtoa_Balloc(int);
|
||||
Bigint *__gdtoa_d2b(double, int *, int *);
|
||||
Bigint *__gdtoa_diff(Bigint *, Bigint *);
|
||||
Bigint *__gdtoa_i2b(int);
|
||||
Bigint *__gdtoa_increment(Bigint *);
|
||||
Bigint *__gdtoa_lshift(Bigint *, int);
|
||||
Bigint *__gdtoa_mult(Bigint *, Bigint *);
|
||||
Bigint *__gdtoa_multadd(Bigint *, int, int);
|
||||
Bigint *__gdtoa_s2b(const char *, int, int, ULong, int);
|
||||
Bigint *__gdtoa_set_ones(Bigint *, int);
|
||||
Bigint *__gdtoa_sum(Bigint *, Bigint *);
|
||||
Bigint *__gdtoa_pow5mult(Bigint *, int);
|
||||
Bigint *__gdtoa_Balloc(int, ThInfo **);
|
||||
void __gdtoa_Bfree(Bigint *, ThInfo **);
|
||||
Bigint *__gdtoa_d2b(double, int *, int *, ThInfo **);
|
||||
Bigint *__gdtoa_diff(Bigint *, Bigint *, ThInfo **);
|
||||
int __gdtoa_gethex(const char **, const FPI *, int *, Bigint **, int,
|
||||
ThInfo **);
|
||||
Bigint *__gdtoa_i2b(int, ThInfo **);
|
||||
Bigint *__gdtoa_increment(Bigint *, ThInfo **);
|
||||
Bigint *__gdtoa_lshift(Bigint *, int, ThInfo **);
|
||||
Bigint *__gdtoa_mult(Bigint *, Bigint *, ThInfo **);
|
||||
Bigint *__gdtoa_multadd(Bigint *, int, int, ThInfo **);
|
||||
char *__gdtoa_nrv_alloc(char *, char **, int, ThInfo **);
|
||||
char *__gdtoa_rv_alloc(int, ThInfo **);
|
||||
Bigint *__gdtoa_pow5mult(Bigint *, int, ThInfo **);
|
||||
Bigint *__gdtoa_s2b(const char *, int, int, ULong, int, ThInfo **);
|
||||
Bigint *__gdtoa_set_ones(Bigint *, int, ThInfo **);
|
||||
Bigint *__gdtoa_sum(Bigint *, Bigint *, ThInfo **);
|
||||
|
||||
ULong __gdtoa_any_on(Bigint *, int);
|
||||
char *__gdtoa_add_nanbits(char *, size_t, ULong *, int);
|
||||
char *__gdtoa_g__fmt(char *, char *, char *, int, ULong, size_t);
|
||||
char *__gdtoa_nrv_alloc(char *, char **, int);
|
||||
char *__gdtoa_rv_alloc(int);
|
||||
double __gdtoa_b2d(Bigint *, int *);
|
||||
double __gdtoa_ratio(Bigint *, Bigint *);
|
||||
double __gdtoa_ulp(U *);
|
||||
int __gdtoa_cmp(Bigint *, Bigint *);
|
||||
int __gdtoa_gethex(const char **, const FPI *, Long *, Bigint **, int);
|
||||
int __gdtoa_hexnan(const char **, const FPI *, ULong *);
|
||||
int __gdtoa_match(const char **, char *);
|
||||
int __gdtoa_quorem(Bigint *, Bigint *);
|
||||
int __gdtoa_strtoIg(const char *, char **, const FPI *, Long *, Bigint **,
|
||||
int *);
|
||||
int __gdtoa_trailz(Bigint *);
|
||||
void __gdtoa_Bfree(Bigint *);
|
||||
void __gdtoa_ULtoQ(ULong *, ULong *, Long, int);
|
||||
void __gdtoa_ULtod(ULong *, ULong *, Long, int);
|
||||
void __gdtoa_ULtodd(ULong *, ULong *, Long, int);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue