• Nils Goroll's avatar
    Add a bitmask tracking SUB calls to detect recursions · a294c31d
    Nils Goroll authored
    To allow dynamic SUB calls, we need to check for recursions at
    runtime, reflecting the compile time recursion check.
    
    We create a bitmask to note each dynamically called SUB by its unique
    number. To check for recursions, we only need to test if the
    respective bit for the sub number is already set.
    
    We only conduct this check if the track_call argument of
    vcl_call_method() is true. By setting this argument to the number of
    SUB references, we enable call tracking only for VCLs with dynamic SUB
    references (when (struct VCL_conf).nsub is non-zero).
    
    VCC already guarantees that static calls are loop free - so loops can
    only be introduced through dynamic SUB references.
    
    Call tracking with a bitmask was suggested by phk
    a294c31d
Name
Last commit
Last update
..
cache Loading commit data...
common Loading commit data...
fuzzers Loading commit data...
hash Loading commit data...
hpack Loading commit data...
http1 Loading commit data...
http2 Loading commit data...
mgt Loading commit data...
proxy Loading commit data...
storage Loading commit data...
waiter Loading commit data...
Makefile.am Loading commit data...
VSC_lck.vsc Loading commit data...
VSC_main.vsc Loading commit data...
VSC_mempool.vsc Loading commit data...
VSC_mgt.vsc Loading commit data...
VSC_sma.vsc Loading commit data...
VSC_smf.vsc Loading commit data...
VSC_smu.vsc Loading commit data...
VSC_vbe.vsc Loading commit data...
builtin.vcl Loading commit data...
flint.lnt Loading commit data...
flint.sh Loading commit data...
vclflint.lnt Loading commit data...
vclflint.sh Loading commit data...