45 uint32_t
T = op_array->
T;
55 void *checkpoint = zend_arena_checkpoint(ctx->
arena);
57 bitset_len = zend_bitset_len(
T);
60 map_T = (
int *) zend_arena_alloc(&ctx->
arena,
T *
sizeof(
int));
61 memset(map_T, 0xff,
T *
sizeof(
int));
67 while (opline >=
end) {
74 zend_bitset_clear(taken_T, bitset_len);
79 while (opline >=
end) {
87 while (var >= 0 && !zend_bitset_in(taken_T, var)) {
93 zend_bitset_incl(taken_T, var);
97 zend_bitset_incl(taken_T, var + num);
115 while (--curr >=
end) {
129 zend_bitset_incl(taken_T, i);
156 if (start_of_T[currT] == opline) {
161 zend_bitset_excl(taken_T, map_T[currT]);
167 zend_bitset_excl(taken_T, map_T[currT]+num);
176 zend_arena_release(&ctx->
arena, checkpoint);