diff options
| author | Damien George <damien.p.george@gmail.com> | 2015-09-23 11:47:01 +0100 |
|---|---|---|
| committer | Damien George <damien.p.george@gmail.com> | 2015-09-23 11:47:01 +0100 |
| commit | fbcaf0ea18d647adc445dc1029392c2a908cf540 (patch) | |
| tree | a58fc009888d9cfdcb2dd5c07499e848228329fb /py/emitbc.c | |
| parent | e6978a4e26a17ef473e2aad78662d3bf29638578 (diff) | |
py: Slightly simplify compile and emit of star/double-star arguments.
Saves a few bytes of code space and eliminates need for rot_two
bytecode (hence saving RAM and execution time, by a tiny bit).
Diffstat (limited to 'py/emitbc.c')
| -rw-r--r-- | py/emitbc.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/py/emitbc.c b/py/emitbc.c index 63e7bc3f9..71ed4afd8 100644 --- a/py/emitbc.c +++ b/py/emitbc.c @@ -859,14 +859,6 @@ void mp_emit_bc_make_closure(emit_t *emit, scope_t *scope, mp_uint_t n_closed_ov STATIC void emit_bc_call_function_method_helper(emit_t *emit, mp_int_t stack_adj, mp_uint_t bytecode_base, mp_uint_t n_positional, mp_uint_t n_keyword, mp_uint_t star_flags) { if (star_flags) { - if (!(star_flags & MP_EMIT_STAR_FLAG_SINGLE)) { - // load dummy entry for non-existent pos_seq - mp_emit_bc_load_null(emit); - mp_emit_bc_rot_two(emit); - } else if (!(star_flags & MP_EMIT_STAR_FLAG_DOUBLE)) { - // load dummy entry for non-existent kw_dict - mp_emit_bc_load_null(emit); - } emit_bc_pre(emit, stack_adj - (mp_int_t)n_positional - 2 * (mp_int_t)n_keyword - 2); emit_write_bytecode_byte_uint(emit, bytecode_base + 1, (n_keyword << 8) | n_positional); // TODO make it 2 separate uints? } else { |
