403123 vex amd64->IR: unhandled instruction bytes: 0xF3 0x48 0xF 0xAE 0xD3 (wrfsbase)
403552 s390x: wrong facility bit checked for vector facility
404054 memcheck powerpc subfe x, x, x initializes x to 0 or -1 based on CA
+404638 Add VG_(replaceIndexXA)
405079 unhandled ppc64le-linux syscall: 131 (quotactl)
405403 s390x disassembler cannot be used on x86
xa->sorted = False;
}
+void VG_(replaceIndexXA)( XArray* xa, Word n, const void* elem )
+{
+ vg_assert(xa);
+ vg_assert(n >= 0);
+ vg_assert(n < xa->usedsizeE);
+ vg_assert(xa->usedsizeE >= 0 && xa->usedsizeE <= xa->totsizeE);
+ VG_(memcpy)( ((UChar*)xa->arr) + n * xa->elemSzB,
+ elem, xa->elemSzB );
+ xa->sorted = False;
+}
+
void VG_(getContentsXA_UNSAFE)( XArray* xa,
/*OUT*/void** ctsP,
/*OUT*/Word* usedP )
specified element, in the array. */
extern void VG_(insertIndexXA)( XArray*, Word, const void* elem );
+/* Replace the element of an XArray at the given index with a copy
+ of the new element. This is an O(1) operation.
+ Compared to the caller doing:
+ *(T*)VG_(indexXA)(arr, index) = new_value;
+ this function will also mark the array as unsorted. */
+extern void VG_(replaceIndexXA)( XArray*, Word, const void* elem );
+
+
/* Make a new, completely independent copy of the given XArray, using
the existing allocation function to allocate the new space.
Space for the clone (and all additions to it) is billed to 'cc' unless