@@ -209,12 +209,16 @@ MP_NOINLINE int main_(int argc, char **argv) {
209209 mp_dynamic_compiler .py_builtins_str_unicode = 1 ;
210210 #if defined(__i386__ )
211211 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_X86 ;
212+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_X86 ;
212213 #elif defined(__x86_64__ )
213214 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_X64 ;
215+ mp_dynamic_compiler .nlr_buf_num_regs = MAX (MICROPY_NLR_NUM_REGS_X64 , MICROPY_NLR_NUM_REGS_X64_WIN );
214216 #elif defined(__arm__ ) && !defined(__thumb2__ )
215217 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_ARMV6 ;
218+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP ;
216219 #else
217220 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_NONE ;
221+ mp_dynamic_compiler .nlr_buf_num_regs = 0 ;
218222 #endif
219223
220224 const char * input_file = NULL ;
@@ -271,14 +275,19 @@ MP_NOINLINE int main_(int argc, char **argv) {
271275 const char * arch = argv [a ] + sizeof ("-march=" ) - 1 ;
272276 if (strcmp (arch , "x86" ) == 0 ) {
273277 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_X86 ;
278+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_X86 ;
274279 } else if (strcmp (arch , "x64" ) == 0 ) {
275280 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_X64 ;
281+ mp_dynamic_compiler .nlr_buf_num_regs = MAX (MICROPY_NLR_NUM_REGS_X64 , MICROPY_NLR_NUM_REGS_X64_WIN );
276282 } else if (strcmp (arch , "armv6" ) == 0 ) {
277283 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_ARMV6 ;
284+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP ;
278285 } else if (strcmp (arch , "armv7m" ) == 0 ) {
279286 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_ARMV7M ;
287+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP ;
280288 } else if (strcmp (arch , "xtensa" ) == 0 ) {
281289 mp_dynamic_compiler .native_arch = MP_NATIVE_ARCH_XTENSA ;
290+ mp_dynamic_compiler .nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_XTENSA ;
282291 } else {
283292 return usage (argv );
284293 }
0 commit comments