if let Some(arg) = arg {
let index = code.len();
- if clauses.len() > 1 {
+ if clauses.len() > 1 || self.settings.is_dynamic() {
code_offsets.index_term(arg, index, &mut clause_index_info, self.atom_tbl);
}
}
code.extend(clause_code.into_iter());
}
- let index_code = if clauses.len() > 1 {
+ let index_code = if clauses.len() > 1 || self.settings.is_dynamic() {
code_offsets.compute_indices(skip_stub_try_me_else)
} else {
vec![]
match self.find_living_dynamic_else(p + next_i) {
Some(_) => {
self.retry_me_else(next_i);
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
None => {
self.trust_me();
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
}
} else {
self.trust_me();
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
+
+ try_or_throw!(
+ self.machine_st,
+ (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
+ );
}
}
}
match self.find_living_dynamic_else(p + next_i) {
Some(_) => {
self.retry_me_else(next_i);
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
None => {
self.trust_me();
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
}
} else {
self.trust_me();
-
- try_or_throw!(
- self.machine_st,
- (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
- );
}
+
+ try_or_throw!(
+ self.machine_st,
+ (self.machine_st.increment_call_count_fn)(&mut self.machine_st)
+ );
}
}
}