4ae7111573
This patch adds full support for unwinding jumps to the native emitter. This means that return/break/continue can be used in try-except, try-finally and with statements. For code that doesn't use unwinding jumps there is almost no overhead added to the generated code.
21 lines
461 B
C
21 lines
461 B
C
// ARM specific stuff
|
|
|
|
#include "py/mpconfig.h"
|
|
|
|
#if MICROPY_EMIT_ARM
|
|
|
|
// This is defined so that the assembler exports generic assembler API macros
|
|
#define GENERIC_ASM_API (1)
|
|
#include "py/asmarm.h"
|
|
|
|
// Word indices of REG_LOCAL_x in nlr_buf_t
|
|
#define NLR_BUF_IDX_LOCAL_1 (3) // r4
|
|
#define NLR_BUF_IDX_LOCAL_2 (4) // r5
|
|
#define NLR_BUF_IDX_LOCAL_3 (5) // r6
|
|
|
|
#define N_ARM (1)
|
|
#define EXPORT_FUN(name) emit_native_arm_##name
|
|
#include "py/emitnative.c"
|
|
|
|
#endif
|