In #499 we got rid of quite a few of the old allocator macros. However, it's not possible to remove any more without possibly affecting performance significantly.
This PR removes only those USE_ALLOCATOR instances where in my opinion it's unlikely to make a difference. This could be because:
The code is unused.
The object is only likely to be created a small number of times: inference engines, decision procedures, SAT solvers, main loops, indices, and the like.
The object is used a moderate number of times, but mostly during parsing: symbols, types.
The object is never heap-allocated.
This removes roughly two-thirds of the USE_ALLOCATOR instances, which allows us to focus on the trickier ones. In my view this could go in without performance testing, but of course I don't object if you think it needs it.
In #499 we got rid of quite a few of the old allocator macros. However, it's not possible to remove any more without possibly affecting performance significantly.
This PR removes only those
USE_ALLOCATOR
instances where in my opinion it's unlikely to make a difference. This could be because:This removes roughly two-thirds of the
USE_ALLOCATOR
instances, which allows us to focus on the trickier ones. In my view this could go in without performance testing, but of course I don't object if you think it needs it.