+ let max_peek = D.max_peek dom in
+ let rec loop i =
+ let remaining = size-i in
+ if remaining > 0 then (
+ let size = min remaining max_peek in
+ D.memory_peek dom [D.Virtual]
+ (Int64.add offset (Int64.of_int i)) size buf i;
+ loop (i+size)
+ )
+ in
+ loop 0;