mirror of
				https://github.com/python/cpython.git
				synced 2025-10-31 13:41:24 +00:00 
			
		
		
		
	replace Py_(u)intptr_t with the c99 standard types
This commit is contained in:
		
							parent
							
								
									3c397e4c39
								
							
						
					
					
						commit
						ca47063998
					
				
					 21 changed files with 86 additions and 86 deletions
				
			
		|  | @ -61,7 +61,7 @@ typedef enum _Py_memory_order { | ||||||
| } _Py_memory_order; | } _Py_memory_order; | ||||||
| 
 | 
 | ||||||
| typedef struct _Py_atomic_address { | typedef struct _Py_atomic_address { | ||||||
|     Py_uintptr_t _value; |     uintptr_t _value; | ||||||
| } _Py_atomic_address; | } _Py_atomic_address; | ||||||
| 
 | 
 | ||||||
| typedef struct _Py_atomic_int { | typedef struct _Py_atomic_int { | ||||||
|  | @ -98,7 +98,7 @@ typedef enum _Py_memory_order { | ||||||
| } _Py_memory_order; | } _Py_memory_order; | ||||||
| 
 | 
 | ||||||
| typedef struct _Py_atomic_address { | typedef struct _Py_atomic_address { | ||||||
|     Py_uintptr_t _value; |     uintptr_t _value; | ||||||
| } _Py_atomic_address; | } _Py_atomic_address; | ||||||
| 
 | 
 | ||||||
| typedef struct _Py_atomic_int { | typedef struct _Py_atomic_int { | ||||||
|  |  | ||||||
|  | @ -79,12 +79,12 @@ | ||||||
| #define _Py_SIZE_ROUND_UP(n, a) (((size_t)(n) + \ | #define _Py_SIZE_ROUND_UP(n, a) (((size_t)(n) + \ | ||||||
|         (size_t)((a) - 1)) & ~(size_t)((a) - 1)) |         (size_t)((a) - 1)) & ~(size_t)((a) - 1)) | ||||||
| /* Round pointer "p" down to the closest "a"-aligned address <= "p". */ | /* Round pointer "p" down to the closest "a"-aligned address <= "p". */ | ||||||
| #define _Py_ALIGN_DOWN(p, a) ((void *)((Py_uintptr_t)(p) & ~(Py_uintptr_t)((a) - 1))) | #define _Py_ALIGN_DOWN(p, a) ((void *)((uintptr_t)(p) & ~(uintptr_t)((a) - 1))) | ||||||
| /* Round pointer "p" up to the closest "a"-aligned address >= "p". */ | /* Round pointer "p" up to the closest "a"-aligned address >= "p". */ | ||||||
| #define _Py_ALIGN_UP(p, a) ((void *)(((Py_uintptr_t)(p) + \ | #define _Py_ALIGN_UP(p, a) ((void *)(((uintptr_t)(p) + \ | ||||||
|         (Py_uintptr_t)((a) - 1)) & ~(Py_uintptr_t)((a) - 1))) |         (uintptr_t)((a) - 1)) & ~(uintptr_t)((a) - 1))) | ||||||
| /* Check if pointer "p" is aligned to "a"-bytes boundary. */ | /* Check if pointer "p" is aligned to "a"-bytes boundary. */ | ||||||
| #define _Py_IS_ALIGNED(p, a) (!((Py_uintptr_t)(p) & (Py_uintptr_t)((a) - 1))) | #define _Py_IS_ALIGNED(p, a) (!((uintptr_t)(p) & (uintptr_t)((a) - 1))) | ||||||
| 
 | 
 | ||||||
| #ifdef __GNUC__ | #ifdef __GNUC__ | ||||||
| #define Py_UNUSED(name) _unused_ ## name __attribute__((unused)) | #define Py_UNUSED(name) _unused_ ## name __attribute__((unused)) | ||||||
|  |  | ||||||
|  | @ -37,7 +37,7 @@ typedef unsigned int _PyTraceMalloc_domain_t; | ||||||
|    If memory block is already tracked, update the existing trace. */ |    If memory block is already tracked, update the existing trace. */ | ||||||
| PyAPI_FUNC(int) _PyTraceMalloc_Track( | PyAPI_FUNC(int) _PyTraceMalloc_Track( | ||||||
|     _PyTraceMalloc_domain_t domain, |     _PyTraceMalloc_domain_t domain, | ||||||
|     Py_uintptr_t ptr, |     uintptr_t ptr, | ||||||
|     size_t size); |     size_t size); | ||||||
| 
 | 
 | ||||||
| /* Untrack an allocated memory block in the tracemalloc module.
 | /* Untrack an allocated memory block in the tracemalloc module.
 | ||||||
|  | @ -46,7 +46,7 @@ PyAPI_FUNC(int) _PyTraceMalloc_Track( | ||||||
|    Return -2 if tracemalloc is disabled, otherwise return 0. */ |    Return -2 if tracemalloc is disabled, otherwise return 0. */ | ||||||
| PyAPI_FUNC(int) _PyTraceMalloc_Untrack( | PyAPI_FUNC(int) _PyTraceMalloc_Untrack( | ||||||
|     _PyTraceMalloc_domain_t domain, |     _PyTraceMalloc_domain_t domain, | ||||||
|     Py_uintptr_t ptr); |     uintptr_t ptr); | ||||||
| 
 | 
 | ||||||
| /* Get the traceback where a memory block was allocated.
 | /* Get the traceback where a memory block was allocated.
 | ||||||
| 
 | 
 | ||||||
|  | @ -58,7 +58,7 @@ PyAPI_FUNC(int) _PyTraceMalloc_Untrack( | ||||||
|    Raise an exception and return NULL on error. */ |    Raise an exception and return NULL on error. */ | ||||||
| PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback( | PyAPI_FUNC(PyObject*) _PyTraceMalloc_GetTraceback( | ||||||
|     _PyTraceMalloc_domain_t domain, |     _PyTraceMalloc_domain_t domain, | ||||||
|     Py_uintptr_t ptr); |     uintptr_t ptr); | ||||||
| #endif   /* !Py_LIMITED_API */ | #endif   /* !Py_LIMITED_API */ | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -57,9 +57,9 @@ do { memory -= size; printf("%8d - %s\n", memory, comment); } while (0) | ||||||
|    that all use of text and tail as object pointers must be wrapped in |    that all use of text and tail as object pointers must be wrapped in | ||||||
|    JOIN_OBJ.  see comments in the ElementObject definition for more |    JOIN_OBJ.  see comments in the ElementObject definition for more | ||||||
|    info. */ |    info. */ | ||||||
| #define JOIN_GET(p) ((Py_uintptr_t) (p) & 1) | #define JOIN_GET(p) ((uintptr_t) (p) & 1) | ||||||
| #define JOIN_SET(p, flag) ((void*) ((Py_uintptr_t) (JOIN_OBJ(p)) | (flag))) | #define JOIN_SET(p, flag) ((void*) ((uintptr_t) (JOIN_OBJ(p)) | (flag))) | ||||||
| #define JOIN_OBJ(p) ((PyObject*) ((Py_uintptr_t) (p) & ~(Py_uintptr_t)1)) | #define JOIN_OBJ(p) ((PyObject*) ((uintptr_t) (p) & ~(uintptr_t)1)) | ||||||
| 
 | 
 | ||||||
| /* Py_CLEAR for a PyObject* that uses a join flag. Pass the pointer by
 | /* Py_CLEAR for a PyObject* that uses a join flag. Pass the pointer by
 | ||||||
|  * reference since this function sets it to NULL. |  * reference since this function sets it to NULL. | ||||||
|  | @ -797,7 +797,7 @@ _elementtree_Element___deepcopy__(ElementObject *self, PyObject *memo) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     /* add object to memo dictionary (so deepcopy won't visit it again) */ |     /* add object to memo dictionary (so deepcopy won't visit it again) */ | ||||||
|     id = PyLong_FromSsize_t((Py_uintptr_t) self); |     id = PyLong_FromSsize_t((uintptr_t) self); | ||||||
|     if (!id) |     if (!id) | ||||||
|         goto error; |         goto error; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1582,7 +1582,7 @@ _sre_compile_impl(PyObject *module, PyObject *pattern, int flags, | ||||||
|         skip = *code;                                   \ |         skip = *code;                                   \ | ||||||
|         VTRACE(("%lu (skip to %p)\n",                   \ |         VTRACE(("%lu (skip to %p)\n",                   \ | ||||||
|                (unsigned long)skip, code+skip));        \ |                (unsigned long)skip, code+skip));        \ | ||||||
|         if (skip-adj > (Py_uintptr_t)(end - code))      \ |         if (skip-adj > (uintptr_t)(end - code))      \ | ||||||
|             FAIL;                                       \ |             FAIL;                                       \ | ||||||
|         code++;                                         \ |         code++;                                         \ | ||||||
|     } while (0) |     } while (0) | ||||||
|  | @ -1616,7 +1616,7 @@ _validate_charset(SRE_CODE *code, SRE_CODE *end) | ||||||
| 
 | 
 | ||||||
|         case SRE_OP_CHARSET: |         case SRE_OP_CHARSET: | ||||||
|             offset = 256/SRE_CODE_BITS; /* 256-bit bitmap */ |             offset = 256/SRE_CODE_BITS; /* 256-bit bitmap */ | ||||||
|             if (offset > (Py_uintptr_t)(end - code)) |             if (offset > (uintptr_t)(end - code)) | ||||||
|                 FAIL; |                 FAIL; | ||||||
|             code += offset; |             code += offset; | ||||||
|             break; |             break; | ||||||
|  | @ -1624,7 +1624,7 @@ _validate_charset(SRE_CODE *code, SRE_CODE *end) | ||||||
|         case SRE_OP_BIGCHARSET: |         case SRE_OP_BIGCHARSET: | ||||||
|             GET_ARG; /* Number of blocks */ |             GET_ARG; /* Number of blocks */ | ||||||
|             offset = 256/sizeof(SRE_CODE); /* 256-byte table */ |             offset = 256/sizeof(SRE_CODE); /* 256-byte table */ | ||||||
|             if (offset > (Py_uintptr_t)(end - code)) |             if (offset > (uintptr_t)(end - code)) | ||||||
|                 FAIL; |                 FAIL; | ||||||
|             /* Make sure that each byte points to a valid block */ |             /* Make sure that each byte points to a valid block */ | ||||||
|             for (i = 0; i < 256; i++) { |             for (i = 0; i < 256; i++) { | ||||||
|  | @ -1633,7 +1633,7 @@ _validate_charset(SRE_CODE *code, SRE_CODE *end) | ||||||
|             } |             } | ||||||
|             code += offset; |             code += offset; | ||||||
|             offset = arg * (256/SRE_CODE_BITS); /* 256-bit bitmap times arg */ |             offset = arg * (256/SRE_CODE_BITS); /* 256-bit bitmap times arg */ | ||||||
|             if (offset > (Py_uintptr_t)(end - code)) |             if (offset > (uintptr_t)(end - code)) | ||||||
|                 FAIL; |                 FAIL; | ||||||
|             code += offset; |             code += offset; | ||||||
|             break; |             break; | ||||||
|  | @ -1784,11 +1784,11 @@ _validate_inner(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups) | ||||||
|                     GET_ARG; prefix_len = arg; |                     GET_ARG; prefix_len = arg; | ||||||
|                     GET_ARG; |                     GET_ARG; | ||||||
|                     /* Here comes the prefix string */ |                     /* Here comes the prefix string */ | ||||||
|                     if (prefix_len > (Py_uintptr_t)(newcode - code)) |                     if (prefix_len > (uintptr_t)(newcode - code)) | ||||||
|                         FAIL; |                         FAIL; | ||||||
|                     code += prefix_len; |                     code += prefix_len; | ||||||
|                     /* And here comes the overlap table */ |                     /* And here comes the overlap table */ | ||||||
|                     if (prefix_len > (Py_uintptr_t)(newcode - code)) |                     if (prefix_len > (uintptr_t)(newcode - code)) | ||||||
|                         FAIL; |                         FAIL; | ||||||
|                     /* Each overlap value should be < prefix_len */ |                     /* Each overlap value should be < prefix_len */ | ||||||
|                     for (i = 0; i < prefix_len; i++) { |                     for (i = 0; i < prefix_len; i++) { | ||||||
|  | @ -1917,7 +1917,7 @@ _validate_inner(SRE_CODE *code, SRE_CODE *end, Py_ssize_t groups) | ||||||
|                to allow arbitrary jumps anywhere in the code; so we just look |                to allow arbitrary jumps anywhere in the code; so we just look | ||||||
|                for a JUMP opcode preceding our skip target. |                for a JUMP opcode preceding our skip target. | ||||||
|             */ |             */ | ||||||
|             if (skip >= 3 && skip-3 < (Py_uintptr_t)(end - code) && |             if (skip >= 3 && skip-3 < (uintptr_t)(end - code) && | ||||||
|                 code[skip-3] == SRE_OP_JUMP) |                 code[skip-3] == SRE_OP_JUMP) | ||||||
|             { |             { | ||||||
|                 VTRACE(("both then and else parts present\n")); |                 VTRACE(("both then and else parts present\n")); | ||||||
|  |  | ||||||
|  | @ -113,10 +113,10 @@ test_sizeof_c_types(PyObject *self) | ||||||
|     CHECK_SIZEOF(Py_ssize_t, sizeof(void *)); |     CHECK_SIZEOF(Py_ssize_t, sizeof(void *)); | ||||||
|     CHECK_SIGNNESS(Py_ssize_t, 1); |     CHECK_SIGNNESS(Py_ssize_t, 1); | ||||||
| 
 | 
 | ||||||
|     CHECK_SIZEOF(Py_uintptr_t, sizeof(void *)); |     CHECK_SIZEOF(uintptr_t, sizeof(void *)); | ||||||
|     CHECK_SIGNNESS(Py_uintptr_t, 0); |     CHECK_SIGNNESS(uintptr_t, 0); | ||||||
|     CHECK_SIZEOF(Py_intptr_t, sizeof(void *)); |     CHECK_SIZEOF(intptr_t, sizeof(void *)); | ||||||
|     CHECK_SIGNNESS(Py_intptr_t, 1); |     CHECK_SIGNNESS(intptr_t, 1); | ||||||
| 
 | 
 | ||||||
|     Py_INCREF(Py_None); |     Py_INCREF(Py_None); | ||||||
|     return Py_None; |     return Py_None; | ||||||
|  | @ -3861,11 +3861,11 @@ tracemalloc_track(PyObject *self, PyObject *args) | ||||||
| 
 | 
 | ||||||
|     if (release_gil) { |     if (release_gil) { | ||||||
|         Py_BEGIN_ALLOW_THREADS |         Py_BEGIN_ALLOW_THREADS | ||||||
|         res = _PyTraceMalloc_Track(domain, (Py_uintptr_t)ptr, size); |         res = _PyTraceMalloc_Track(domain, (uintptr_t)ptr, size); | ||||||
|         Py_END_ALLOW_THREADS |         Py_END_ALLOW_THREADS | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         res = _PyTraceMalloc_Track(domain, (Py_uintptr_t)ptr, size); |         res = _PyTraceMalloc_Track(domain, (uintptr_t)ptr, size); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (res < 0) { |     if (res < 0) { | ||||||
|  | @ -3890,7 +3890,7 @@ tracemalloc_untrack(PyObject *self, PyObject *args) | ||||||
|     if (PyErr_Occurred()) |     if (PyErr_Occurred()) | ||||||
|         return NULL; |         return NULL; | ||||||
| 
 | 
 | ||||||
|     res = _PyTraceMalloc_Untrack(domain, (Py_uintptr_t)ptr); |     res = _PyTraceMalloc_Untrack(domain, (uintptr_t)ptr); | ||||||
|     if (res < 0) { |     if (res < 0) { | ||||||
|         PyErr_SetString(PyExc_RuntimeError, "_PyTraceMalloc_Track error"); |         PyErr_SetString(PyExc_RuntimeError, "_PyTraceMalloc_Track error"); | ||||||
|         return NULL; |         return NULL; | ||||||
|  | @ -3912,7 +3912,7 @@ tracemalloc_get_traceback(PyObject *self, PyObject *args) | ||||||
|     if (PyErr_Occurred()) |     if (PyErr_Occurred()) | ||||||
|         return NULL; |         return NULL; | ||||||
| 
 | 
 | ||||||
|     return _PyTraceMalloc_GetTraceback(domain, (Py_uintptr_t)ptr); |     return _PyTraceMalloc_GetTraceback(domain, (uintptr_t)ptr); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -67,7 +67,7 @@ typedef struct | ||||||
| __attribute__((packed)) | __attribute__((packed)) | ||||||
| #endif | #endif | ||||||
| { | { | ||||||
|     Py_uintptr_t ptr; |     uintptr_t ptr; | ||||||
|     _PyTraceMalloc_domain_t domain; |     _PyTraceMalloc_domain_t domain; | ||||||
| } pointer_t; | } pointer_t; | ||||||
| 
 | 
 | ||||||
|  | @ -523,7 +523,7 @@ static int | ||||||
| tracemalloc_use_domain_cb(_Py_hashtable_t *old_traces, | tracemalloc_use_domain_cb(_Py_hashtable_t *old_traces, | ||||||
|                            _Py_hashtable_entry_t *entry, void *user_data) |                            _Py_hashtable_entry_t *entry, void *user_data) | ||||||
| { | { | ||||||
|     Py_uintptr_t ptr; |     uintptr_t ptr; | ||||||
|     pointer_t key; |     pointer_t key; | ||||||
|     _Py_hashtable_t *new_traces = (_Py_hashtable_t *)user_data; |     _Py_hashtable_t *new_traces = (_Py_hashtable_t *)user_data; | ||||||
|     const void *pdata = _Py_HASHTABLE_ENTRY_PDATA(old_traces, entry); |     const void *pdata = _Py_HASHTABLE_ENTRY_PDATA(old_traces, entry); | ||||||
|  | @ -538,7 +538,7 @@ tracemalloc_use_domain_cb(_Py_hashtable_t *old_traces, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| /* Convert tracemalloc_traces from compact key (Py_uintptr_t) to pointer_t key.
 | /* Convert tracemalloc_traces from compact key (uintptr_t) to pointer_t key.
 | ||||||
|  * Return 0 on success, -1 on error. */ |  * Return 0 on success, -1 on error. */ | ||||||
| static int | static int | ||||||
| tracemalloc_use_domain(void) | tracemalloc_use_domain(void) | ||||||
|  | @ -572,7 +572,7 @@ tracemalloc_use_domain(void) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
| tracemalloc_remove_trace(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | tracemalloc_remove_trace(_PyTraceMalloc_domain_t domain, uintptr_t ptr) | ||||||
| { | { | ||||||
|     trace_t trace; |     trace_t trace; | ||||||
|     int removed; |     int removed; | ||||||
|  | @ -595,11 +595,11 @@ tracemalloc_remove_trace(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #define REMOVE_TRACE(ptr) \ | #define REMOVE_TRACE(ptr) \ | ||||||
|             tracemalloc_remove_trace(DEFAULT_DOMAIN, (Py_uintptr_t)(ptr)) |             tracemalloc_remove_trace(DEFAULT_DOMAIN, (uintptr_t)(ptr)) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static int | static int | ||||||
| tracemalloc_add_trace(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr, | tracemalloc_add_trace(_PyTraceMalloc_domain_t domain, uintptr_t ptr, | ||||||
|                       size_t size) |                       size_t size) | ||||||
| { | { | ||||||
|     pointer_t key = {ptr, domain}; |     pointer_t key = {ptr, domain}; | ||||||
|  | @ -617,7 +617,7 @@ tracemalloc_add_trace(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr, | ||||||
| 
 | 
 | ||||||
|     if (!tracemalloc_config.use_domain && domain != DEFAULT_DOMAIN) { |     if (!tracemalloc_config.use_domain && domain != DEFAULT_DOMAIN) { | ||||||
|         /* first trace using a non-zero domain whereas traces use compact
 |         /* first trace using a non-zero domain whereas traces use compact
 | ||||||
|            (Py_uintptr_t) keys: switch to pointer_t keys. */ |            (uintptr_t) keys: switch to pointer_t keys. */ | ||||||
|         if (tracemalloc_use_domain() < 0) { |         if (tracemalloc_use_domain() < 0) { | ||||||
|             return -1; |             return -1; | ||||||
|         } |         } | ||||||
|  | @ -663,7 +663,7 @@ tracemalloc_add_trace(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #define ADD_TRACE(ptr, size) \ | #define ADD_TRACE(ptr, size) \ | ||||||
|             tracemalloc_add_trace(DEFAULT_DOMAIN, (Py_uintptr_t)(ptr), size) |             tracemalloc_add_trace(DEFAULT_DOMAIN, (uintptr_t)(ptr), size) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static void* | static void* | ||||||
|  | @ -1023,7 +1023,7 @@ tracemalloc_init(void) | ||||||
|                                            hashtable_compare_pointer_t); |                                            hashtable_compare_pointer_t); | ||||||
|     } |     } | ||||||
|     else { |     else { | ||||||
|         tracemalloc_traces = hashtable_new(sizeof(Py_uintptr_t), |         tracemalloc_traces = hashtable_new(sizeof(uintptr_t), | ||||||
|                                            sizeof(trace_t), |                                            sizeof(trace_t), | ||||||
|                                            _Py_hashtable_hash_ptr, |                                            _Py_hashtable_hash_ptr, | ||||||
|                                            _Py_hashtable_compare_direct); |                                            _Py_hashtable_compare_direct); | ||||||
|  | @ -1414,7 +1414,7 @@ py_tracemalloc_get_traces(PyObject *self, PyObject *obj) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static traceback_t* | static traceback_t* | ||||||
| tracemalloc_get_traceback(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | tracemalloc_get_traceback(_PyTraceMalloc_domain_t domain, uintptr_t ptr) | ||||||
| { | { | ||||||
|     trace_t trace; |     trace_t trace; | ||||||
|     int found; |     int found; | ||||||
|  | @ -1461,7 +1461,7 @@ py_tracemalloc_get_object_traceback(PyObject *self, PyObject *obj) | ||||||
|     else |     else | ||||||
|         ptr = (void *)obj; |         ptr = (void *)obj; | ||||||
| 
 | 
 | ||||||
|     traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, (Py_uintptr_t)ptr); |     traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, (uintptr_t)ptr); | ||||||
|     if (traceback == NULL) |     if (traceback == NULL) | ||||||
|         Py_RETURN_NONE; |         Py_RETURN_NONE; | ||||||
| 
 | 
 | ||||||
|  | @ -1489,7 +1489,7 @@ _PyMem_DumpTraceback(int fd, const void *ptr) | ||||||
|     traceback_t *traceback; |     traceback_t *traceback; | ||||||
|     int i; |     int i; | ||||||
| 
 | 
 | ||||||
|     traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, (Py_uintptr_t)ptr); |     traceback = tracemalloc_get_traceback(DEFAULT_DOMAIN, (uintptr_t)ptr); | ||||||
|     if (traceback == NULL) |     if (traceback == NULL) | ||||||
|         return; |         return; | ||||||
| 
 | 
 | ||||||
|  | @ -1762,7 +1762,7 @@ _PyTraceMalloc_Fini(void) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int | int | ||||||
| _PyTraceMalloc_Track(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr, | _PyTraceMalloc_Track(_PyTraceMalloc_domain_t domain, uintptr_t ptr, | ||||||
|                      size_t size) |                      size_t size) | ||||||
| { | { | ||||||
|     int res; |     int res; | ||||||
|  | @ -1791,7 +1791,7 @@ _PyTraceMalloc_Track(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr, | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| int | int | ||||||
| _PyTraceMalloc_Untrack(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | _PyTraceMalloc_Untrack(_PyTraceMalloc_domain_t domain, uintptr_t ptr) | ||||||
| { | { | ||||||
|     if (!tracemalloc_config.tracing) { |     if (!tracemalloc_config.tracing) { | ||||||
|         /* tracemalloc is not tracing: do nothing */ |         /* tracemalloc is not tracing: do nothing */ | ||||||
|  | @ -1807,7 +1807,7 @@ _PyTraceMalloc_Untrack(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| PyObject* | PyObject* | ||||||
| _PyTraceMalloc_GetTraceback(_PyTraceMalloc_domain_t domain, Py_uintptr_t ptr) | _PyTraceMalloc_GetTraceback(_PyTraceMalloc_domain_t domain, uintptr_t ptr) | ||||||
| { | { | ||||||
|     traceback_t *traceback; |     traceback_t *traceback; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -1072,12 +1072,12 @@ faulthandler_fatal_error_py(PyObject *self, PyObject *args) | ||||||
| #  pragma intel optimization_level 0 | #  pragma intel optimization_level 0 | ||||||
| #endif | #endif | ||||||
| static | static | ||||||
| Py_uintptr_t | uintptr_t | ||||||
| stack_overflow(Py_uintptr_t min_sp, Py_uintptr_t max_sp, size_t *depth) | stack_overflow(uintptr_t min_sp, uintptr_t max_sp, size_t *depth) | ||||||
| { | { | ||||||
|     /* allocate 4096 bytes on the stack at each call */ |     /* allocate 4096 bytes on the stack at each call */ | ||||||
|     unsigned char buffer[4096]; |     unsigned char buffer[4096]; | ||||||
|     Py_uintptr_t sp = (Py_uintptr_t)&buffer; |     uintptr_t sp = (uintptr_t)&buffer; | ||||||
|     *depth += 1; |     *depth += 1; | ||||||
|     if (sp < min_sp || max_sp < sp) |     if (sp < min_sp || max_sp < sp) | ||||||
|         return sp; |         return sp; | ||||||
|  | @ -1090,8 +1090,8 @@ static PyObject * | ||||||
| faulthandler_stack_overflow(PyObject *self) | faulthandler_stack_overflow(PyObject *self) | ||||||
| { | { | ||||||
|     size_t depth, size; |     size_t depth, size; | ||||||
|     Py_uintptr_t sp = (Py_uintptr_t)&depth; |     uintptr_t sp = (uintptr_t)&depth; | ||||||
|     Py_uintptr_t stop; |     uintptr_t stop; | ||||||
| 
 | 
 | ||||||
|     faulthandler_suppress_crash_report(); |     faulthandler_suppress_crash_report(); | ||||||
|     depth = 0; |     depth = 0; | ||||||
|  |  | ||||||
|  | @ -2492,8 +2492,8 @@ class id_t_converter(CConverter): | ||||||
|     type = 'id_t' |     type = 'id_t' | ||||||
|     format_unit = '" _Py_PARSE_PID "' |     format_unit = '" _Py_PARSE_PID "' | ||||||
| 
 | 
 | ||||||
| class Py_intptr_t_converter(CConverter): | class intptr_t_converter(CConverter): | ||||||
|     type = 'Py_intptr_t' |     type = 'intptr_t' | ||||||
|     format_unit = '" _Py_PARSE_INTPTR "' |     format_unit = '" _Py_PARSE_INTPTR "' | ||||||
| 
 | 
 | ||||||
| class Py_off_t_converter(CConverter): | class Py_off_t_converter(CConverter): | ||||||
|  | @ -5244,7 +5244,7 @@ os_spawnv_impl(PyObject *module, int mode, PyObject *path, PyObject *argv) | ||||||
|     char **argvlist; |     char **argvlist; | ||||||
|     int i; |     int i; | ||||||
|     Py_ssize_t argc; |     Py_ssize_t argc; | ||||||
|     Py_intptr_t spawnval; |     intptr_t spawnval; | ||||||
|     PyObject *(*getitem)(PyObject *, Py_ssize_t); |     PyObject *(*getitem)(PyObject *, Py_ssize_t); | ||||||
| 
 | 
 | ||||||
|     /* spawnv has three arguments: (mode, path, argv), where
 |     /* spawnv has three arguments: (mode, path, argv), where
 | ||||||
|  | @ -5323,7 +5323,7 @@ os_spawnve_impl(PyObject *module, int mode, PyObject *path, PyObject *argv, | ||||||
|     char **envlist; |     char **envlist; | ||||||
|     PyObject *res = NULL; |     PyObject *res = NULL; | ||||||
|     Py_ssize_t argc, i, envc; |     Py_ssize_t argc, i, envc; | ||||||
|     Py_intptr_t spawnval; |     intptr_t spawnval; | ||||||
|     PyObject *(*getitem)(PyObject *, Py_ssize_t); |     PyObject *(*getitem)(PyObject *, Py_ssize_t); | ||||||
|     Py_ssize_t lastarg = 0; |     Py_ssize_t lastarg = 0; | ||||||
| 
 | 
 | ||||||
|  | @ -7078,7 +7078,7 @@ os_waitpid_impl(PyObject *module, pid_t pid, int options) | ||||||
| /* MS C has a variant of waitpid() that's usable for most purposes. */ | /* MS C has a variant of waitpid() that's usable for most purposes. */ | ||||||
| /*[clinic input]
 | /*[clinic input]
 | ||||||
| os.waitpid | os.waitpid | ||||||
|     pid: Py_intptr_t |     pid: intptr_t | ||||||
|     options: int |     options: int | ||||||
|     / |     / | ||||||
| 
 | 
 | ||||||
|  | @ -7091,11 +7091,11 @@ The options argument is ignored on Windows. | ||||||
| [clinic start generated code]*/ | [clinic start generated code]*/ | ||||||
| 
 | 
 | ||||||
| static PyObject * | static PyObject * | ||||||
| os_waitpid_impl(PyObject *module, Py_intptr_t pid, int options) | os_waitpid_impl(PyObject *module, intptr_t pid, int options) | ||||||
| /*[clinic end generated code: output=15f1ce005a346b09 input=444c8f51cca5b862]*/ | /*[clinic end generated code: output=15f1ce005a346b09 input=444c8f51cca5b862]*/ | ||||||
| { | { | ||||||
|     int status; |     int status; | ||||||
|     Py_intptr_t res; |     intptr_t res; | ||||||
|     int async_err = 0; |     int async_err = 0; | ||||||
| 
 | 
 | ||||||
|     do { |     do { | ||||||
|  | @ -8559,8 +8559,8 @@ os_pipe_impl(PyObject *module) | ||||||
|     Py_BEGIN_ALLOW_THREADS |     Py_BEGIN_ALLOW_THREADS | ||||||
|     ok = CreatePipe(&read, &write, &attr, 0); |     ok = CreatePipe(&read, &write, &attr, 0); | ||||||
|     if (ok) { |     if (ok) { | ||||||
|         fds[0] = _open_osfhandle((Py_intptr_t)read, _O_RDONLY); |         fds[0] = _open_osfhandle((intptr_t)read, _O_RDONLY); | ||||||
|         fds[1] = _open_osfhandle((Py_intptr_t)write, _O_WRONLY); |         fds[1] = _open_osfhandle((intptr_t)write, _O_WRONLY); | ||||||
|         if (fds[0] == -1 || fds[1] == -1) { |         if (fds[0] == -1 || fds[1] == -1) { | ||||||
|             CloseHandle(read); |             CloseHandle(read); | ||||||
|             CloseHandle(write); |             CloseHandle(write); | ||||||
|  | @ -11375,14 +11375,14 @@ os_set_inheritable_impl(PyObject *module, int fd, int inheritable) | ||||||
| #ifdef MS_WINDOWS | #ifdef MS_WINDOWS | ||||||
| /*[clinic input]
 | /*[clinic input]
 | ||||||
| os.get_handle_inheritable -> bool | os.get_handle_inheritable -> bool | ||||||
|     handle: Py_intptr_t |     handle: intptr_t | ||||||
|     / |     / | ||||||
| 
 | 
 | ||||||
| Get the close-on-exe flag of the specified file descriptor. | Get the close-on-exe flag of the specified file descriptor. | ||||||
| [clinic start generated code]*/ | [clinic start generated code]*/ | ||||||
| 
 | 
 | ||||||
| static int | static int | ||||||
| os_get_handle_inheritable_impl(PyObject *module, Py_intptr_t handle) | os_get_handle_inheritable_impl(PyObject *module, intptr_t handle) | ||||||
| /*[clinic end generated code: output=9e5389b0aa0916ce input=5f7759443aae3dc5]*/ | /*[clinic end generated code: output=9e5389b0aa0916ce input=5f7759443aae3dc5]*/ | ||||||
| { | { | ||||||
|     DWORD flags; |     DWORD flags; | ||||||
|  | @ -11398,7 +11398,7 @@ os_get_handle_inheritable_impl(PyObject *module, Py_intptr_t handle) | ||||||
| 
 | 
 | ||||||
| /*[clinic input]
 | /*[clinic input]
 | ||||||
| os.set_handle_inheritable | os.set_handle_inheritable | ||||||
|     handle: Py_intptr_t |     handle: intptr_t | ||||||
|     inheritable: bool |     inheritable: bool | ||||||
|     / |     / | ||||||
| 
 | 
 | ||||||
|  | @ -11406,7 +11406,7 @@ Set the inheritable flag of the specified handle. | ||||||
| [clinic start generated code]*/ | [clinic start generated code]*/ | ||||||
| 
 | 
 | ||||||
| static PyObject * | static PyObject * | ||||||
| os_set_handle_inheritable_impl(PyObject *module, Py_intptr_t handle, | os_set_handle_inheritable_impl(PyObject *module, intptr_t handle, | ||||||
|                                int inheritable) |                                int inheritable) | ||||||
| /*[clinic end generated code: output=b1e67bfa3213d745 input=e64b2b2730469def]*/ | /*[clinic end generated code: output=b1e67bfa3213d745 input=e64b2b2730469def]*/ | ||||||
| { | { | ||||||
|  |  | ||||||
|  | @ -1797,7 +1797,7 @@ static PyTypeObject kqueue_queue_Type; | ||||||
|  */ |  */ | ||||||
| #if !defined(__OpenBSD__) | #if !defined(__OpenBSD__) | ||||||
| #   define IDENT_TYPE  T_UINTPTRT | #   define IDENT_TYPE  T_UINTPTRT | ||||||
| #   define IDENT_CAST  Py_intptr_t | #   define IDENT_CAST  intptr_t | ||||||
| #   define DATA_TYPE   T_INTPTRT | #   define DATA_TYPE   T_INTPTRT | ||||||
| #   define DATA_FMT_UNIT INTPTRT_FMT_UNIT | #   define DATA_FMT_UNIT INTPTRT_FMT_UNIT | ||||||
| #   define IDENT_AsType PyLong_AsUintptr_t | #   define IDENT_AsType PyLong_AsUintptr_t | ||||||
|  | @ -1876,7 +1876,7 @@ static PyObject * | ||||||
| kqueue_event_richcompare(kqueue_event_Object *s, kqueue_event_Object *o, | kqueue_event_richcompare(kqueue_event_Object *s, kqueue_event_Object *o, | ||||||
|                          int op) |                          int op) | ||||||
| { | { | ||||||
|     Py_intptr_t result = 0; |     intptr_t result = 0; | ||||||
| 
 | 
 | ||||||
|     if (!kqueue_event_Check(o)) { |     if (!kqueue_event_Check(o)) { | ||||||
|         if (op == Py_EQ || op == Py_NE) { |         if (op == Py_EQ || op == Py_NE) { | ||||||
|  |  | ||||||
|  | @ -198,7 +198,7 @@ static int | ||||||
| report_wakeup_write_error(void *data) | report_wakeup_write_error(void *data) | ||||||
| { | { | ||||||
|     int save_errno = errno; |     int save_errno = errno; | ||||||
|     errno = (int) (Py_intptr_t) data; |     errno = (int) (intptr_t) data; | ||||||
|     PyErr_SetFromErrno(PyExc_OSError); |     PyErr_SetFromErrno(PyExc_OSError); | ||||||
|     PySys_WriteStderr("Exception ignored when trying to write to the " |     PySys_WriteStderr("Exception ignored when trying to write to the " | ||||||
|                       "signal wakeup fd:\n"); |                       "signal wakeup fd:\n"); | ||||||
|  | @ -277,7 +277,7 @@ trip_signal(int sig_num) | ||||||
| 
 | 
 | ||||||
|             if (rc < 0) { |             if (rc < 0) { | ||||||
|                 Py_AddPendingCall(report_wakeup_write_error, |                 Py_AddPendingCall(report_wakeup_write_error, | ||||||
|                                   (void *)(Py_intptr_t)errno); |                                   (void *)(intptr_t)errno); | ||||||
|             } |             } | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  | @ -529,7 +529,7 @@ SRE(match)(SRE_STATE* state, SRE_CODE* pattern, int match_all) | ||||||
|     if (ctx->pattern[0] == SRE_OP_INFO) { |     if (ctx->pattern[0] == SRE_OP_INFO) { | ||||||
|         /* optimization info block */ |         /* optimization info block */ | ||||||
|         /* <INFO> <1=skip> <2=flags> <3=min> ... */ |         /* <INFO> <1=skip> <2=flags> <3=min> ... */ | ||||||
|         if (ctx->pattern[3] && (Py_uintptr_t)(end - ctx->ptr) < ctx->pattern[3]) { |         if (ctx->pattern[3] && (uintptr_t)(end - ctx->ptr) < ctx->pattern[3]) { | ||||||
|             TRACE(("reject (got %" PY_FORMAT_SIZE_T "d chars, " |             TRACE(("reject (got %" PY_FORMAT_SIZE_T "d chars, " | ||||||
|                    "need %" PY_FORMAT_SIZE_T "d)\n", |                    "need %" PY_FORMAT_SIZE_T "d)\n", | ||||||
|                    end - ctx->ptr, (Py_ssize_t) ctx->pattern[3])); |                    end - ctx->ptr, (Py_ssize_t) ctx->pattern[3])); | ||||||
|  |  | ||||||
|  | @ -1019,7 +1019,7 @@ wrapper_dealloc(wrapperobject *wp) | ||||||
| static PyObject * | static PyObject * | ||||||
| wrapper_richcompare(PyObject *a, PyObject *b, int op) | wrapper_richcompare(PyObject *a, PyObject *b, int op) | ||||||
| { | { | ||||||
|     Py_intptr_t result; |     intptr_t result; | ||||||
|     PyObject *v; |     PyObject *v; | ||||||
|     PyWrapperDescrObject *a_descr, *b_descr; |     PyWrapperDescrObject *a_descr, *b_descr; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -989,13 +989,13 @@ PyObject * | ||||||
| PyLong_FromVoidPtr(void *p) | PyLong_FromVoidPtr(void *p) | ||||||
| { | { | ||||||
| #if SIZEOF_VOID_P <= SIZEOF_LONG | #if SIZEOF_VOID_P <= SIZEOF_LONG | ||||||
|     return PyLong_FromUnsignedLong((unsigned long)(Py_uintptr_t)p); |     return PyLong_FromUnsignedLong((unsigned long)(uintptr_t)p); | ||||||
| #else | #else | ||||||
| 
 | 
 | ||||||
| #if SIZEOF_LONG_LONG < SIZEOF_VOID_P | #if SIZEOF_LONG_LONG < SIZEOF_VOID_P | ||||||
| #   error "PyLong_FromVoidPtr: sizeof(long long) < sizeof(void*)" | #   error "PyLong_FromVoidPtr: sizeof(long long) < sizeof(void*)" | ||||||
| #endif | #endif | ||||||
|     return PyLong_FromUnsignedLongLong((unsigned long long)(Py_uintptr_t)p); |     return PyLong_FromUnsignedLongLong((unsigned long long)(uintptr_t)p); | ||||||
| #endif /* SIZEOF_VOID_P <= SIZEOF_LONG */ | #endif /* SIZEOF_VOID_P <= SIZEOF_LONG */ | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -18,7 +18,7 @@ extern void _PyMem_DumpTraceback(int fd, const void *ptr); | ||||||
| #define uint    unsigned int    /* assuming >= 16 bits */ | #define uint    unsigned int    /* assuming >= 16 bits */ | ||||||
| 
 | 
 | ||||||
| #undef uptr | #undef uptr | ||||||
| #define uptr    Py_uintptr_t | #define uptr    uintptr_t | ||||||
| 
 | 
 | ||||||
| /* Forward declaration */ | /* Forward declaration */ | ||||||
| static void* _PyMem_DebugRawMalloc(void *ctx, size_t size); | static void* _PyMem_DebugRawMalloc(void *ctx, size_t size); | ||||||
|  |  | ||||||
|  | @ -33,12 +33,12 @@ | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| /*[python input]
 | /*[python input]
 | ||||||
| class Py_intptr_t_converter(CConverter): | class intptr_t_converter(CConverter): | ||||||
|     type = 'Py_intptr_t' |     type = 'intptr_t' | ||||||
|     format_unit = '"_Py_PARSE_INTPTR"' |     format_unit = '"_Py_PARSE_INTPTR"' | ||||||
| 
 | 
 | ||||||
| class handle_return_converter(long_return_converter): | class handle_return_converter(long_return_converter): | ||||||
|     type = 'Py_intptr_t' |     type = 'intptr_t' | ||||||
|     cast = '(void *)' |     cast = '(void *)' | ||||||
|     conversion_fn = 'PyLong_FromVoidPtr' |     conversion_fn = 'PyLong_FromVoidPtr' | ||||||
| 
 | 
 | ||||||
|  | @ -148,7 +148,7 @@ msvcrt_setmode_impl(PyObject *module, int fd, int flags) | ||||||
| /*[clinic input]
 | /*[clinic input]
 | ||||||
| msvcrt.open_osfhandle -> long | msvcrt.open_osfhandle -> long | ||||||
| 
 | 
 | ||||||
|     handle: Py_intptr_t |     handle: intptr_t | ||||||
|     flags: int |     flags: int | ||||||
|     / |     / | ||||||
| 
 | 
 | ||||||
|  | @ -160,7 +160,7 @@ to os.fdopen() to create a file object. | ||||||
| [clinic start generated code]*/ | [clinic start generated code]*/ | ||||||
| 
 | 
 | ||||||
| static long | static long | ||||||
| msvcrt_open_osfhandle_impl(PyObject *module, Py_intptr_t handle, int flags) | msvcrt_open_osfhandle_impl(PyObject *module, intptr_t handle, int flags) | ||||||
| /*[clinic end generated code: output=bf65e422243a39f9 input=4d8516ed32db8f65]*/ | /*[clinic end generated code: output=bf65e422243a39f9 input=4d8516ed32db8f65]*/ | ||||||
| { | { | ||||||
|     int fd; |     int fd; | ||||||
|  | @ -183,11 +183,11 @@ Return the file handle for the file descriptor fd. | ||||||
| Raises IOError if fd is not recognized. | Raises IOError if fd is not recognized. | ||||||
| [clinic start generated code]*/ | [clinic start generated code]*/ | ||||||
| 
 | 
 | ||||||
| static Py_intptr_t | static intptr_t | ||||||
| msvcrt_get_osfhandle_impl(PyObject *module, int fd) | msvcrt_get_osfhandle_impl(PyObject *module, int fd) | ||||||
| /*[clinic end generated code: output=eac47643338c0baa input=c7d18d02c8017ec1]*/ | /*[clinic end generated code: output=eac47643338c0baa input=c7d18d02c8017ec1]*/ | ||||||
| { | { | ||||||
|     Py_intptr_t handle = -1; |     intptr_t handle = -1; | ||||||
| 
 | 
 | ||||||
|     if (!_PyVerify_fd(fd)) { |     if (!_PyVerify_fd(fd)) { | ||||||
|         PyErr_SetFromErrno(PyExc_IOError); |         PyErr_SetFromErrno(PyExc_IOError); | ||||||
|  |  | ||||||
|  | @ -63,7 +63,7 @@ addstate(dfa *d) | ||||||
|     s->s_upper = 0; |     s->s_upper = 0; | ||||||
|     s->s_accel = NULL; |     s->s_accel = NULL; | ||||||
|     s->s_accept = 0; |     s->s_accept = 0; | ||||||
|     return Py_SAFE_DOWNCAST(s - d->d_state, Py_intptr_t, int); |     return Py_SAFE_DOWNCAST(s - d->d_state, intptr_t, int); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void | void | ||||||
|  | @ -105,7 +105,7 @@ addlabel(labellist *ll, int type, const char *str) | ||||||
|     if (Py_DebugFlag) |     if (Py_DebugFlag) | ||||||
|         printf("Label @ %8p, %d: %s\n", ll, ll->ll_nlabels, |         printf("Label @ %8p, %d: %s\n", ll, ll->ll_nlabels, | ||||||
|                PyGrammar_LabelRepr(lb)); |                PyGrammar_LabelRepr(lb)); | ||||||
|     return Py_SAFE_DOWNCAST(lb - ll->ll_label, Py_intptr_t, int); |     return Py_SAFE_DOWNCAST(lb - ll->ll_label, intptr_t, int); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Same, but rather dies than adds */ | /* Same, but rather dies than adds */ | ||||||
|  |  | ||||||
|  | @ -255,7 +255,7 @@ parsetok(struct tok_state *tok, grammar *g, int start, perrdetail *err_ret, | ||||||
| #endif | #endif | ||||||
|         if (a >= tok->line_start) |         if (a >= tok->line_start) | ||||||
|             col_offset = Py_SAFE_DOWNCAST(a - tok->line_start, |             col_offset = Py_SAFE_DOWNCAST(a - tok->line_start, | ||||||
|                                           Py_intptr_t, int); |                                           intptr_t, int); | ||||||
|         else |         else | ||||||
|             col_offset = -1; |             col_offset = -1; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -178,7 +178,7 @@ static void drop_gil(PyThreadState *tstate) | ||||||
|         /* Sub-interpreter support: threads might have been switched
 |         /* Sub-interpreter support: threads might have been switched
 | ||||||
|            under our feet using PyThreadState_Swap(). Fix the GIL last |            under our feet using PyThreadState_Swap(). Fix the GIL last | ||||||
|            holder variable so that our heuristics work. */ |            holder variable so that our heuristics work. */ | ||||||
|         _Py_atomic_store_relaxed(&gil_last_holder, (Py_uintptr_t)tstate); |         _Py_atomic_store_relaxed(&gil_last_holder, (uintptr_t)tstate); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     MUTEX_LOCK(gil_mutex); |     MUTEX_LOCK(gil_mutex); | ||||||
|  | @ -240,7 +240,7 @@ static void take_gil(PyThreadState *tstate) | ||||||
|     _Py_ANNOTATE_RWLOCK_ACQUIRED(&gil_locked, /*is_write=*/1); |     _Py_ANNOTATE_RWLOCK_ACQUIRED(&gil_locked, /*is_write=*/1); | ||||||
| 
 | 
 | ||||||
|     if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil_last_holder)) { |     if (tstate != (PyThreadState*)_Py_atomic_load_relaxed(&gil_last_holder)) { | ||||||
|         _Py_atomic_store_relaxed(&gil_last_holder, (Py_uintptr_t)tstate); |         _Py_atomic_store_relaxed(&gil_last_holder, (uintptr_t)tstate); | ||||||
|         ++gil_switch_number; |         ++gil_switch_number; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -476,9 +476,9 @@ compiler_unit_check(struct compiler_unit *u) | ||||||
| { | { | ||||||
|     basicblock *block; |     basicblock *block; | ||||||
|     for (block = u->u_blocks; block != NULL; block = block->b_list) { |     for (block = u->u_blocks; block != NULL; block = block->b_list) { | ||||||
|         assert((Py_uintptr_t)block != 0xcbcbcbcbU); |         assert((uintptr_t)block != 0xcbcbcbcbU); | ||||||
|         assert((Py_uintptr_t)block != 0xfbfbfbfbU); |         assert((uintptr_t)block != 0xfbfbfbfbU); | ||||||
|         assert((Py_uintptr_t)block != 0xdbdbdbdbU); |         assert((uintptr_t)block != 0xdbdbdbdbU); | ||||||
|         if (block->b_instr != NULL) { |         if (block->b_instr != NULL) { | ||||||
|             assert(block->b_ialloc > 0); |             assert(block->b_ialloc > 0); | ||||||
|             assert(block->b_iused > 0); |             assert(block->b_iused > 0); | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| #define GET_TSTATE() \ | #define GET_TSTATE() \ | ||||||
|     ((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) |     ((PyThreadState*)_Py_atomic_load_relaxed(&_PyThreadState_Current)) | ||||||
| #define SET_TSTATE(value) \ | #define SET_TSTATE(value) \ | ||||||
|     _Py_atomic_store_relaxed(&_PyThreadState_Current, (Py_uintptr_t)(value)) |     _Py_atomic_store_relaxed(&_PyThreadState_Current, (uintptr_t)(value)) | ||||||
| #define GET_INTERP_STATE() \ | #define GET_INTERP_STATE() \ | ||||||
|     (GET_TSTATE()->interp) |     (GET_TSTATE()->interp) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Benjamin Peterson
						Benjamin Peterson