Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • D dynamorio
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 1,467
    • Issues 1,467
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 44
    • Merge requests 44
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Package Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • DynamoRIO
  • dynamorio
  • Merge requests
  • !2748

i#2717 Change the implementation of options.

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Administrator requested to merge github/fork/nilayvaish/02-options into master Dec 08, 2017
  • Overview 45
  • Commits 3
  • Pipelines 0
  • Changes 3

Created by: nilayvaish

Curently the functions for setting and getting options have code for each option generated using preprocessor macros. This results in excessive amount of code and increases the size of the library. With this commit, we alter the functions for setting and getting options.

  • We define a new data type struct option_t. This struct contains all the information that we need to process an option. Using macros, we have created an array that contains the required information for each option.

  • We also define certain helper types and functions.

  • The code for getting and setting options now contains a for loop in which we go over all the options one by one. This reduces the amount of code by a significant amount.

This reduces the size of the static library by about 340 KB.

Issue: #2717

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: github/fork/nilayvaish/02-options