File tree Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Expand file tree Collapse file tree 1 file changed +12
-2
lines changed Original file line number Diff line number Diff line change @@ -127,11 +127,21 @@ mp_vm_return_kind_t PLACE_IN_ITCM(mp_execute_bytecode)(mp_code_state_t * code_st
127
127
#endif
128
128
#if MICROPY_OPT_COMPUTED_GOTO
129
129
#include "py/vmentrytable.h"
130
+ #if MICROPY_OPT_COMPUTED_GOTO_SAVE_SPACE
131
+ #define ONE_TRUE_DISPATCH () one_true_dispatch : do { \
132
+ TRACE(ip); \
133
+ MARK_EXC_IP_GLOBAL(); \
134
+ goto *(void *)((char *) && entry_MP_BC_LOAD_CONST_FALSE + entry_table[*ip++]); \
135
+ } while (0)
136
+ #define DISPATCH () do { goto one_true_dispatch; } while (0)
137
+ #else
138
+ #define ONE_TRUE_DISPATCH () DISPATCH()
130
139
#define DISPATCH () do { \
131
140
TRACE(ip); \
132
141
MARK_EXC_IP_GLOBAL(); \
133
142
goto *entry_table[*ip++]; \
134
- } while (0)
143
+ } while (0)
144
+ #endif
135
145
#define DISPATCH_WITH_PEND_EXC_CHECK () goto pending_exception_check
136
146
#define ENTRY (op ) entry_##op
137
147
#define ENTRY_DEFAULT entry_default
@@ -197,7 +207,7 @@ mp_vm_return_kind_t PLACE_IN_ITCM(mp_execute_bytecode)(mp_code_state_t * code_st
197
207
for (;;) {
198
208
dispatch_loop :
199
209
#if MICROPY_OPT_COMPUTED_GOTO
200
- DISPATCH ();
210
+ ONE_TRUE_DISPATCH ();
201
211
#else
202
212
TRACE (ip );
203
213
MARK_EXC_IP_GLOBAL ();
You can’t perform that action at this time.
0 commit comments