Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Semi-instrumenting pass: don't allow breakpoints in this function but do allow them in functions we call #58

Open
oxinabox opened this issue Jul 9, 2019 · 1 comment
Labels
CompilationTime Issues relating to decreasing how long instrumented code takes to compile

Comments

@oxinabox
Copy link
Owner

oxinabox commented Jul 9, 2019

Right now we have two things we can do:

  • Normal (fully instrumented) case:

    • allows breakpoints and stepping though this function
    • instruments any function we call
      • unless it is marked no_instrument
        - unless it is also marked with a breakpoint)
  • No instrument case:

    • no breakpoints or stepping allowed in this function
    • functions that we call are not instrumented. No break-points can occur in them either

I propose that we could have a third case:

  • SemiInstrumented:
    • No breakpoints or stepping is allowed in this function
    • functions that we call are also instrumented as per their settings:
      - in particular if a function contains a break point it will be fully instrumented.

This would still have the compile-time overhead of fully instrumenting (unlike non-instrumenting),
but it would avoid the runtime overhead of checking breakpoints between each statement.
(and thus would not break SIMD etc).

@oxinabox oxinabox added the CompilationTime Issues relating to decreasing how long instrumented code takes to compile label Jul 15, 2019
@willow-ahrens
Copy link

It would be really nice to avoid calls to certain libraries. This is commonly done with libraries like MPI, so that we don't get lost in verbose library code (if we don't want to). Another instance where this would be useful would be if we wanted to avoid cassette passes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CompilationTime Issues relating to decreasing how long instrumented code takes to compile
Projects
None yet
Development

No branches or pull requests

2 participants