setVbits
Set the validity data for addresses zza, copying it from the provided zzvbits array. Return values: 0 if not running on valgrind 1 success 2 [previously indicated unaligned arrays; these are now allowed] 3 if any parts of zza/zzvbits are not addressable. The metadata is not copied in cases 0, 2 or 3 so it should be impossible to segfault your system by using this call.
Function parameters
Parameters
- zzvbits:[]u8
- zza:[]u8
Type definitions in this namespace
Types
Mark memory at qzz.ptr as unaddressable for qzz.len bytes.
Functions
- makeMemNoAccess
- Mark memory at qzz.ptr as unaddressable for qzz.len bytes.
- makeMemUndefined
- Mark memory at qzz.ptr as addressable but undefined for qzz.len bytes.
- makeMemDefined
- Mark memory at qzz.ptr as addressable and defined or qzz.len bytes.
- makeMemDefinedIfAddressable
- Similar to makeMemDefined except that addressability is
- createBlock
- Create a block-description handle.
- discard
- Discard a block-description-handle.
- checkMemIsAddressable
- Check that memory at qzz.ptr is addressable for qzz.len bytes.
- checkMemIsDefined
- Check that memory at qzz.ptr is addressable and defined for
- doLeakCheck
- Do a full memory leak check (like --leak-check=full) mid-execution.
- doAddedLeakCheck
- Same as doLeakCheck() but only showing the entries for
- doChangedLeakCheck
- Same as doAddedLeakCheck() but showing entries with
- doQuickLeakCheck
- Do a summary memory leak check (like --leak-check=summary) mid-execution.
- getVbits
- Get the validity data for addresses zza and copy it
- setVbits
- Set the validity data for addresses zza, copying it
- disableAddrErrorReportingInRange
- Disable and re-enable reporting of addressing errors in the
Source
Implementation
pub fn setVbits(zzvbits: []u8, zza: []u8) u2 {
std.debug.assert(zzvbits.len >= zza.len / 8);
return @as(u2, @intCast(doClientRequestExpr(0, .SetVbits, @intFromPtr(zza.ptr), @intFromPtr(zzvbits.ptr), zza.len, 0, 0)));
}