Crate bench_utils

source ·
Expand description

Macros used to generate programs for Flowistry’s benchmarks

Macros

  • Assigns to a “main” variable and repeatedly creates temporary variables which use the “main” variable as an input. Each temporary uses its value to assign back to the “main” variable, generating infoflow between each temporary. For example:
  • Repeatedly assigns to a variable to increase the number of locations while keeping the number of places constant. For example:
  • Creates a struct with deeply-nested fields. For example:
  • Creates a struct with many fields, generating many places while keeping the number of locations constant. For example:
  • Creates a struct with many fields, each having the type &'a <type>, creating many places with one lifetime. For example:
  • Repeatedly borrows the same variable to create many places, locations, and lifetimes. For example: