is_atom!(temp_v!(1)), // atom/1, 465.
proceed!(),
sort_execute!(), // sort/2, 467.
- keysort_execute!() // keysort/2, 468.
+ keysort_execute!(), // keysort/2, 468.
+ acyclic_term_execute!(), // acyclic_term/1, 469.
]
}
code_dir.insert((clause_name!("atom"), 1), (465, builtin.clone()));
code_dir.insert((clause_name!("sort"), 2), (467, builtin.clone()));
code_dir.insert((clause_name!("keysort"), 2), (468, builtin.clone()));
+ code_dir.insert((clause_name!("acyclic_term"), 1), (469, builtin.clone()));
(code_dir, op_dir)
}
(clause_name!("compare"), 3),
(clause_name!("atom"), 1),
(clause_name!("sort"), 2),
- (clause_name!("keysort"), 2)]);
+ (clause_name!("keysort"), 2),
+ (clause_name!("acyclic_term"), 1)]);
for arity in 0 .. 63 {
module_decl.exports.push((clause_name!("call"), arity));
)
}
+macro_rules! acyclic_term_execute {
+ () => (
+ Line::Control(ControlInstruction::CallClause(ClauseType::AcyclicTerm, 1, 0, true))
+ )
+}
+
macro_rules! return_from_clause {
($lco:expr, $machine_st:expr) => {{
if $lco {