mirror of
https://github.com/varun-r-mallya/Python-BPF.git
synced 2025-12-31 21:06:25 +00:00
Fix recursive_dereferencer in binops
This commit is contained in:
@ -8,10 +8,7 @@ logger: Logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
def recursive_dereferencer(var, builder):
|
def recursive_dereferencer(var, builder):
|
||||||
"""dereference until primitive type comes out"""
|
"""dereference until primitive type comes out"""
|
||||||
if var.type == ir.PointerType(ir.PointerType(ir.IntType(64))):
|
if isinstance(var.type, ir.PointerType):
|
||||||
a = builder.load(var)
|
|
||||||
return recursive_dereferencer(a, builder)
|
|
||||||
elif var.type == ir.PointerType(ir.IntType(64)):
|
|
||||||
a = builder.load(var)
|
a = builder.load(var)
|
||||||
return recursive_dereferencer(a, builder)
|
return recursive_dereferencer(a, builder)
|
||||||
elif var.type == ir.IntType(64):
|
elif var.type == ir.IntType(64):
|
||||||
|
|||||||
@ -41,8 +41,7 @@ def _handle_attribute_expr(
|
|||||||
attr_name = expr.attr
|
attr_name = expr.attr
|
||||||
if var_name in local_sym_tab:
|
if var_name in local_sym_tab:
|
||||||
var_ptr, var_type, var_metadata = local_sym_tab[var_name]
|
var_ptr, var_type, var_metadata = local_sym_tab[var_name]
|
||||||
logger.info(f"Loading attribute {
|
logger.info(f"Loading attribute {attr_name} from variable {var_name}")
|
||||||
attr_name} from variable {var_name}")
|
|
||||||
logger.info(f"Variable type: {var_type}, Variable ptr: {var_ptr}")
|
logger.info(f"Variable type: {var_type}, Variable ptr: {var_ptr}")
|
||||||
|
|
||||||
metadata = structs_sym_tab[var_metadata]
|
metadata = structs_sym_tab[var_metadata]
|
||||||
|
|||||||
Reference in New Issue
Block a user