Rizin
unix-like reverse engineering framework and cli tools
opcode_analysis.c File Reference
#include "opcode.h"

Go to the source code of this file.

Functions

static void analysis_push (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg, ut32 type, st32 push_cnt)
 
static void analysis_pop (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg, ut32 type, st32 push_cnt)
 
static void analysis_BEFORE_ASYNC_WITH (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BEGIN_FINALLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_ADD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_AND (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_CALL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_FLOOR_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_LSHIFT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_MATRIX_MULTIPLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_MODULO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_MULTIPLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_OR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_POWER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_RSHIFT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_SUBSCR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_SUBTRACT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_TRUE_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BINARY_XOR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BREAK_LOOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_CLASS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_CONST_KEY_MAP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_FUNCTION (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_LIST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_LIST_UNPACK (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_MAP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_MAP_UNPACK (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_MAP_UNPACK_WITH_CALL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_SET (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_SET_UNPACK (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_SLICE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_STRING (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_TUPLE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_TUPLE_UNPACK (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_BUILD_TUPLE_UNPACK_WITH_CALL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_FUNCTION (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_FUNCTION_EX (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_FUNCTION_KW (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_FUNCTION_VAR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_FUNCTION_VAR_KW (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_CALL_METHOD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_ATTR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_DEREF (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_FAST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_GLOBAL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_NAME (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_SLICE_0 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_SLICE_1 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_SLICE_2 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_SLICE_3 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DELETE_SUBSCR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DUP_TOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DUP_TOPX (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_DUP_TOP_TWO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_END_ASYNC_FOR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_END_FINALLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_EXEC_STMT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_EXTENDED_ARG (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_FORMAT_VALUE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_FOR_LOOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_GET_AITER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_GET_ANEXT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_GET_AWAITABLE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_GET_ITER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_GET_YIELD_FROM_ITER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_IMPORT_FROM (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_IMPORT_NAME (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_IMPORT_STAR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_ADD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_AND (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_FLOOR_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_LSHIFT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_MATRIX_MULTIPLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_MODULO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_MULTIPLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_OR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_POWER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_RSHIFT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_SUBTRACT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_TRUE_DIVIDE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_INPLACE_XOR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LIST_APPEND (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_ASSERTION_ERROR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_ATTR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_BUILD_CLASS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_CLASSDEREF (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_CLOSURE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_CONST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_DEREF (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_FAST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_GLOBAL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_GLOBALS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_LOCAL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_LOCALS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_METHOD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_LOAD_NAME (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_MAKE_CLOSURE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_MAKE_FUNCTION (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_MAP_ADD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_NOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_POP_BLOCK (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_POP_EXCEPT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_POP_FINALLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_POP_TOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_PRINT_EXPR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_PRINT_ITEM (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_PRINT_ITEM_TO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_PRINT_NEWLINE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_PRINT_NEWLINE_TO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_RAISE_EXCEPTION (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_RAISE_VARARGS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_RERAISE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_RESERVE_FAST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_RETURN_VALUE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_ROT_FOUR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_ROT_THREE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_ROT_TWO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_ANNOTATIONS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SET_ADD (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SET_FUNC_ARGS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SET_LINENO (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SLICE_0 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SLICE_1 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SLICE_2 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SLICE_3 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STOP_CODE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_ANNOTATION (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_ATTR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_DEREF (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_FAST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_GLOBAL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_LOCALS (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_MAP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_NAME (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_SLICE_0 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_SLICE_1 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_SLICE_2 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_SLICE_3 (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_STORE_SUBSCR (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_CALL (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_CONVERT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_INVERT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_NEGATIVE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_NOT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNARY_POSITIVE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_ARG (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_EX (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_LIST (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_SEQUENCE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_TUPLE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_UNPACK_VARARG (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_WITH_CLEANUP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_WITH_CLEANUP_FINISH (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_WITH_CLEANUP_START (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_WITH_EXCEPT_START (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_YIELD_FROM (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_YIELD_VALUE (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_FOR_ITER (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_LOOP (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_EXCEPT (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_FINALLY (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_WITH (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
static void analysis_SETUP_ASYNC_WITH (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 
void analysis_pyc_op (RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
 

Variables

static op_analysis_func op_analysis []
 

Function Documentation

◆ analysis_BEFORE_ASYNC_WITH()

static void analysis_BEFORE_ASYNC_WITH ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 21 of file opcode_analysis.c.

21  {
23 }
@ RZ_ANALYSIS_OP_TYPE_UNK
Definition: rz_analysis.h:388
Definition: dis.c:32

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BEGIN_FINALLY()

static void analysis_BEGIN_FINALLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 25 of file opcode_analysis.c.

25  {
26  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
27 }
static void analysis_push(RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg, ut32 type, st32 push_cnt)

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BINARY_ADD()

static void analysis_BINARY_ADD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 29 of file opcode_analysis.c.

29  {
30  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_ADD, 1);
31 }
static void analysis_pop(RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg, ut32 type, st32 push_cnt)
@ RZ_ANALYSIS_OP_TYPE_ADD
Definition: rz_analysis.h:401

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_ADD.

◆ analysis_BINARY_AND()

static void analysis_BINARY_AND ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 33 of file opcode_analysis.c.

33  {
34  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_AND, 1);
35 }
@ RZ_ANALYSIS_OP_TYPE_AND
Definition: rz_analysis.h:411

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_AND.

◆ analysis_BINARY_CALL()

static void analysis_BINARY_CALL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 37 of file opcode_analysis.c.

37  {
38  // https://github.com/python/cpython/blob/v1.4b3/Include/opcode.h
39  // I can not find this opcode even in v1.4 version source code.
41 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BINARY_DIVIDE()

static void analysis_BINARY_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 43 of file opcode_analysis.c.

43  {
44  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_DIV, 1);
45 }
@ RZ_ANALYSIS_OP_TYPE_DIV
Definition: rz_analysis.h:405

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_BINARY_FLOOR_DIVIDE()

static void analysis_BINARY_FLOOR_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 47 of file opcode_analysis.c.

47  {
48  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_DIV, 1);
49 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_BINARY_LSHIFT()

static void analysis_BINARY_LSHIFT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 51 of file opcode_analysis.c.

51  {
52  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_SHL, 1);
53 }
@ RZ_ANALYSIS_OP_TYPE_SHL
Definition: rz_analysis.h:407

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_SHL.

◆ analysis_BINARY_MATRIX_MULTIPLY()

static void analysis_BINARY_MATRIX_MULTIPLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 55 of file opcode_analysis.c.

55  {
56  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
57 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BINARY_MODULO()

static void analysis_BINARY_MODULO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 59 of file opcode_analysis.c.

59  {
60  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_MOD, 1);
61 }
@ RZ_ANALYSIS_OP_TYPE_MOD
Definition: rz_analysis.h:422

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_MOD.

◆ analysis_BINARY_MULTIPLY()

static void analysis_BINARY_MULTIPLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 63 of file opcode_analysis.c.

63  {
64  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_MUL, 1);
65 }
@ RZ_ANALYSIS_OP_TYPE_MUL
Definition: rz_analysis.h:404

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_MUL.

◆ analysis_BINARY_OR()

static void analysis_BINARY_OR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 67 of file opcode_analysis.c.

67  {
68  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_OR, 1);
69 }
@ RZ_ANALYSIS_OP_TYPE_OR
Definition: rz_analysis.h:410

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_OR.

◆ analysis_BINARY_POWER()

static void analysis_BINARY_POWER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 71 of file opcode_analysis.c.

71  {
72  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
73 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BINARY_RSHIFT()

static void analysis_BINARY_RSHIFT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 75 of file opcode_analysis.c.

75  {
76  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_SHR, 1);
77 }
@ RZ_ANALYSIS_OP_TYPE_SHR
Definition: rz_analysis.h:406

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_SHR.

◆ analysis_BINARY_SUBSCR()

static void analysis_BINARY_SUBSCR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 79 of file opcode_analysis.c.

79  {
80  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
81 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BINARY_SUBTRACT()

static void analysis_BINARY_SUBTRACT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 83 of file opcode_analysis.c.

83  {
84  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_SUB, 1);
85 }
@ RZ_ANALYSIS_OP_TYPE_SUB
Definition: rz_analysis.h:402

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_SUB.

◆ analysis_BINARY_TRUE_DIVIDE()

static void analysis_BINARY_TRUE_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 87 of file opcode_analysis.c.

87  {
88  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_DIV, 1);
89 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_BINARY_XOR()

static void analysis_BINARY_XOR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 91 of file opcode_analysis.c.

91  {
92  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_XOR, 1);
93 }
@ RZ_ANALYSIS_OP_TYPE_XOR
Definition: rz_analysis.h:412

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_XOR.

◆ analysis_BREAK_LOOP()

static void analysis_BREAK_LOOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 95 of file opcode_analysis.c.

95  {
96  // op->type = RZ_ANALYSIS_OP_TYPE_CJMP;
97  // This is actually a jump, but require further analysis
99  op->jump = -1;
100  op->fail = -1;
101 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_BUILD_CLASS()

static void analysis_BUILD_CLASS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 103 of file opcode_analysis.c.

103  {
104  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, 2);
105 }
@ RZ_ANALYSIS_OP_TYPE_NEW
Definition: rz_analysis.h:427

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_CONST_KEY_MAP()

static void analysis_BUILD_CONST_KEY_MAP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 107 of file opcode_analysis.c.

107  {
108  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg);
109 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_FUNCTION()

static void analysis_BUILD_FUNCTION ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 111 of file opcode_analysis.c.

111  {
112  op->type = RZ_ANALYSIS_OP_TYPE_NEW;
113 }

References RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_LIST()

static void analysis_BUILD_LIST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 115 of file opcode_analysis.c.

115  {
116  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg);
117 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_LIST_UNPACK()

static void analysis_BUILD_LIST_UNPACK ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 119 of file opcode_analysis.c.

119  {
120  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
121 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_MAP()

static void analysis_BUILD_MAP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 123 of file opcode_analysis.c.

123  {
124  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, 2 * oparg - 1);
125 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_MAP_UNPACK()

static void analysis_BUILD_MAP_UNPACK ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 127 of file opcode_analysis.c.

127  {
128  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
129 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_MAP_UNPACK_WITH_CALL()

static void analysis_BUILD_MAP_UNPACK_WITH_CALL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 131 of file opcode_analysis.c.

131  {
132  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg);
133 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_SET()

static void analysis_BUILD_SET ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 135 of file opcode_analysis.c.

135  {
136  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
137 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_SET_UNPACK()

static void analysis_BUILD_SET_UNPACK ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 139 of file opcode_analysis.c.

139  {
140  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
141 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_SLICE()

static void analysis_BUILD_SLICE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 143 of file opcode_analysis.c.

143  {
144  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
145 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_STRING()

static void analysis_BUILD_STRING ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 147 of file opcode_analysis.c.

147  {
148  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
149 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_TUPLE()

static void analysis_BUILD_TUPLE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 151 of file opcode_analysis.c.

151  {
152  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
153 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_TUPLE_UNPACK()

static void analysis_BUILD_TUPLE_UNPACK ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 155 of file opcode_analysis.c.

155  {
156  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg - 1);
157 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_BUILD_TUPLE_UNPACK_WITH_CALL()

static void analysis_BUILD_TUPLE_UNPACK_WITH_CALL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 159 of file opcode_analysis.c.

159  {
160  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_NEW, oparg);
161 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_NEW.

◆ analysis_CALL_FUNCTION()

static void analysis_CALL_FUNCTION ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 163 of file opcode_analysis.c.

163  {
164  // TODO
165  // Get callee function from stack
166  // Parse oparg by version info
168  op->jump = -1;
169 }
@ RZ_ANALYSIS_OP_TYPE_ICALL
Definition: rz_analysis.h:381

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_CALL_FUNCTION_EX()

static void analysis_CALL_FUNCTION_EX ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 171 of file opcode_analysis.c.

171  {
173  op->jump = -1;
174 }

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_CALL_FUNCTION_KW()

static void analysis_CALL_FUNCTION_KW ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 176 of file opcode_analysis.c.

176  {
178  op->jump = -1;
179 }

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_CALL_FUNCTION_VAR()

static void analysis_CALL_FUNCTION_VAR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 181 of file opcode_analysis.c.

181  {
183  op->jump = -1;
184 }

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_CALL_FUNCTION_VAR_KW()

static void analysis_CALL_FUNCTION_VAR_KW ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 186 of file opcode_analysis.c.

186  {
188  op->jump = -1;
189 }

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_CALL_METHOD()

static void analysis_CALL_METHOD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 191 of file opcode_analysis.c.

191  {
193  op->jump = -1;
194 }

References RZ_ANALYSIS_OP_TYPE_ICALL.

◆ analysis_DELETE_ATTR()

static void analysis_DELETE_ATTR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 196 of file opcode_analysis.c.

196  {
197  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
198 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_DEREF()

static void analysis_DELETE_DEREF ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 200 of file opcode_analysis.c.

200  {
201  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
202 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_FAST()

static void analysis_DELETE_FAST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 204 of file opcode_analysis.c.

204  {
205  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
206 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_GLOBAL()

static void analysis_DELETE_GLOBAL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 208 of file opcode_analysis.c.

208  {
209  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
210 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_NAME()

static void analysis_DELETE_NAME ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 212 of file opcode_analysis.c.

212  {
213  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
214 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_SLICE_0()

static void analysis_DELETE_SLICE_0 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 216 of file opcode_analysis.c.

216  {
217  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
218 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_SLICE_1()

static void analysis_DELETE_SLICE_1 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 220 of file opcode_analysis.c.

220  {
221  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
222 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_SLICE_2()

static void analysis_DELETE_SLICE_2 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 224 of file opcode_analysis.c.

224  {
225  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
226 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_SLICE_3()

static void analysis_DELETE_SLICE_3 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 228 of file opcode_analysis.c.

228  {
229  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
230 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DELETE_SUBSCR()

static void analysis_DELETE_SUBSCR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 232 of file opcode_analysis.c.

232  {
233  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
234 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_DUP_TOP()

static void analysis_DUP_TOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 236 of file opcode_analysis.c.

236  {
237  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UPUSH, 1);
238 }
@ RZ_ANALYSIS_OP_TYPE_UPUSH
Definition: rz_analysis.h:395

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UPUSH.

◆ analysis_DUP_TOP_TWO()

static void analysis_DUP_TOP_TWO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 244 of file opcode_analysis.c.

244  {
245  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UPUSH, 2);
246 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UPUSH.

◆ analysis_DUP_TOPX()

static void analysis_DUP_TOPX ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 240 of file opcode_analysis.c.

240  {
241  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UPUSH, 1);
242 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UPUSH.

◆ analysis_END_ASYNC_FOR()

static void analysis_END_ASYNC_FOR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 248 of file opcode_analysis.c.

248  {
249  // If TOS is StopAsyncIteration pop 7 values from the stack and restore the exception state using the second three of them.
250  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
251 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_END_FINALLY()

static void analysis_END_FINALLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 253 of file opcode_analysis.c.

253  {
254  // op->type = RZ_ANALYSIS_OP_TYPE_CJMP;
255  // This is actually a jump, but require further analysis
256  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
257  op->jump = -1;
258  op->fail = -1;
259 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_EXEC_STMT()

static void analysis_EXEC_STMT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 261 of file opcode_analysis.c.

261  {
262  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
263 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_EXTENDED_ARG()

static void analysis_EXTENDED_ARG ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 265 of file opcode_analysis.c.

265  {
266  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
267 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_FOR_ITER()

static void analysis_FOR_ITER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 696 of file opcode_analysis.c.

696  {
698  ut64 mid = op->jump;
699  op->jump = op->fail;
700  op->fail = mid;
701 }
@ RZ_ANALYSIS_OP_TYPE_CJMP
Definition: rz_analysis.h:373
ut64(WINAPI *w32_GetEnabledXStateFeatures)()

References RZ_ANALYSIS_OP_TYPE_CJMP, and ut64().

◆ analysis_FOR_LOOP()

static void analysis_FOR_LOOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 277 of file opcode_analysis.c.

277  {
278  // https://github.com/python/cpython/blob/b2b1ed17819ecb24a78d07d3ff1e8e6bc6137721/Python/ceval.c#L1499
279  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
280 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_FORMAT_VALUE()

static void analysis_FORMAT_VALUE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 269 of file opcode_analysis.c.

269  {
270  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
271  if ((oparg & 0x04) == 0x04) {
272  op->stackop = RZ_ANALYSIS_STACK_INC;
273  op->stackptr = -OBJECT_SIZE_ON_STACK;
274  }
275 }
#define OBJECT_SIZE_ON_STACK
Definition: opcode.h:13
@ RZ_ANALYSIS_STACK_INC
Definition: rz_analysis.h:457

References OBJECT_SIZE_ON_STACK, RZ_ANALYSIS_OP_TYPE_UNK, and RZ_ANALYSIS_STACK_INC.

◆ analysis_GET_AITER()

static void analysis_GET_AITER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 282 of file opcode_analysis.c.

282  {
283  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
284 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_GET_ANEXT()

static void analysis_GET_ANEXT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 286 of file opcode_analysis.c.

286  {
287  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
288 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_GET_AWAITABLE()

static void analysis_GET_AWAITABLE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 290 of file opcode_analysis.c.

290  {
291  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
292 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_GET_ITER()

static void analysis_GET_ITER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 294 of file opcode_analysis.c.

294  {
295  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
296 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_GET_YIELD_FROM_ITER()

static void analysis_GET_YIELD_FROM_ITER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 298 of file opcode_analysis.c.

298  {
299  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
300 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_IMPORT_FROM()

static void analysis_IMPORT_FROM ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 302 of file opcode_analysis.c.

302  {
303  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
304 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_IMPORT_NAME()

static void analysis_IMPORT_NAME ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 306 of file opcode_analysis.c.

306  {
307  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
308 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_IMPORT_STAR()

static void analysis_IMPORT_STAR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 310 of file opcode_analysis.c.

310  {
311  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
312 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_INPLACE_ADD()

static void analysis_INPLACE_ADD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 314 of file opcode_analysis.c.

314  {
315  op->type = RZ_ANALYSIS_OP_TYPE_ADD;
316 }

References RZ_ANALYSIS_OP_TYPE_ADD.

◆ analysis_INPLACE_AND()

static void analysis_INPLACE_AND ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 318 of file opcode_analysis.c.

318  {
319  op->type = RZ_ANALYSIS_OP_TYPE_AND;
320 }

References RZ_ANALYSIS_OP_TYPE_AND.

◆ analysis_INPLACE_DIVIDE()

static void analysis_INPLACE_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 322 of file opcode_analysis.c.

322  {
323  op->type = RZ_ANALYSIS_OP_TYPE_DIV;
324 }

References RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_INPLACE_FLOOR_DIVIDE()

static void analysis_INPLACE_FLOOR_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 326 of file opcode_analysis.c.

326  {
327  op->type = RZ_ANALYSIS_OP_TYPE_DIV;
328 }

References RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_INPLACE_LSHIFT()

static void analysis_INPLACE_LSHIFT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 330 of file opcode_analysis.c.

330  {
331  op->type = RZ_ANALYSIS_OP_TYPE_SHL;
332 }

References RZ_ANALYSIS_OP_TYPE_SHL.

◆ analysis_INPLACE_MATRIX_MULTIPLY()

static void analysis_INPLACE_MATRIX_MULTIPLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 334 of file opcode_analysis.c.

334  {
335  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
336 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_INPLACE_MODULO()

static void analysis_INPLACE_MODULO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 338 of file opcode_analysis.c.

338  {
339  op->type = RZ_ANALYSIS_OP_TYPE_MOD;
340 }

References RZ_ANALYSIS_OP_TYPE_MOD.

◆ analysis_INPLACE_MULTIPLY()

static void analysis_INPLACE_MULTIPLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 342 of file opcode_analysis.c.

342  {
343  op->type = RZ_ANALYSIS_OP_TYPE_MUL;
344 }

References RZ_ANALYSIS_OP_TYPE_MUL.

◆ analysis_INPLACE_OR()

static void analysis_INPLACE_OR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 346 of file opcode_analysis.c.

346  {
347  op->type = RZ_ANALYSIS_OP_TYPE_OR;
348 }

References RZ_ANALYSIS_OP_TYPE_OR.

◆ analysis_INPLACE_POWER()

static void analysis_INPLACE_POWER ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 350 of file opcode_analysis.c.

350  {
351  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
352 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_INPLACE_RSHIFT()

static void analysis_INPLACE_RSHIFT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 354 of file opcode_analysis.c.

354  {
355  op->type = RZ_ANALYSIS_OP_TYPE_SHR;
356 }

References RZ_ANALYSIS_OP_TYPE_SHR.

◆ analysis_INPLACE_SUBTRACT()

static void analysis_INPLACE_SUBTRACT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 358 of file opcode_analysis.c.

358  {
359  op->type = RZ_ANALYSIS_OP_TYPE_SUB;
360 }

References RZ_ANALYSIS_OP_TYPE_SUB.

◆ analysis_INPLACE_TRUE_DIVIDE()

static void analysis_INPLACE_TRUE_DIVIDE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 362 of file opcode_analysis.c.

362  {
363  op->type = RZ_ANALYSIS_OP_TYPE_DIV;
364 }

References RZ_ANALYSIS_OP_TYPE_DIV.

◆ analysis_INPLACE_XOR()

static void analysis_INPLACE_XOR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 366 of file opcode_analysis.c.

366  {
367  op->type = RZ_ANALYSIS_OP_TYPE_XOR;
368 }

References RZ_ANALYSIS_OP_TYPE_XOR.

◆ analysis_LIST_APPEND()

static void analysis_LIST_APPEND ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 370 of file opcode_analysis.c.

370  {
371  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
372 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_ASSERTION_ERROR()

static void analysis_LOAD_ASSERTION_ERROR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 374 of file opcode_analysis.c.

374  {
375  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
376 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_ATTR()

static void analysis_LOAD_ATTR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 378 of file opcode_analysis.c.

378  {
379  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
380 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_BUILD_CLASS()

static void analysis_LOAD_BUILD_CLASS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 382 of file opcode_analysis.c.

382  {
383  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
384 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_CLASSDEREF()

static void analysis_LOAD_CLASSDEREF ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 386 of file opcode_analysis.c.

386  {
387  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
388 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_CLOSURE()

static void analysis_LOAD_CLOSURE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 390 of file opcode_analysis.c.

390  {
391  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
392 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_CONST()

static void analysis_LOAD_CONST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 394 of file opcode_analysis.c.

394  {
395  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
396 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_DEREF()

static void analysis_LOAD_DEREF ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 398 of file opcode_analysis.c.

398  {
399  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
400 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_FAST()

static void analysis_LOAD_FAST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 402 of file opcode_analysis.c.

402  {
403  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
404 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_GLOBAL()

static void analysis_LOAD_GLOBAL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 406 of file opcode_analysis.c.

406  {
407  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
408 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_GLOBALS()

static void analysis_LOAD_GLOBALS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 410 of file opcode_analysis.c.

410  {
411  // https://github.com/python/cpython/blob/24260ec91623c18569225229d5becb852010ae2c/Include/opcode.h#L80
412  // Can't find this opcode
413  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
414 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_LOCAL()

static void analysis_LOAD_LOCAL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 416 of file opcode_analysis.c.

416  {
417  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
418 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_LOCALS()

static void analysis_LOAD_LOCALS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 420 of file opcode_analysis.c.

420  {
421  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
422 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_METHOD()

static void analysis_LOAD_METHOD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 424 of file opcode_analysis.c.

424  {
425  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
426 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_LOAD_NAME()

static void analysis_LOAD_NAME ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 428 of file opcode_analysis.c.

428  {
429  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
430 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_MAKE_CLOSURE()

static void analysis_MAKE_CLOSURE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 432 of file opcode_analysis.c.

432  {
433  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg);
434 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_MAKE_FUNCTION()

static void analysis_MAKE_FUNCTION ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 436 of file opcode_analysis.c.

436  {
437  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg);
438 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_MAP_ADD()

static void analysis_MAP_ADD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 440 of file opcode_analysis.c.

440  {
441  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
442 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_NOP()

static void analysis_NOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 444 of file opcode_analysis.c.

444  {
445  op->type = RZ_ANALYSIS_OP_TYPE_NOP;
446 }
@ RZ_ANALYSIS_OP_TYPE_NOP
Definition: rz_analysis.h:389

References RZ_ANALYSIS_OP_TYPE_NOP.

◆ analysis_pop()

static void analysis_pop ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg,
ut32  type,
st32  push_cnt 
)
inlinestatic

Definition at line 15 of file opcode_analysis.c.

15  {
16  op->type = type;
17  op->stackop = RZ_ANALYSIS_STACK_INC;
18  op->stackptr = -(OBJECT_SIZE_ON_STACK * push_cnt);
19 }
int type
Definition: mipsasm.c:17

References OBJECT_SIZE_ON_STACK, RZ_ANALYSIS_STACK_INC, and type.

Referenced by analysis_BINARY_ADD(), analysis_BINARY_AND(), analysis_BINARY_DIVIDE(), analysis_BINARY_FLOOR_DIVIDE(), analysis_BINARY_LSHIFT(), analysis_BINARY_MATRIX_MULTIPLY(), analysis_BINARY_MODULO(), analysis_BINARY_MULTIPLY(), analysis_BINARY_OR(), analysis_BINARY_POWER(), analysis_BINARY_RSHIFT(), analysis_BINARY_SUBSCR(), analysis_BINARY_SUBTRACT(), analysis_BINARY_TRUE_DIVIDE(), analysis_BINARY_XOR(), analysis_BUILD_CLASS(), analysis_BUILD_CONST_KEY_MAP(), analysis_BUILD_LIST(), analysis_BUILD_LIST_UNPACK(), analysis_BUILD_MAP(), analysis_BUILD_MAP_UNPACK(), analysis_BUILD_MAP_UNPACK_WITH_CALL(), analysis_BUILD_SET(), analysis_BUILD_SET_UNPACK(), analysis_BUILD_SLICE(), analysis_BUILD_STRING(), analysis_BUILD_TUPLE(), analysis_BUILD_TUPLE_UNPACK(), analysis_BUILD_TUPLE_UNPACK_WITH_CALL(), analysis_IMPORT_NAME(), analysis_IMPORT_STAR(), analysis_LIST_APPEND(), analysis_MAKE_CLOSURE(), analysis_MAKE_FUNCTION(), analysis_POP_BLOCK(), analysis_POP_EXCEPT(), analysis_POP_FINALLY(), analysis_POP_TOP(), analysis_PRINT_EXPR(), analysis_PRINT_ITEM(), analysis_PRINT_ITEM_TO(), analysis_PRINT_NEWLINE_TO(), analysis_RAISE_VARARGS(), analysis_RERAISE(), analysis_SET_ADD(), analysis_SLICE_1(), analysis_SLICE_2(), analysis_SLICE_3(), analysis_STORE_ANNOTATION(), analysis_STORE_DEREF(), analysis_STORE_FAST(), analysis_STORE_GLOBAL(), analysis_STORE_LOCALS(), analysis_STORE_MAP(), analysis_STORE_SLICE_0(), analysis_STORE_SLICE_1(), analysis_STORE_SLICE_2(), analysis_STORE_SLICE_3(), analysis_STORE_SUBSCR(), analysis_WITH_CLEANUP_FINISH(), analysis_YIELD_FROM(), and analysis_YIELD_VALUE().

◆ analysis_POP_BLOCK()

static void analysis_POP_BLOCK ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 448 of file opcode_analysis.c.

448  {
449  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_POP, 1);
450 }
@ RZ_ANALYSIS_OP_TYPE_POP
Definition: rz_analysis.h:398

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_POP.

◆ analysis_POP_EXCEPT()

static void analysis_POP_EXCEPT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 452 of file opcode_analysis.c.

452  {
453  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_POP, 1);
454 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_POP.

◆ analysis_POP_FINALLY()

static void analysis_POP_FINALLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 456 of file opcode_analysis.c.

456  {
457  // FIXME
458  // POP_FINALLY will pop 6 elements if TOS is an exception type
459  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_POP, 1);
460 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_POP.

◆ analysis_POP_TOP()

static void analysis_POP_TOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 462 of file opcode_analysis.c.

462  {
463  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_POP, 1);
464 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_POP.

◆ analysis_PRINT_EXPR()

static void analysis_PRINT_EXPR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 466 of file opcode_analysis.c.

466  {
467  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
468 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_PRINT_ITEM()

static void analysis_PRINT_ITEM ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 470 of file opcode_analysis.c.

470  {
471  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
472 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_PRINT_ITEM_TO()

static void analysis_PRINT_ITEM_TO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 474 of file opcode_analysis.c.

474  {
475  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 2);
476 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_PRINT_NEWLINE()

static void analysis_PRINT_NEWLINE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 478 of file opcode_analysis.c.

478  {
479  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
480 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_PRINT_NEWLINE_TO()

static void analysis_PRINT_NEWLINE_TO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 482 of file opcode_analysis.c.

482  {
483  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
484 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_push()

◆ analysis_pyc_op()

void analysis_pyc_op ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)

Definition at line 902 of file opcode_analysis.c.

902  {
903  size_t i;
904  for (i = 0; i < (sizeof(op_analysis) / sizeof(op_analysis_func)); i++) {
905  if (!strcmp(op_analysis[i].op_name, op_obj->op_name)) {
906  op_analysis[i].func(op, op_obj, oparg);
907  break;
908  }
909  }
910 }
lzma_index ** i
Definition: index.h:629
static op_analysis_func op_analysis[]
void(* func)(RzAnalysisOp *op, pyc_opcode_object *op_obj, ut32 oparg)
Definition: opcode.h:66
char * op_name
Definition: opcode.h:38

References op_analysis_func::func, i, op_analysis, and pyc_opcode_object::op_name.

Referenced by pyc_op().

◆ analysis_RAISE_EXCEPTION()

static void analysis_RAISE_EXCEPTION ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 486 of file opcode_analysis.c.

486  {
487  // https://github.com/python/cpython/blob/6c3a3aa17b028f6b93067083d32c7eaa4338757c/Include/opcode.h#L89
488  // Can't find this opcode
489  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
490 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_RAISE_VARARGS()

static void analysis_RAISE_VARARGS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 492 of file opcode_analysis.c.

492  {
493  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg);
494 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_RERAISE()

static void analysis_RERAISE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 496 of file opcode_analysis.c.

496  {
497  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 3);
498 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_RESERVE_FAST()

static void analysis_RESERVE_FAST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 500 of file opcode_analysis.c.

500  {
501  // https://github.com/python/cpython/blob/6c3a3aa17b028f6b93067083d32c7eaa4338757c/Include/opcode.h#L134
502  // Can't find this opcode
503  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
504 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_RETURN_VALUE()

static void analysis_RETURN_VALUE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 506 of file opcode_analysis.c.

506  {
507  op->type = RZ_ANALYSIS_OP_TYPE_RET;
508  op->stackop = RZ_ANALYSIS_STACK_INC;
509  op->stackptr = -OBJECT_SIZE_ON_STACK;
510  op->eob = true;
511 }
@ RZ_ANALYSIS_OP_TYPE_RET
Definition: rz_analysis.h:385

References OBJECT_SIZE_ON_STACK, RZ_ANALYSIS_OP_TYPE_RET, and RZ_ANALYSIS_STACK_INC.

◆ analysis_ROT_FOUR()

static void analysis_ROT_FOUR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 513 of file opcode_analysis.c.

513  {
514  // Lifts second, third and forth stack items one position up, moves top down to position four.
516 }
@ RZ_ANALYSIS_OP_TYPE_XCHG
Definition: rz_analysis.h:421

References RZ_ANALYSIS_OP_TYPE_XCHG.

◆ analysis_ROT_THREE()

static void analysis_ROT_THREE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 518 of file opcode_analysis.c.

518  {
519  // Lifts second and third stack item one position up, moves top down to position three.
521 }

References RZ_ANALYSIS_OP_TYPE_XCHG.

◆ analysis_ROT_TWO()

static void analysis_ROT_TWO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 523 of file opcode_analysis.c.

523  {
524  // Swaps the two top-most stack items.
526 }

References RZ_ANALYSIS_OP_TYPE_XCHG.

◆ analysis_SET_ADD()

static void analysis_SET_ADD ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 532 of file opcode_analysis.c.

532  {
533  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
534 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SET_FUNC_ARGS()

static void analysis_SET_FUNC_ARGS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 536 of file opcode_analysis.c.

536  {
537  // https://github.com/python/cpython/blob/v1.4/Python/ceval.c
538  // Can't find this opcode
539  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
540 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SET_LINENO()

static void analysis_SET_LINENO ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 542 of file opcode_analysis.c.

542  {
543  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
544 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SETUP_ANNOTATIONS()

static void analysis_SETUP_ANNOTATIONS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 528 of file opcode_analysis.c.

528  {
529  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
530 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SETUP_ASYNC_WITH()

static void analysis_SETUP_ASYNC_WITH ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 728 of file opcode_analysis.c.

728  {
730  ut64 mid = op->jump;
731  op->jump = op->fail;
732  op->fail = mid;
733 }

References RZ_ANALYSIS_OP_TYPE_CJMP, and ut64().

◆ analysis_SETUP_EXCEPT()

static void analysis_SETUP_EXCEPT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 709 of file opcode_analysis.c.

709  {
710  ut64 mid = op->jump;
711  op->jump = op->fail;
712  op->fail = mid;
713 }

References ut64().

◆ analysis_SETUP_FINALLY()

static void analysis_SETUP_FINALLY ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 715 of file opcode_analysis.c.

715  {
716  ut64 mid = op->jump;
717  op->jump = op->fail;
718  op->fail = mid;
719 }

References ut64().

◆ analysis_SETUP_LOOP()

static void analysis_SETUP_LOOP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 703 of file opcode_analysis.c.

703  {
704  ut64 mid = op->jump;
705  op->jump = op->fail;
706  op->fail = mid;
707 }

References ut64().

◆ analysis_SETUP_WITH()

static void analysis_SETUP_WITH ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 721 of file opcode_analysis.c.

721  {
723  ut64 mid = op->jump;
724  op->jump = op->fail;
725  op->fail = mid;
726 }

References RZ_ANALYSIS_OP_TYPE_CJMP, and ut64().

◆ analysis_SLICE_0()

static void analysis_SLICE_0 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 546 of file opcode_analysis.c.

546  {
547  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
548 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SLICE_1()

static void analysis_SLICE_1 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 550 of file opcode_analysis.c.

550  {
551  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
552 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SLICE_2()

static void analysis_SLICE_2 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 554 of file opcode_analysis.c.

554  {
555  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
556 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_SLICE_3()

static void analysis_SLICE_3 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 558 of file opcode_analysis.c.

558  {
559  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 2);
560 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STOP_CODE()

static void analysis_STOP_CODE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 562 of file opcode_analysis.c.

562  {
564 }
@ RZ_ANALYSIS_OP_TYPE_TRAP
Definition: rz_analysis.h:392

References RZ_ANALYSIS_OP_TYPE_TRAP.

◆ analysis_STORE_ANNOTATION()

static void analysis_STORE_ANNOTATION ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 566 of file opcode_analysis.c.

566  {
567  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
568 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_ATTR()

static void analysis_STORE_ATTR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 570 of file opcode_analysis.c.

570  {
571  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
572 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_DEREF()

static void analysis_STORE_DEREF ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 574 of file opcode_analysis.c.

574  {
575  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
576 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_FAST()

static void analysis_STORE_FAST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 578 of file opcode_analysis.c.

578  {
579  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
580 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_GLOBAL()

static void analysis_STORE_GLOBAL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 582 of file opcode_analysis.c.

582  {
583  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
584 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_LOCALS()

static void analysis_STORE_LOCALS ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 586 of file opcode_analysis.c.

586  {
587  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
588 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_MAP()

static void analysis_STORE_MAP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 590 of file opcode_analysis.c.

590  {
591  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 2);
592 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_NAME()

static void analysis_STORE_NAME ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 594 of file opcode_analysis.c.

594  {
595  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
596 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_SLICE_0()

static void analysis_STORE_SLICE_0 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 598 of file opcode_analysis.c.

598  {
599  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 2);
600 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_SLICE_1()

static void analysis_STORE_SLICE_1 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 602 of file opcode_analysis.c.

602  {
603  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 3);
604 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_SLICE_2()

static void analysis_STORE_SLICE_2 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 606 of file opcode_analysis.c.

606  {
607  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 3);
608 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_SLICE_3()

static void analysis_STORE_SLICE_3 ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 610 of file opcode_analysis.c.

610  {
611  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 4);
612 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_STORE_SUBSCR()

static void analysis_STORE_SUBSCR ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 614 of file opcode_analysis.c.

614  {
615  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 3);
616 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNARY_CALL()

static void analysis_UNARY_CALL ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 618 of file opcode_analysis.c.

618  {
619  // https://github.com/python/cpython/blob/v1.4b3/Include/opcode.h
620  // I can not find this opcode even in v1.4 version source code.
621  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
622 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNARY_CONVERT()

static void analysis_UNARY_CONVERT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 624 of file opcode_analysis.c.

624  {
625  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
626 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNARY_INVERT()

static void analysis_UNARY_INVERT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 628 of file opcode_analysis.c.

628  {
629  op->type = RZ_ANALYSIS_OP_TYPE_NOT;
630 }
@ RZ_ANALYSIS_OP_TYPE_NOT
Definition: rz_analysis.h:414

References RZ_ANALYSIS_OP_TYPE_NOT.

◆ analysis_UNARY_NEGATIVE()

static void analysis_UNARY_NEGATIVE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 632 of file opcode_analysis.c.

632  {
633  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
634 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNARY_NOT()

static void analysis_UNARY_NOT ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 636 of file opcode_analysis.c.

636  {
637  op->type = RZ_ANALYSIS_OP_TYPE_NOT;
638 }

References RZ_ANALYSIS_OP_TYPE_NOT.

◆ analysis_UNARY_POSITIVE()

static void analysis_UNARY_POSITIVE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 640 of file opcode_analysis.c.

640  {
641  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
642 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_ARG()

static void analysis_UNPACK_ARG ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 644 of file opcode_analysis.c.

644  {
645  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg - 1);
646 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_EX()

static void analysis_UNPACK_EX ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 648 of file opcode_analysis.c.

648  {
649  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, (oparg & 0xFF) + (oparg >> 8));
650 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_LIST()

static void analysis_UNPACK_LIST ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 652 of file opcode_analysis.c.

652  {
653  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg - 1);
654 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_SEQUENCE()

static void analysis_UNPACK_SEQUENCE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 656 of file opcode_analysis.c.

656  {
657  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg - 1);
658 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_TUPLE()

static void analysis_UNPACK_TUPLE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 660 of file opcode_analysis.c.

660  {
661  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, oparg - 1);
662 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_UNPACK_VARARG()

static void analysis_UNPACK_VARARG ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 664 of file opcode_analysis.c.

664  {
665  // https://github.com/python/cpython/blob/v1.4b3/Include/opcode.h
666  // I can not find this opcode even in v1.4 version source code.
667  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
668 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_WITH_CLEANUP()

static void analysis_WITH_CLEANUP ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 670 of file opcode_analysis.c.

670  {
671  // Need the value on stack
672  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
673 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_WITH_CLEANUP_FINISH()

static void analysis_WITH_CLEANUP_FINISH ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 675 of file opcode_analysis.c.

675  {
676  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 2);
677 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_WITH_CLEANUP_START()

static void analysis_WITH_CLEANUP_START ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 679 of file opcode_analysis.c.

679  {
680  // Need the value on stack
681  op->type = RZ_ANALYSIS_OP_TYPE_UNK;
682 }

References RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_WITH_EXCEPT_START()

static void analysis_WITH_EXCEPT_START ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 684 of file opcode_analysis.c.

684  {
685  analysis_push(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
686 }

References analysis_push(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_YIELD_FROM()

static void analysis_YIELD_FROM ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 688 of file opcode_analysis.c.

688  {
689  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
690 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

◆ analysis_YIELD_VALUE()

static void analysis_YIELD_VALUE ( RzAnalysisOp op,
pyc_opcode_object op_obj,
ut32  oparg 
)
static

Definition at line 692 of file opcode_analysis.c.

692  {
693  analysis_pop(op, op_obj, oparg, RZ_ANALYSIS_OP_TYPE_UNK, 1);
694 }

References analysis_pop(), and RZ_ANALYSIS_OP_TYPE_UNK.

Variable Documentation

◆ op_analysis

op_analysis_func op_analysis[]
static

Definition at line 735 of file opcode_analysis.c.

Referenced by analysis_pyc_op().