if (NODE_IS_CALLED(node)) {
len = OPSIZE_MEMORY_START_PUSH + tlen
+ OPSIZE_CALL + OPSIZE_JUMP + OPSIZE_RETURN;
- if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum))
len += (NODE_IS_RECURSION(node)
? OPSIZE_MEMORY_END_PUSH_REC : OPSIZE_MEMORY_END_PUSH);
else
}
else if (NODE_IS_RECURSION(node)) {
len = OPSIZE_MEMORY_START_PUSH;
- len += tlen + (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum)
+ len += tlen + (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum)
? OPSIZE_MEMORY_END_PUSH_REC : OPSIZE_MEMORY_END_REC);
}
else
#endif
{
- if (MEM_STATUS_AT0(reg->bt_mem_start, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_start, node->m.regnum))
len = OPSIZE_MEMORY_START_PUSH;
else
len = OPSIZE_MEMORY_START;
- len += tlen + (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum)
+ len += tlen + (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum)
? OPSIZE_MEMORY_END_PUSH : OPSIZE_MEMORY_END);
}
break;
else {
len = compile_length_tree(NODE_BAG_BODY(node), reg);
len += (OPSIZE_MEMORY_START_PUSH + OPSIZE_RETURN);
- if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum))
len += (NODE_IS_RECURSION(node)
? OPSIZE_MEMORY_END_PUSH_REC : OPSIZE_MEMORY_END_PUSH);
else
}
#endif
- if (MEM_STATUS_AT0(reg->bt_mem_start, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_start, node->m.regnum))
r = add_op(reg, OP_MEMORY_START_PUSH);
else
r = add_op(reg, OP_MEMORY_START);
if (r != 0) return r;
#ifdef USE_CALL
- if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum))
r = add_op(reg, (NODE_IS_RECURSION(node)
? OP_MEMORY_END_PUSH_REC : OP_MEMORY_END_PUSH));
else
r = add_op(reg, OP_RETURN);
}
#else
- if (MEM_STATUS_AT0(reg->bt_mem_end, node->m.regnum))
+ if (MEM_STATUS_AT0(reg->push_mem_end, node->m.regnum))
r = add_op(reg, OP_MEMORY_END_PUSH);
else
r = add_op(reg, OP_MEMORY_END);
#endif
reg->capture_history = scan_env.cap_history;
- reg->bt_mem_start = scan_env.backtrack_mem | scan_env.cap_history;
+ reg->push_mem_start = scan_env.backtrack_mem | scan_env.cap_history;
#ifdef USE_CALLOUT
if (IS_NOT_NULL(reg->extp) && reg->extp->callout_num != 0) {
- reg->bt_mem_end = reg->bt_mem_start;
+ reg->push_mem_end = reg->push_mem_start;
}
else {
- if (MEM_STATUS_IS_ALL_ON(reg->bt_mem_start))
- reg->bt_mem_end = scan_env.backrefed_mem | scan_env.cap_history;
+ if (MEM_STATUS_IS_ALL_ON(reg->push_mem_start))
+ reg->push_mem_end = scan_env.backrefed_mem | scan_env.cap_history;
else
- reg->bt_mem_end = reg->bt_mem_start &
+ reg->push_mem_end = reg->push_mem_start &
(scan_env.backrefed_mem | scan_env.cap_history);
}
#else
- if (MEM_STATUS_IS_ALL_ON(reg->bt_mem_start))
- reg->bt_mem_end = scan_env.backrefed_mem | scan_env.cap_history;
+ if (MEM_STATUS_IS_ALL_ON(reg->push_mem_start))
+ reg->push_mem_end = scan_env.backrefed_mem | scan_env.cap_history;
else
- reg->bt_mem_end = reg->bt_mem_start &
+ reg->push_mem_end = reg->push_mem_start &
(scan_env.backrefed_mem | scan_env.cap_history);
#endif
}
#endif
- if ((reg->num_repeat != 0) || (reg->bt_mem_end != 0)
+ if ((reg->num_repeat != 0) || (reg->push_mem_end != 0)
#ifdef USE_CALLOUT
|| (IS_NOT_NULL(reg->extp) && reg->extp->callout_num != 0)
#endif
)
reg->stack_pop_level = STACK_POP_LEVEL_ALL;
else {
- if (reg->bt_mem_start != 0)
+ if (reg->push_mem_start != 0)
reg->stack_pop_level = STACK_POP_LEVEL_MEM_START;
else
reg->stack_pop_level = STACK_POP_LEVEL_FREE;
#define CHECK_INTERRUPT_IN_MATCH
#define STACK_MEM_START(reg, i) \
- (MEM_STATUS_AT((reg)->bt_mem_start, (i)) != 0 ? \
+ (MEM_STATUS_AT((reg)->push_mem_start, (i)) != 0 ? \
STACK_AT(mem_start_stk[i])->u.mem.pstr : (UChar* )((void* )(mem_start_stk[i])))
#define STACK_MEM_END(reg, i) \
- (MEM_STATUS_AT((reg)->bt_mem_end, (i)) != 0 ? \
+ (MEM_STATUS_AT((reg)->push_mem_end, (i)) != 0 ? \
STACK_AT(mem_end_stk[i])->u.mem.pstr : (UChar* )((void* )(mem_end_stk[i])))
Operation* start = reg->ops;
Operation* end = reg->ops + reg->ops_used;
- fprintf(f, "bt_mem_start: 0x%x, bt_mem_end: 0x%x\n",
- reg->bt_mem_start, reg->bt_mem_end);
+ fprintf(f, "push_mem_start: 0x%x, push_mem_end: 0x%x\n",
+ reg->push_mem_start, reg->push_mem_end);
fprintf(f, "code-length: %d\n", reg->ops_used);
bp = start;
(addr) = 0;\
}\
else {\
- if (MEM_STATUS_AT((reg)->bt_mem_end, k->zid))\
+ if (MEM_STATUS_AT((reg)->push_mem_end, k->zid))\
(addr) = STACK_AT(k->u.mem.prev_end)->u.mem.pstr;\
else\
(addr) = (UChar* )k->u.mem.prev_end;\
mem_end_stk[mem] = (StackIndex )((void* )s);
STACK_GET_MEM_START(mem, stkp);
- if (MEM_STATUS_AT(reg->bt_mem_start, mem))
+ if (MEM_STATUS_AT(reg->push_mem_start, mem))
mem_start_stk[mem] = GET_STACK_INDEX(stkp);
else
mem_start_stk[mem] = (StackIndex )((void* )stkp->u.mem.pstr);