An extended WAM based architecture for OR-parallel Prolog execution