don't make mega-clauses always source
This commit is contained in:
parent
048c00a7a6
commit
577b99367d
@ -894,7 +894,7 @@ Yap_BuildMegaClause(PredEntry *ap)
|
|||||||
ap->cs.p_code.FirstClause =
|
ap->cs.p_code.FirstClause =
|
||||||
ap->cs.p_code.LastClause =
|
ap->cs.p_code.LastClause =
|
||||||
mcl->ClCode;
|
mcl->ClCode;
|
||||||
ap->PredFlags |= MegaClausePredFlag|SourcePredFlag;
|
ap->PredFlags |= MegaClausePredFlag;
|
||||||
Yap_inform_profiler_of_clause(mcl, (char *)mcl+required, ap, GPROF_MEGA);
|
Yap_inform_profiler_of_clause(mcl, (char *)mcl+required, ap, GPROF_MEGA);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -6044,7 +6044,7 @@ p_dbload_get_space( USES_REGS1 )
|
|||||||
ap->cs.p_code.FirstClause =
|
ap->cs.p_code.FirstClause =
|
||||||
ap->cs.p_code.LastClause =
|
ap->cs.p_code.LastClause =
|
||||||
mcl->ClCode;
|
mcl->ClCode;
|
||||||
ap->PredFlags |= (MegaClausePredFlag|SourcePredFlag);
|
ap->PredFlags |= (MegaClausePredFlag);
|
||||||
ap->cs.p_code.NOfClauses = ncls;
|
ap->cs.p_code.NOfClauses = ncls;
|
||||||
if (ap->PredFlags & (SpiedPredFlag|CountPredFlag|ProfiledPredFlag)) {
|
if (ap->PredFlags & (SpiedPredFlag|CountPredFlag|ProfiledPredFlag)) {
|
||||||
ap->OpcodeOfPred = Yap_opcode(_spy_pred);
|
ap->OpcodeOfPred = Yap_opcode(_spy_pred);
|
||||||
|
2
C/exo.c
2
C/exo.c
@ -629,7 +629,7 @@ p_exodb_get_space( USES_REGS1 )
|
|||||||
ap->cs.p_code.FirstClause =
|
ap->cs.p_code.FirstClause =
|
||||||
ap->cs.p_code.LastClause =
|
ap->cs.p_code.LastClause =
|
||||||
mcl->ClCode;
|
mcl->ClCode;
|
||||||
ap->PredFlags |= MegaClausePredFlag|SourcePredFlag;
|
ap->PredFlags |= MegaClausePredFlag;
|
||||||
ap->cs.p_code.NOfClauses = ncls;
|
ap->cs.p_code.NOfClauses = ncls;
|
||||||
if (ap->PredFlags & (SpiedPredFlag|CountPredFlag|ProfiledPredFlag)) {
|
if (ap->PredFlags & (SpiedPredFlag|CountPredFlag|ProfiledPredFlag)) {
|
||||||
ap->OpcodeOfPred = Yap_opcode(_spy_pred);
|
ap->OpcodeOfPred = Yap_opcode(_spy_pred);
|
||||||
|
@ -275,6 +275,12 @@ writebig(Term t, int p, int depth, int rinfixarg, struct write_globs *wglb, stru
|
|||||||
else
|
else
|
||||||
wrputc('"',wglb->stream);
|
wrputc('"',wglb->stream);
|
||||||
return;
|
return;
|
||||||
|
} else if (big_tag == ARRAY_INT || big_tag == ARRAY_FLOAT) {
|
||||||
|
wrputc('{', wglb->stream);
|
||||||
|
wrputs("...", wglb->stream);
|
||||||
|
wrputc('}', wglb->stream);
|
||||||
|
lastw = separator;
|
||||||
|
return;
|
||||||
} else if (big_tag >= USER_BLOB_START && big_tag < USER_BLOB_END) {
|
} else if (big_tag >= USER_BLOB_START && big_tag < USER_BLOB_END) {
|
||||||
Opaque_CallOnWrite f;
|
Opaque_CallOnWrite f;
|
||||||
CELL blob_info;
|
CELL blob_info;
|
||||||
@ -283,6 +289,7 @@ writebig(Term t, int p, int depth, int rinfixarg, struct write_globs *wglb, stru
|
|||||||
if (GLOBAL_OpaqueHandlers &&
|
if (GLOBAL_OpaqueHandlers &&
|
||||||
(f= GLOBAL_OpaqueHandlers[blob_info].write_handler)) {
|
(f= GLOBAL_OpaqueHandlers[blob_info].write_handler)) {
|
||||||
(f)(wglb->stream, big_tag, ExternalBlobFromTerm(t), 0);
|
(f)(wglb->stream, big_tag, ExternalBlobFromTerm(t), 0);
|
||||||
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
wrputs("0",wglb->stream);
|
wrputs("0",wglb->stream);
|
||||||
|
Reference in New Issue
Block a user