Code style/whitespace cleanup; remove obsolete headers.
And move the MAP_ANON redefinition from py/asmx64.c to unix/alloc.c.
This commit is contained in:
parent
a669cbc690
commit
dda46460ff
@ -84,16 +84,15 @@ void asm_arm_end_pass(asm_arm_t *as) {
|
||||
if(as->code_base == NULL) {
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
else if(as->pass == ASM_ARM_PASS_EMIT) {
|
||||
} else if(as->pass == ASM_ARM_PASS_EMIT) {
|
||||
#ifdef __arm__
|
||||
// flush I- and D-cache
|
||||
asm volatile(
|
||||
asm volatile(
|
||||
"0:"
|
||||
"mrc p15, 0, r15, c7, c10, 3\n"
|
||||
"bne 0b\n"
|
||||
"mov r0, #0\n"
|
||||
"mcr p15, 0, r0, c7, c7, 0\n"
|
||||
"mcr p15, 0, r0, c7, c7, 0\n"
|
||||
: : : "r0", "cc");
|
||||
#endif
|
||||
}
|
||||
|
@ -35,15 +35,8 @@
|
||||
// wrapper around everything in this file
|
||||
#if MICROPY_EMIT_X64
|
||||
|
||||
#include <sys/types.h>
|
||||
#include <sys/mman.h>
|
||||
|
||||
#include "asmx64.h"
|
||||
|
||||
#if defined(__OpenBSD__) || defined(__MACH__)
|
||||
#define MAP_ANONYMOUS MAP_ANON
|
||||
#endif
|
||||
|
||||
/* all offsets are measured in multiples of 8 bytes */
|
||||
#define WORD_SIZE (8)
|
||||
|
||||
@ -164,7 +157,7 @@ void asm_x64_start_pass(asm_x64_t *as, uint pass) {
|
||||
void asm_x64_end_pass(asm_x64_t *as) {
|
||||
if (as->pass == ASM_X64_PASS_COMPUTE) {
|
||||
MP_PLAT_ALLOC_EXEC(as->code_offset, (void**) &as->code_base, &as->code_size);
|
||||
if(as->code_base == NULL) {
|
||||
if(as->code_base == NULL) {
|
||||
assert(0);
|
||||
}
|
||||
//printf("code_size: %u\n", as->code_size);
|
||||
|
@ -3692,7 +3692,7 @@ mp_obj_t mp_compile(mp_parse_node_t pn, qstr source_file, uint emit_opt, bool is
|
||||
#elif MICROPY_EMIT_THUMB
|
||||
emit_native_thumb_free(emit_native);
|
||||
#elif MICROPY_EMIT_ARM
|
||||
emit_native_arm_free(emit_native);
|
||||
emit_native_arm_free(emit_native);
|
||||
#endif
|
||||
}
|
||||
#endif
|
||||
|
@ -394,7 +394,7 @@ STATIC void emit_native_end_pass(emit_t *emit) {
|
||||
void *f = asm_thumb_get_code(emit->as);
|
||||
mp_uint_t f_len = asm_thumb_get_code_size(emit->as);
|
||||
#elif N_ARM
|
||||
void *f = asm_arm_get_code(emit->as);
|
||||
void *f = asm_arm_get_code(emit->as);
|
||||
mp_uint_t f_len = asm_arm_get_code_size(emit->as);
|
||||
#endif
|
||||
|
||||
|
@ -75,7 +75,7 @@ SRC_C = \
|
||||
file.c \
|
||||
modsocket.c \
|
||||
modos.c \
|
||||
alloc.c \
|
||||
alloc.c \
|
||||
$(SRC_MOD)
|
||||
|
||||
ifeq ($(UNAME_S),Darwin)
|
||||
|
10
unix/alloc.c
10
unix/alloc.c
@ -30,8 +30,11 @@
|
||||
|
||||
#include "mpconfigport.h"
|
||||
|
||||
void mp_unix_alloc_exec(mp_uint_t min_size, void** ptr, mp_uint_t *size)
|
||||
{
|
||||
#if defined(__OpenBSD__) || defined(__MACH__)
|
||||
#define MAP_ANONYMOUS MAP_ANON
|
||||
#endif
|
||||
|
||||
void mp_unix_alloc_exec(mp_uint_t min_size, void **ptr, mp_uint_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);
|
||||
@ -40,7 +43,6 @@ 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_free_exec(void *ptr, mp_uint_t size) {
|
||||
munmap(ptr, size);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user