• Nils Goroll's avatar
    Add a strands interface to VSL and use it for std.log · 598b13d7
    Nils Goroll authored
    Since 8baf4a69 we lost information about
    an overflowed workspace by calling std.log(), which resulted from use of
    the workspace for construction of a contiguous string from the argument
    constituents.
    
    Since then, we have changed the interface to STRANDS, but this issue
    remained.
    
    We now solve the case for real by pushing the string concatenation down
    to VSL: New versions of VSL and VSLb (coded by example of VSLv() and
    VSLbt()) take a strands argument and create a log record without
    additional copy overhead.
    
    These solve #3194 for std.log(), make logging more efficient and, in
    particular, allow use of std.log() in low workspace conditions (because
    they do not require any).
    
    Also improve test coverage for std.log()
    
    Ref #3194
    598b13d7
cache_shmlog.c 14.1 KB