UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
syms_eval.h File Reference

Go to the source code of this file.

Classes

union  SYMS_EvalOpParams
 
struct  SYMS_EvalIRTree
 
struct  SYMS_EvalOpNode
 
struct  SYMS_EvalOpList
 
struct  SYMS_Location
 

Typedefs

typedef enum SYMS_EvalMode SYMS_EvalMode
 
typedef union SYMS_EvalOpParams SYMS_EvalOpParams
 
typedef struct SYMS_EvalIRTree SYMS_EvalIRTree
 
typedef struct SYMS_EvalOpNode SYMS_EvalOpNode
 
typedef struct SYMS_EvalOpList SYMS_EvalOpList
 
typedef struct SYMS_Location SYMS_Location
 

Enumerations

enum  SYMS_EvalMode { SYMS_EvalMode_Nil , SYMS_EvalMode_Value , SYMS_EvalMode_Address , SYMS_EvalMode_Register }
 
enum  { SYMS_EvalIRExtKind_Bytecode = SYMS_EvalOp_COUNT , SYMS_EvalIRExtKind_Noop , SYMS_EvalIRExtKind_COUNT }
 

Functions

SYMS_API SYMS_EvalOpParams syms_eval_op_params (SYMS_U64 p)
 
SYMS_API SYMS_EvalOpParams syms_eval_op_params_2u8 (SYMS_U8 p1, SYMS_U8 p2)
 
SYMS_API SYMS_EvalOpParams syms_eval_op_params_2u16 (SYMS_U16 p1, SYMS_U16 p2)
 
SYMS_API void syms_eval_op_push (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_EvalOp op, SYMS_EvalOpParams params)
 
SYMS_API void syms_eval_op_push_bytecode (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_String8 bytecode)
 
SYMS_API void syms_eval_op_list_concat_in_place (SYMS_EvalOpList *left_dst, SYMS_EvalOpList *right_destroyed)
 
SYMS_API void syms_eval_op_encode_u (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_U64 u)
 
SYMS_API void syms_eval_op_encode_s (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_S64 s)
 
SYMS_API void syms_eval_op_encode_reg_section (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_RegSection sec)
 
SYMS_API void syms_eval_op_encode_reg (SYMS_Arena *arena, SYMS_EvalOpList *list, SYMS_Arch arch, SYMS_RegID reg_id)
 
SYMS_API SYMS_B32 syms_eval_opcode_type_compatible (SYMS_EvalOp op, SYMS_EvalTypeGroup group)
 
SYMS_API SYMS_String8 syms_eval_bytecode_from_op_list (SYMS_Arena *arena, SYMS_EvalOpList *list)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_const_u (SYMS_Arena *arena, SYMS_U64 v)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_unary_op (SYMS_Arena *arena, SYMS_EvalOp op, SYMS_EvalTypeGroup group, SYMS_EvalIRTree *c)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_binary_op (SYMS_Arena *arena, SYMS_EvalOp op, SYMS_EvalTypeGroup group, SYMS_EvalIRTree *l, SYMS_EvalIRTree *r)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_binary_op_u (SYMS_Arena *arena, SYMS_EvalOp op, SYMS_EvalIRTree *l, SYMS_EvalIRTree *r)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_conditional (SYMS_Arena *arena, SYMS_EvalIRTree *c, SYMS_EvalIRTree *l, SYMS_EvalIRTree *r)
 
SYMS_API SYMS_EvalIRTreesyms_eval_ir_tree_bytecode_no_copy (SYMS_Arena *arena, SYMS_String8 bytecode)
 

Variables

SYMS_READ_ONLY SYMS_GLOBAL SYMS_EvalIRTree syms_eval_ir_tree_nil = {0}
 

Typedef Documentation

◆ SYMS_EvalIRTree

◆ SYMS_EvalMode

◆ SYMS_EvalOpList

◆ SYMS_EvalOpNode

◆ SYMS_EvalOpParams

◆ SYMS_Location

Enumeration Type Documentation

◆ anonymous enum

Enumerator
SYMS_EvalIRExtKind_Bytecode 
SYMS_EvalIRExtKind_Noop 
SYMS_EvalIRExtKind_COUNT 

◆ SYMS_EvalMode

Enumerator
SYMS_EvalMode_Nil 
SYMS_EvalMode_Value 
SYMS_EvalMode_Address 
SYMS_EvalMode_Register 

Function Documentation

◆ syms_eval_bytecode_from_op_list()

SYMS_API SYMS_String8 syms_eval_bytecode_from_op_list ( SYMS_Arena arena,
SYMS_EvalOpList list 
)

◆ syms_eval_ir_tree_binary_op()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_binary_op ( SYMS_Arena arena,
SYMS_EvalOp  op,
SYMS_EvalTypeGroup  group,
SYMS_EvalIRTree l,
SYMS_EvalIRTree r 
)

◆ syms_eval_ir_tree_binary_op_u()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_binary_op_u ( SYMS_Arena arena,
SYMS_EvalOp  op,
SYMS_EvalIRTree l,
SYMS_EvalIRTree r 
)

◆ syms_eval_ir_tree_bytecode_no_copy()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_bytecode_no_copy ( SYMS_Arena arena,
SYMS_String8  bytecode 
)

◆ syms_eval_ir_tree_conditional()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_conditional ( SYMS_Arena arena,
SYMS_EvalIRTree c,
SYMS_EvalIRTree l,
SYMS_EvalIRTree r 
)

◆ syms_eval_ir_tree_const_u()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_const_u ( SYMS_Arena arena,
SYMS_U64  v 
)

◆ syms_eval_ir_tree_unary_op()

SYMS_API SYMS_EvalIRTree * syms_eval_ir_tree_unary_op ( SYMS_Arena arena,
SYMS_EvalOp  op,
SYMS_EvalTypeGroup  group,
SYMS_EvalIRTree c 
)

◆ syms_eval_op_encode_reg()

SYMS_API void syms_eval_op_encode_reg ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_Arch  arch,
SYMS_RegID  reg_id 
)

◆ syms_eval_op_encode_reg_section()

SYMS_API void syms_eval_op_encode_reg_section ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_RegSection  sec 
)

◆ syms_eval_op_encode_s()

SYMS_API void syms_eval_op_encode_s ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_S64  s 
)

◆ syms_eval_op_encode_u()

SYMS_API void syms_eval_op_encode_u ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_U64  u 
)

◆ syms_eval_op_list_concat_in_place()

SYMS_API void syms_eval_op_list_concat_in_place ( SYMS_EvalOpList left_dst,
SYMS_EvalOpList right_destroyed 
)

◆ syms_eval_op_params()

SYMS_API SYMS_EvalOpParams syms_eval_op_params ( SYMS_U64  p)

◆ syms_eval_op_params_2u16()

SYMS_API SYMS_EvalOpParams syms_eval_op_params_2u16 ( SYMS_U16  p1,
SYMS_U16  p2 
)

◆ syms_eval_op_params_2u8()

SYMS_API SYMS_EvalOpParams syms_eval_op_params_2u8 ( SYMS_U8  p1,
SYMS_U8  p2 
)

◆ syms_eval_op_push()

SYMS_API void syms_eval_op_push ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_EvalOp  op,
SYMS_EvalOpParams  params 
)

◆ syms_eval_op_push_bytecode()

SYMS_API void syms_eval_op_push_bytecode ( SYMS_Arena arena,
SYMS_EvalOpList list,
SYMS_String8  bytecode 
)

◆ syms_eval_opcode_type_compatible()

SYMS_API SYMS_B32 syms_eval_opcode_type_compatible ( SYMS_EvalOp  op,
SYMS_EvalTypeGroup  group 
)

Variable Documentation

◆ syms_eval_ir_tree_nil

SYMS_READ_ONLY SYMS_GLOBAL SYMS_EvalIRTree syms_eval_ir_tree_nil = {0}