Skip to content

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

@oxinabox

Description

@oxinabox

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).

Metadata

Metadata

Assignees

No one assigned

    Labels

    CompilationTimeIssues relating to decreasing how long instrumented code takes to compile

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions