Browse Source

unix: Convert mp_uint_t to size_t in alloc.c.

pull/2967/head
Pavol Rusnak 8 years ago
committed by Damien George
parent
commit
6e6c01b971
  1. 6
      unix/alloc.c
  2. 8
      unix/mpconfigport.h

6
unix/alloc.c

@ -49,7 +49,7 @@ typedef struct _mmap_region_t {
struct _mmap_region_t *next;
} mmap_region_t;
void mp_unix_alloc_exec(mp_uint_t min_size, void **ptr, mp_uint_t *size) {
void mp_unix_alloc_exec(size_t min_size, void **ptr, size_t *size) {
// size needs to be a multiple of the page size
*size = (min_size + 0xfff) & (~0xfff);
*ptr = mmap(NULL, *size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
@ -65,7 +65,7 @@ void mp_unix_alloc_exec(mp_uint_t min_size, void **ptr, mp_uint_t *size) {
MP_STATE_VM(mmap_region_head) = rg;
}
void mp_unix_free_exec(void *ptr, mp_uint_t size) {
void mp_unix_free_exec(void *ptr, size_t size) {
munmap(ptr, size);
// unlink the mmap'd region from the list
@ -93,7 +93,7 @@ void *ffi_closure_alloc(size_t size, void **code);
void ffi_closure_free(void *ptr);
void *ffi_closure_alloc(size_t size, void **code) {
mp_uint_t dummy;
size_t dummy;
mp_unix_alloc_exec(size, code, &dummy);
return *code;
}

8
unix/mpconfigport.h

@ -217,6 +217,9 @@ extern const struct _mp_obj_module_t mp_module_jni;
// type definitions for the specific machine
// For size_t and ssize_t
#include <unistd.h>
// assume that if we already defined the obj repr then we also defined types
#ifndef MICROPY_OBJ_REPR
#ifdef __LP64__
@ -239,8 +242,8 @@ typedef long long mp_off_t;
typedef long mp_off_t;
#endif
void mp_unix_alloc_exec(mp_uint_t min_size, void** ptr, mp_uint_t *size);
void mp_unix_free_exec(void *ptr, mp_uint_t size);
void mp_unix_alloc_exec(size_t min_size, void** ptr, size_t *size);
void mp_unix_free_exec(void *ptr, size_t size);
void mp_unix_mark_exec(void);
#define MP_PLAT_ALLOC_EXEC(min_size, ptr, size) mp_unix_alloc_exec(min_size, ptr, size)
#define MP_PLAT_FREE_EXEC(ptr, size) mp_unix_free_exec(ptr, size)
@ -253,7 +256,6 @@ void mp_unix_mark_exec(void);
#if MICROPY_PY_OS_DUPTERM
#define MP_PLAT_PRINT_STRN(str, len) mp_hal_stdout_tx_strn_cooked(str, len)
#else
#include <unistd.h>
#define MP_PLAT_PRINT_STRN(str, len) do { ssize_t ret = write(1, str, len); (void)ret; } while (0)
#endif

Loading…
Cancel
Save