Set defaults for DBL calls
Component: | BLSSERV |
Functional area: | Program control |
Domain: | PROGRAM |
Privileges: | STD-PROCESSING |
Function
The MODIFY-DBL-DEFAULTS command sets defaults on a task-local basis for subsequent calls to the DBL using the START- and LOAD-EXECUTABLE-PROGRAM (or START-/LOAD-PROGRAM) commands and the BIND macro. Apart from setting specific values, it can configure their scope and priority.
The SHOW-DBL-DEFAULTS command lists the current settings. The RESET-DBL-DEFAULTS command can be used to return all settings to the original defaults.
Format
MODIFY-DBL-DEFAULTS | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Operands
A value of *UNCHANGED for an operand means that the previous setting of the associated DBL parameter is left unchanged. If nothing has yet been specified for the operand in a MODIFY-DBL-DEFAULTS command, the value that follows *UNCHANGED in the syntax description applies.
The only operands described below are those which do not appear in LOAD-/START-EXECUTABLE-PROGRAM (or LOAD-/START-PROGRAM). The operands of the DBL macros are listed in table "Assignment to corresponding operands of DBL macro calls".
PRIORITY =
Defines the priority of DBL parameter settings.
PRIORITY = *STD
The DBL parameters specified in LOAD-/START-EXECUTABLE-PROGRAM (or LOAD-/START-PROGRAM) or in the BIND macro have top priority. Thus, the hierarchy is as follows:
- values specified in LOAD-EXECUTABLE-PROGRAM (or LOAD-/START-PROGRAM) or in a BIND macro call
- values specified in the MODIFY-DBL-DEFAULTS command
- default values defined on initialization of an internal DBL parameter table. In the syntax chart, these are the values following *UNCHANGED, unless some other value is underscored
PRIORITY = *FORCED
The DBL parameters defined in MODIFY-DBL-DEFAULTS have top priority. The DBL parameters specified in EXECUTABLE-PROGRAM (or LOAD-/START-PROGRAM) or in a BIND macro are ignored by the DBL.
SCOPE =
Defines the scope of the settings.
SCOPE = *ALL(...)
The default settings apply both to DBL commands ((START-/LOAD-EXECUTABLE-PROGRAM or START-/LOAD-PROGRAM) and to DBL macros (BIND, ASHARE)).
SCOPE = *CMD-CALLS(...)
The default settings apply to DBL commands only (START-/LOAD-EXECUTABLE-PROGRAM or START-/LOAD-PROGRAM).
LOADING = *PARAMETERS(...)
PROGRAM-MODE = *UNCHANGED / *STD / 24 / *ANY
Defines the part of the address space (above or below 16 MB) in which the load unit modules are to be loaded.
*STD is set by default at task start.
PROGRAM-MODE = *STD
The DBL default depends on the command call:
In the case of LOAD-/START-EXECUTABLE-PROGRAM with FROM-FILE=*LIBRARY-ELEMENT(...), PROGRAM-MODE=*ANY is assumed as the DBL default value.
In the case of LOAD-/START-PROGRAM with FROM-FILE=*MODULE(...), PROGRAM-MODE=24 is assumed as the DBL default value.
CISC-COMPILATION = *UNCHANGED / *YES(...) / *NO
Specifies whether CISCFW compilation is permitted. CISCFW is a firmware component on SU x86 for mapping nonprivileged /390 code to X86-64 code. It supplements X86-64 mode and enables existing /390 code to be executed object-compatibly on SU x86. CISCFW contains a Just-In-Time /390 code compiler which converts /390 code to X86-64 code at runtime.
A code block is compiled only when it is executed and is stored in a local task CISCFW memory. When the code block is executed again, the code, which has already been compiled and optimized, is executed directly from the CISCFW memory. Further optimization is achieved by making the CISCFW memory resident.
CISCFW compilation is enabled by default.
In systems possessing only a small memory extension, programs that require high performance should be executed with CISCFW compilation. In the case of very large programs, a correspondingly larger main memory should be chosen (WORKSPACE operand).
CISC-COMPILATION = *YES(...)
CISCFW compilation is allowed.
WORKSPACE = *STD / <integer 1..2048 Mbyte>
Defines the size of the work area in MBytes available for the CISCFW memory. The default setting is *STD, i.e. the size of the work storage area for CISCFW compilation is defined by the compiler.
SHOW-MEMORY-USAGE = *UNCHANGED / *NO / *YES
Specifies whether the main memory that is to be used for the CISCFW memory is defined by the current value of the system parameter JTSTDMEM.
CISC-COMPILATION = *NO
CISCFW compilation is not to be used. /390 code is emulated by the /390 firmware.
SCOPE = *PROGRAM-CALLS(...)
The default settings apply to DBL macros only (BIND, ASHARE, see table "Assignment to corresponding operands of DBL macro calls").
LOADING = *PARAMETERS(...)
CLOSE-LIBRARIES = *UNCHANGED / *ALL / *NONE / *ALTERNATE-LIBRARIES
Specifies whether the libraries used by DBL are to be closed after processing.
CLOSE-LIBRARIES = *ALL
All libraries used by DBL are closed.
CLOSE-LIBRARIES = *NONE
None of the libraries used by DBL are closed.
CLOSE-LIBRARIES = *ALTERNATE-LIBRARIES
Only the alternate libraries are closed.
REP-SCOPE = *UNCHANGED / *CONTEXT / *UNIT
Specifies whether REP processing is to be performed for all modules in the context or only the modules of the current load unit.
REP-SCOPE = *CONTEXT
REP processing is carried out for all modules in the context.
REP-SCOPE = *UNIT
REP processing is restricted to the modules of the current load unit. All other modules in the context are skipped.
CONTEXT-NAME = *UNCHANGED / <filename 1..32>
Names a context in which the load units are to be loaded. The name must begin with a letter. If no name is specified, the context LOCAL#DEFAULT is used.
CONTEXT-STATE = *UNCHANGED / *ANY / *NEW / *OLD
Determines whether the context specified with CONTEXT-NAME must or can exist.
CONTEXT-STATE = *ANY
If a user context with the specified name (CONTEXT-NAME) exists, this context is used; otherwise, a new context is created.
CONTEXT-STATE = *NEW
A new context with the specified name (CONTEXT-NAME) is created. This context must not be already present.
CONTEXT-STATE = *OLD
The context with the specified name (CONTEXT-NAME) is used. This context must be one that exists.
RESOLUTION = *PARAMETERS(...)
RESOL-TYPE = *UNCHANGED / *STD / *USER(...)
Specifies the search strategy for resolving external references.
RESOL-TYPE = *STD
The search sequence predefined by DBL applies:
link context
shared code of the user
shared code of the system
reference context(s)
RESOL-TYPE = *USER(...)
The search sequence is defined by the user.
ORDER = *UNCHANGED / list-poss(4): *LINK-CONTEXT / *USER-SHARED-CODE / *SYSTEM-SHARED-CODE / *REFERENCE-CONTEXTS
The user-defined search sequence is specified in the form of a list of the following keywords. The order in which the contexts are searched is defined by the sequence of the keywords in the list:
*LINK-CONTEXT | for link context |
*USER-SHARED-CODE | for shared code of the user |
*SYSTEM-SHARED-CODE | for shared code of the system |
*REFERENCE-CONTEXT | for reference context |
Each keyword can appear in the list only once. Keywords that are not specified in the list are appended to the end of the list internally by DBL in accordance with the predefined sequence (see *STD).
Example
The specification ORDER=(*SYSTEM-SHARED-CODE,*USER-SHARED-CODE)
is extended to ORDER=(*SYSTEM-SHARED-CODE,*USER-SHARED-CODE,*LINK-CONTEXT,*REFERENCE-CONTEXT)
. When external references are resolved, the search is performed in the following order:
in the system’s shared code
in the user’s shared code
in the link context
and, finally, in the reference context
PUBLIC-RESOL-TYPE = *UNCHANGED / *STD / *USER(...)
Specifies the search strategy for the resolution of external references in PUBLIC parts of LLMs.
PUBLIC-RESOL-TYPE = *STD
The search sequence predefined by the DBL applies:
- shared code of the user
- shared code of the system
- link context
PUBLIC-RESOL-TYPE = *USER(...)
The search sequence is specified by the user.
ORDER = *UNCHANGED / list-poss(3): *USER-SHARED-CODE / *SYSTEM-SHARED-CODE / *LINK-CONTEXT
Specifies the user-defined search sequence in the form of a list of the following keywords. The order in which the contexts are to be searched is defined by the sequence of the keywords in the list:
*USER-SHARED-CODE | for shared user code of the user |
*SYSTEM-SHARED-CODE | for shared user code of the system |
*LINK-CONTEXT | for link context |
Each keyword can appear in the list only once. Keywords that are not specified in the list are appended to the end of the list internally by DBL in accordance with the predefined sequence (see *STD).
Example
The specification ORDER=*SYSTEM-SHARED-CODE
is extended to ORDER=(*SYSTEM-SHARED-CODE,*USER-SHARED-CODE,*LINK-
CONTEXT)
. When external references are resolved in PUBLIC parts, the following search order is used:
in the system’s shared code
in the user’s shared code
and, finally, in the link context
ERROR-PROCESSING = *PARAMETERS(...)
UNRESOLVED-EXTRNS = *UNCHANGED / *STD / *DELAY / *DELAY-WARN / *ABORT
With the exception of the operand value *DELAY-WARN, the operand occurs in LOAD-/START-EXECUTABLE-PROGRAM (or LOAD-/START-PROGRAM).
UNRESOLVED-EXTRNS = *DELAY-WARN
The specification mainly corresponds to the operand value *DELAY. However, when unresolved external symbols are found in the context, a return code is provided as a warning.
Return codes
(SC2) | SC1 | Maincode | Meaning |
---|---|---|---|
0 | CMD0001 | Command executed | |
2 | 0 | BLS0150 | The command was executed and a warning was issued |
1 | 1 | BLS0170 | PRIORITY=*FORCED not allowed with specified operands |
1 | 1 | BLS0171 | Invalid context name |
1 | 32 | BLS0002 | Internal DBL error |
1 | 32 | BLS0152 | System error |
64 | CMD0216 | User is not authorized to issue the command |
Notes
For compatibility reasons, the priorities indicated above do not apply to the BIND macro parameters NACOL, UNRES, LDINFO, TSTOPT, MSG, and AMODCHK. The default settings are always taken from the LOAD-/START-EXECUTABLE-PROGRAM or LOAD-/START-PROGRAM command.
The command MODIFY-DBL-DEFAULTS PRIORITY=*FORCED is rejected if used with the specification of a library (file name or file link name), context, or program version.
The default settings are not relevant for the LINK macro described in the appendix.
The search order specified in the RESOL-TYPE and PUBLIC-RESOL-TYPE operands (ORDER suboperand) has no influence on which contexts are searched. Whether shared code is searched must be specified with the SHARE-SCOPE operand.
Operands of the command and corresponding macro operands
Command | Macro | |||
---|---|---|---|---|
ASHARE | BIND | ETABLE / | LDSLICE / | |
ALTERNATE-LIBRARIES | ALTLIB | ALTLIB | - | - |
AMODE-CHECK | - | AMODCHK | - | - |
AUTOLINK | - | AUTOLNK | - | - |
CLOSE-LIBRARIES | - | CLOSE | - | - |
CONTEXT-NAME | - | LNKCTX | - | - |
CONTEXT-STATE | - | LNKCTXS | CONTEXT-STATE | - |
ERROR-EXIT | - | ERREXIT | - | - |
IGNORE-ATTRIBUTES | - | IGNATTR | - | - |
LIBRARY | - | LIBNAM | - | - |
LOAD-INFORMATION | - | LDINFO | - | - |
MESSAGE-CONTROL | MSGCTRL | MSG | - | MSG |
NAME-COLLISION | - | NACOL | - | - |
PROGRAM-MAP | MAP | MAP | - | - |
PROGRAM-MODE | - | PROGMOD | - | - |
PROGRAM-VERSION | - | PGMVERS | - | - |
PUBLIC-RESOL-TYPE | - | PURESTY | - | - |
REP-FILE | - | REPFILE | - | - |
REP-SCOPE | - | REPSCOP | - | - |
RESOL-TYPE | - | RESTYP | - | - |
SHARE-SCOPE | - | SHARE | - | - |
TEST-OPTIONS | - | TSTOPT | - | - |
UNRESOLVED-EXTRNS | - | UNRES | - | - |