From 48bdb21332079307be080cc620a1084c778d083b Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 30 Mar 2014 17:39:25 +0300 Subject: [PATCH] showbc: Dump all CALL_FUNCTION_* and CALL_METHOD_* opcodes. --- py/showbc.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/py/showbc.c b/py/showbc.c index 12bd901185..10b3e7490d 100644 --- a/py/showbc.c +++ b/py/showbc.c @@ -399,11 +399,41 @@ void mp_byte_code_print(const byte *ip, int len) { printf("CALL_FUNCTION n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); break; + case MP_BC_CALL_FUNCTION_VAR: + DECODE_UINT; + printf("CALL_FUNCTION_VAR n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + + case MP_BC_CALL_FUNCTION_KW: + DECODE_UINT; + printf("CALL_FUNCTION_KW n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + + case MP_BC_CALL_FUNCTION_VAR_KW: + DECODE_UINT; + printf("CALL_FUNCTION_VAR_KW n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + case MP_BC_CALL_METHOD: DECODE_UINT; printf("CALL_METHOD n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); break; + case MP_BC_CALL_METHOD_VAR: + DECODE_UINT; + printf("CALL_METHOD_VAR n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + + case MP_BC_CALL_METHOD_KW: + DECODE_UINT; + printf("CALL_METHOD_KW n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + + case MP_BC_CALL_METHOD_VAR_KW: + DECODE_UINT; + printf("CALL_METHOD_VAR_KW n=" UINT_FMT " nkw=" UINT_FMT, unum & 0xff, (unum >> 8) & 0xff); + break; + case MP_BC_RETURN_VALUE: printf("RETURN_VALUE"); break;