The following Java system properties can be set to control some features of the Jasper package:
se.sics.jasper.SICStus.checkSPTermAgeA boolean, true by default. If true, run-time checks are
performed that attempt to detect potentially dangerous use of the
SPTerm.putXXX family of functions. The value of this flag can be
set and read with SICStus.setShouldCheckAge() and
SICStus.shouldCheckAge(). This flag was false by default
in SICStus 3.8.
The run-time checks throws an IllegalTermException when there is
risk that a SPTerm is set to point to a Prolog term
strictly newer than the SPTerm. In this context
strictly newer means that there exists an open query that was
opened after the SPTerm object was created but before the Prolog
term. See SPTerm and Memory:
% java -Dse.sics.jasper.SICStus.checkSPTermAge=true ...
or, from Prolog:
jasper_initialize(
['-Dse.sics.jasper.SICStus.checkSPTermAge=true'],
JVM)
se.sics.jasper.SICStus.reuseTermRefsA boolean, on by default. If false,
SPTerm.delete() will only invalidate the SPTerm object, it
will not make the Prolog side SP_term_ref available for re-use. The
value of this flag can be set and read with
SICStus.setReuseTermRefs() and
SICStus.reuseTermRefs(). There should be no reason to turn it
off.
To set this flag do:
% java -Dse.sics.jasper.SICStus.reuseTermRefs=true ...
or, from Prolog:
jasper_initialize(
['-Dse.sics.jasper.SICStus.reuseTermRefs=true'],
JVM)
se.sics.jasper.SICStus.debugLevelYou probably should not use it in production code. It may be removed or change meaning in future releases.
An integer, zero by default. If larger than zero, some debug info is
output to System.out. Larger values produce more
info. The value of this flag can be
set and read with SICStus.setDebugLevel() and
SICStus.debugLevel():
% java -Dse.sics.jasper.SICStus.debugLevel=1 ...
or, from Prolog:
jasper_initialize(
['-Dse.sics.jasper.SICStus.debugLevel=1'],
JVM)