kopia lustrzana https://github.com/micropython/micropython
Code style/whitespace cleanup; remove obsolete headers.
And move the MAP_ANON redefinition from py/asmx64.c to unix/alloc.c.pull/843/merge
rodzic
a669cbc690
commit
dda46460ff
|
@ -84,16 +84,15 @@ void asm_arm_end_pass(asm_arm_t *as) {
|
||||||
if(as->code_base == NULL) {
|
if(as->code_base == NULL) {
|
||||||
assert(0);
|
assert(0);
|
||||||
}
|
}
|
||||||
}
|
} else if(as->pass == ASM_ARM_PASS_EMIT) {
|
||||||
else if(as->pass == ASM_ARM_PASS_EMIT) {
|
|
||||||
#ifdef __arm__
|
#ifdef __arm__
|
||||||
// flush I- and D-cache
|
// flush I- and D-cache
|
||||||
asm volatile(
|
asm volatile(
|
||||||
"0:"
|
"0:"
|
||||||
"mrc p15, 0, r15, c7, c10, 3\n"
|
"mrc p15, 0, r15, c7, c10, 3\n"
|
||||||
"bne 0b\n"
|
"bne 0b\n"
|
||||||
"mov r0, #0\n"
|
"mov r0, #0\n"
|
||||||
"mcr p15, 0, r0, c7, c7, 0\n"
|
"mcr p15, 0, r0, c7, c7, 0\n"
|
||||||
: : : "r0", "cc");
|
: : : "r0", "cc");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -35,15 +35,8 @@
|
||||||
// wrapper around everything in this file
|
// wrapper around everything in this file
|
||||||
#if MICROPY_EMIT_X64
|
#if MICROPY_EMIT_X64
|
||||||
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/mman.h>
|
|
||||||
|
|
||||||
#include "asmx64.h"
|
#include "asmx64.h"
|
||||||
|
|
||||||
#if defined(__OpenBSD__) || defined(__MACH__)
|
|
||||||
#define MAP_ANONYMOUS MAP_ANON
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* all offsets are measured in multiples of 8 bytes */
|
/* all offsets are measured in multiples of 8 bytes */
|
||||||
#define WORD_SIZE (8)
|
#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) {
|
void asm_x64_end_pass(asm_x64_t *as) {
|
||||||
if (as->pass == ASM_X64_PASS_COMPUTE) {
|
if (as->pass == ASM_X64_PASS_COMPUTE) {
|
||||||
MP_PLAT_ALLOC_EXEC(as->code_offset, (void**) &as->code_base, &as->code_size);
|
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);
|
assert(0);
|
||||||
}
|
}
|
||||||
//printf("code_size: %u\n", as->code_size);
|
//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
|
#elif MICROPY_EMIT_THUMB
|
||||||
emit_native_thumb_free(emit_native);
|
emit_native_thumb_free(emit_native);
|
||||||
#elif MICROPY_EMIT_ARM
|
#elif MICROPY_EMIT_ARM
|
||||||
emit_native_arm_free(emit_native);
|
emit_native_arm_free(emit_native);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -394,7 +394,7 @@ STATIC void emit_native_end_pass(emit_t *emit) {
|
||||||
void *f = asm_thumb_get_code(emit->as);
|
void *f = asm_thumb_get_code(emit->as);
|
||||||
mp_uint_t f_len = asm_thumb_get_code_size(emit->as);
|
mp_uint_t f_len = asm_thumb_get_code_size(emit->as);
|
||||||
#elif N_ARM
|
#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);
|
mp_uint_t f_len = asm_arm_get_code_size(emit->as);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -75,7 +75,7 @@ SRC_C = \
|
||||||
file.c \
|
file.c \
|
||||||
modsocket.c \
|
modsocket.c \
|
||||||
modos.c \
|
modos.c \
|
||||||
alloc.c \
|
alloc.c \
|
||||||
$(SRC_MOD)
|
$(SRC_MOD)
|
||||||
|
|
||||||
ifeq ($(UNAME_S),Darwin)
|
ifeq ($(UNAME_S),Darwin)
|
||||||
|
|
10
unix/alloc.c
10
unix/alloc.c
|
@ -30,8 +30,11 @@
|
||||||
|
|
||||||
#include "mpconfigport.h"
|
#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 needs to be a multiple of the page size
|
||||||
*size = (min_size + 0xfff) & (~0xfff);
|
*size = (min_size + 0xfff) & (~0xfff);
|
||||||
*ptr = mmap(NULL, *size, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE | MAP_ANONYMOUS, -1, 0);
|
*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);
|
munmap(ptr, size);
|
||||||
}
|
}
|
||||||
|
|
Ładowanie…
Reference in New Issue