Currently the debug JIT stencils get all the code text and filenames needed for all the asserts included in the stencils, which makes them very large.
This would fine if it just made the code slower, but it means we have to cut debug traces short to avoid generating too much machine code. This means the the behavior of the tracer differs in debug mode, making it difficult to know what is happening in the non-debug build.
By moving the assertion code out of the stencil bodies, replacing it with custom assert functions, we can reduce the size of the stencils a lot, and have the debug and non-debug tracer at the same.
Currently the debug JIT stencils get all the code text and filenames needed for all the asserts included in the stencils, which makes them very large.
This would fine if it just made the code slower, but it means we have to cut debug traces short to avoid generating too much machine code. This means the the behavior of the tracer differs in debug mode, making it difficult to know what is happening in the non-debug build.
By moving the assertion code out of the stencil bodies, replacing it with custom assert functions, we can reduce the size of the stencils a lot, and have the debug and non-debug tracer at the same.