Skip to content

Commit 9995738

Browse files
committed
py: Get native emitter working again with x86 (now supports closures).
1 parent 4cd9ced commit 9995738

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

py/emitnative.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,8 @@ STATIC byte mp_f_n_args[MP_F_NUMBER_OF] = {
199199
[MP_F_UNPACK_EX] = 3,
200200
[MP_F_DELETE_NAME] = 1,
201201
[MP_F_DELETE_GLOBAL] = 1,
202+
[MP_F_NEW_CELL] = 1,
203+
[MP_F_MAKE_CLOSURE_FROM_RAW_CODE] = 3,
202204
};
203205

204206
#define EXPORT_FUN(name) emit_native_x86_##name
@@ -272,10 +274,12 @@ STATIC byte mp_f_n_args[MP_F_NUMBER_OF] = {
272274
#define ASM_SUB_REG_REG(as, reg_dest, reg_src) asm_x86_sub_r32_r32((as), (reg_dest), (reg_src))
273275

274276
#define ASM_LOAD_REG_REG(as, reg_dest, reg_base) asm_x86_mov_mem32_to_r32((as), (reg_base), 0, (reg_dest))
277+
#define ASM_LOAD_REG_REG_OFFSET(as, reg_dest, reg_base, word_offset) asm_x86_mov_mem32_to_r32((as), (reg_base), 4 * (word_offset), (reg_dest))
275278
#define ASM_LOAD8_REG_REG(as, reg_dest, reg_base) asm_x86_mov_mem8_to_r32zx((as), (reg_base), 0, (reg_dest))
276279
#define ASM_LOAD16_REG_REG(as, reg_dest, reg_base) asm_x86_mov_mem16_to_r32zx((as), (reg_base), 0, (reg_dest))
277280

278281
#define ASM_STORE_REG_REG(as, reg_src, reg_base) asm_x86_mov_r32_to_mem32((as), (reg_src), (reg_base), 0)
282+
#define ASM_STORE_REG_REG_OFFSET(as, reg_src, reg_base, word_offset) asm_x86_mov_r32_to_mem32((as), (reg_src), (reg_base), 4 * (word_offset))
279283
#define ASM_STORE8_REG_REG(as, reg_src, reg_base) asm_x86_mov_r8_to_mem8((as), (reg_src), (reg_base), 0)
280284
#define ASM_STORE16_REG_REG(as, reg_src, reg_base) asm_x86_mov_r16_to_mem16((as), (reg_src), (reg_base), 0)
281285

0 commit comments

Comments
 (0)