| 44 |
in |
in |
| 45 |
buf.(!cursor + a) <- x |
buf.(!cursor + a) <- x |
| 46 |
done; |
done; |
| 47 |
(* if r1 <> !cursor then *) blit buf !cursor buf r1 n; |
if r1 <> !cursor then blit buf !cursor buf r1 n; |
| 48 |
cursor := r1 + n; (* clean space for GC ? *) |
cursor := r1 + n; (* clean space for GC ? *) |
| 49 |
code ) |
code ) |
| 50 |
|
|
| 101 |
in |
in |
| 102 |
buf.(!cursor + a) <- x |
buf.(!cursor + a) <- x |
| 103 |
done; |
done; |
| 104 |
blit buf !cursor buf r1 n; |
if r1 <> !cursor then blit buf !cursor buf r1 n; |
| 105 |
cursor := r1 + n; |
cursor := r1 + n; |
| 106 |
code ) |
code ) |
| 107 |
|
|
| 229 |
|
|
| 230 |
let run_dispatcher d v = |
let run_dispatcher d v = |
| 231 |
let code = run_dispatcher d v in |
let code = run_dispatcher d v in |
| 232 |
(* for unknown reasons, it seems to be faster to copy the intersting prefix... *) |
(* for unknown reasons, it seems to be faster to copy the interesting prefix... *) |
| 233 |
(* cursor := 0; |
(* cursor := 0; |
| 234 |
(code,!buffer) *) |
(code,!buffer) *) |
| 235 |
let r = Array.create !cursor Absent in |
let r = Array.create !cursor Absent in |