CompilersCompilers
Module 2
2 - Compilers 2
Tool TNS/R TNS/E
pTAL compiler (Guardian) PTAL EPTAL
C compiler (Guardian) NMC CCOMP
C++ compiler (Guardian) NMCPLUS CPPCOMP
COBOL compiler (Guardian) NMCOBOL ECOBOL
C compiler (OSS) c89 c8 9
C++ compiler (OSS) c89 c8 9
COBOL compiler (OSS) nmcobol ecobol
Non-PIC linker nld Not supported
PIC linker ld eld
Loader (for DLLs) rld rld
Object File Utility noft enoft
(command line) Debuggers DEBUG Not supported
INSPECT EINSPECT
New Names for native CompileNew Names for native Compile
TNS/E COBOL CompilerTNS/E COBOL Compiler
◦ Guardian environment:
 ECOBOL/IN <src-file> [,OUT <list-file>] [options]/
[<obj-file>][;directives,…]
◦ OSS environment:
 ecobol myProg.cbl –o myProg.exe
◦ Creates code 800 linkfile
 Executable if RUNNABLE directive used
2 - Compilers 3
Obsolete DirectivesObsolete Directives
◦ NON-SHARED — Ignored.
All code is now position-independent code (PIC).
◦ LARGEDATA: Ignored, warning generated.
◦ LESS-CODE: Ignored, warning generated.
◦ LD: Error generated, Replaced by ELD
◦ NLD: Error generated, Replaced by ELD
2 - Compilers 4
Changed Directives and ClausesChanged Directives and Clauses
◦ UL: Indicates code for a dynamic-link library (DLL).
◦ SYNCHRONIZED
 Applies to 01 and 77 level items .
 May now align to a 8-byte boundary,
if item is 4 or more bytes long.
◦ OPTIMIZE — Level 2 provides more.
◦ RENAMES — of an 01 item now correctly
gives error (use REDEFINES instead)
2 - Compilers 5
New FeaturesNew Features
◦ Support for some COBOL-2002 standard
features:
 BASED
 No storage allocated for item
 ALLOCATE
 Obtain dynamic memory
 FREE
 Release dynamic memory
 New reserved words
 Requires STANDARD 2002 directive
2 - Compilers 6
File Name ChangesFile Name Changes
Guardian API declarations:
◦ NMCOBEXx changes to ECOBEXx
Where x is 0: Latest
1: Next to latest
T: Oldest
Might appear in
CONSULT
SEARCH
SPECIAL-NAMES
CALL
ENTER
2 - Compilers 7
Other ChangesOther Changes
◦ IEEE Floating point now used for certain
intrinsic functions:
 Trigonometric and Logarithmic
 Better performance
 Results differ from Tandem_floating point
◦ Linkfiles can be flagged as NEUTRAL_FLOAT
 Useable in programs of either format
2 - Compilers 8
ScreenCobol CompilerScreenCobol Compiler
 Optional use of Pathtcp4
◦ Context-sensitive support:
 DIALOG-BEGIN
 Start a dialog with single server process
 Optionally sends data
 DIALOG-SEND
 Continue dialog
 DIALOG-ABORT
 Cancel dialog
 DIALOG-END
 Perform Clean-up operations
 No data sent to server
◦ Allows >32k bytes of data per transaction
 Server:
◦ New system message: –121, PATHSEND DIALOG ABORT
2 - Compilers 9
TNS/E C/C++ CompilerTNS/E C/C++ Compiler
◦ The TNS/E C/C++ compiler complies with the
following standards:
 C - ANSI X3J11/88-159 ISO/IEC 9899:1990 (E)
 C++ - ISO/IEC 14882 1998-09-01
◦ Guardian C:
 CCOMP/IN <src-file> [,OUT <list-file>] [options]/
[<objfile>][;directives,…]
◦ Guardian C++:
 CPPCOMP/IN <src-file> [,OUT <list-file>] [options]/
[<objfile>][;directives,…]
◦ OSS C/C++:
 c89 myProg.c –o myProg.exe –Wtarget={TNS/E|TNS/R}
 OSS defaults to current platform
2 - Compilers 10
Obsolete PragmasObsolete Pragmas
◦ EXTERN_DATA: (GP-relative addressing) not supported.
◦ NON_SHARED: Ignored.
All code is now position-independent code (PIC).
◦ LD: Error generated, replaced by ELD
◦ NLD: Error generated, replaced by ELD
◦ VERSION1 — Not supported;VERSION3 is the default
(the MIGRATION_CHECK pragma can be used with the
VERSION2 pragma to aid in converting toVERSION3).
◦ SRLxxxx — SRLs obsoleted by DLLs.TNS/R C/C++
provided a number of SRL-related pragmas. Since TNS/E
does not support SRLs, these pragmas are obsolete and
not supported by the TNS/E C/C++ compiler.
2 - Compilers 11
Changed PragmasChanged Pragmas
◦ IEEE_FLOAT — Is now the default
◦ TANDEM_FLOAT — Is still available
◦ Linkfiles can be flagged as NEUTRAL_FLOAT
 Useable in programs of either format
2 - Compilers 12
New PragmasNew Pragmas
NEUTRAL
◦ Compiler pragma
-Wbuilding_neutral_library
◦ Command line option
◦ For creating a C++ version2/version3 independent DLL
◦ Cannot use objects marked MODEL_DEPENDENT
MODEL_DEPENDENT
◦ Used in C++ standard headers only
2 - Compilers 13
New PragmasNew Pragmas
MAXALIGN
◦ Applies to the definition of a composite type.
 C applies to array types, struct types, and union types.
 C++ applies to classes as well.
 TNS/E: 16 bytes alignment
 Does not affect the layout or alignment of the
components of the composite type. It only affects the
overall alignment for the composite type.
 To control the layout of the components of a class,
struct, or union, the FIELDALIGN pragma must still
be specified in addition to the MAXALIGN pragma.
2 - Compilers 14
New FeaturesNew Features
 New data type
◦ unsigned long long
 TNS/E C/C++ supports an unsigned 64 bit integer type,
 Range is 0 .. 18446744073709551615.
 The suffixes for unsigned long long literals are ULL and ull.
 unsigned long long var = 18446744073709551615ULL;
◦ intmax for Preprocessor Expressions
 Preprocessor expressions are evaluated using intmax_t and uintmax_t.
 Intmax_t and uintmax_t are defined in <stdint.h> to be long long and
unsigned long long, respectively.
◦ Supporting functions:
 strtoll: char string to signed long long
 strtoull: char string to unsigned long long
 wcstoll: wide-char string to signed long long
 wcstoull: wide-char string to unsigned long long
2 - Compilers 15
New FeaturesNew Features
 C99 support:
◦ __func__ Identifier
◦ Universal Character Names
 Usable in identifiers etc. to designate characters that are not in the basic
character set
 A universal character name has the form:
 unnnn or Unnnnnnnn (where n is a hexadecimal digit)
◦ Digraph Characters
 Two-character sequences that represent a single character
2 - Compilers 16
New FeaturesNew Features
 C99 support (continued):
◦ Aggregate initialization
 Designators initialize the components of an array or struct.
◦ Nonconstant Aggregate Component Initializers
 The initializer expression for an automatic composite
variable can contain nonconstant subexpressions.
2 - Compilers 17
New FeaturesNew Features
 C99 support (continued):
◦ Mixed Statements and Declarations
 Declarations can appear within a block.
◦ New Block Scopes for Selection and Iteration
Statements
 All selection statements (if, if/else, and switch statements) and
iteration statements (while, do/while, and for statements) and
their associated substatements are considered to be blocks.
2 - Compilers 18
New FeaturesNew Features
 C99 support (continued):
◦ Variadic Macros
 Variadic function-like macros with a variable number of
arguments.
 Example
 #define debug (...) fprintf (stderr, __VA_ARGS__)
 debug ("flag");
 // expands to: fprintf (stderr, "flag");
 debug ("x = %in", x);
 // expands to: fprintf (stderr, "x = %in", x);
2 - Compilers 19
Other ChangesOther Changes
CEXTDECS file
◦ Uses int data type for 32-bit values
◦ Previously used long data type
◦ Gives warning during compilation
New Exception handler architecture (C++)
◦ Better performance
2 - Compilers 20
Other ChangesOther Changes
Compiler order of evaluation
◦ TNS/E compiler evaluates in different order
◦ Incorrect code that worked on TNS/R may
not work on TNS/E
 char * ptr;
 ...
 ptr = strcpy(ptr, "string") + strlen(ptr);
2 - Compilers 21
Documentation ChangeDocumentation Change
2 - Compilers 22
Library File
Names
Using Conditional CompilationUsing Conditional Compilation
 Test macros are available to control conditional compilation:
◦ _TNS_E_TARGET, _TNS_R_TARGET
 #ifdef _TNS_E_TARGET
 /*TNS/E specific code goes here */
 #else
 /*TNS/R specific code goes here */
 #endif
◦ _TANDEM_ARCH_: 0:TNS, 1:TNS/R, 2:TNS/E
 #if _TANDEM_ARCH_ = 2
 /*TNS/E specific code goes here */
 #else
 /*TNS or TNS/R specific code goes here */
 #endif
2 - Compilers 23
TNS/E epTAL CompilerTNS/E epTAL Compiler
◦ Guardian environment:
 EPTAL/IN <src-file> [,OUT <list-file>] [options]/ [<obj-
file>][;directives,…]
◦ Creates code 800 linkfile
2 - Compilers 24
Obsolete DirectivesObsolete Directives
◦ ?SAVEGLOBALS — Gives error
◦ ?USEGLOBALS — Gives error
◦ ?BEGINCOMPILATION — Ignored
◦ ?[NO]CALL_SHARED — Ignored
◦ ?SRL — Ignored
◦ ?[NO]GP_OK — Ignored
◦ ?PUSHGP_OK — Ignored
◦ ?POPGP_OK — Ignored
2 - Compilers 25
Changed DirectivesChanged Directives
◦ ?NOOVERFLOW_TRAPS
 Now the default
◦ ?OPTIMIZEFILE
 Some conditions now cause warnings:
 File does not exist, cannot be opened, is not code 101
 Same procedure appears multiple times
 Procedure is unknown
 Invalid optimize level
2 - Compilers 26
Other ChangesOther Changes
◦ INTERRUPT procedure attribute not
supported
◦ AUTO and PLATFORM perform same
alignment in eptal
2 - Compilers 27
Function ChangesFunction Changes
$AXADR Not supported Replace with standard interface
(see ref. manual)
$EXECUTIO Not supported Remove from the program
$FREEZE Allowed as DEFINE
name
Replace with the $TRIGGER (new
in TNS/E)
$HALT Allowed as DEFINE
name
Replace with the $TRIGGER (new
in TNS/E)
$INTERROGATE[H]IO Not supported Remove from the program
$LOCATESPTHDR Not supported Remove from the program
$LOCKPAGE Not supported Remove from the program
$READBASELIMIT Not supported Remove from the program
$READSPT Not supported Remove from the program
$STACK_ALLOCATE Behavior change Address and size rounded up to
16-bytes (was 8 bytes)
$UNLOCKPAGE Not supported Remove from the program
$WRITEPTE Not supported Remove from the program
2 - Compilers 28
RETURN and RETURNSCCRETURN and RETURNSCC
TNS/E behavior
 TheTNS/E pTAL compiler issues a warning
whenever a pTAL procedure returns
both a traditional function value and a condition code value.
 Read the migration guide for details on how to
migrate such a procedure
2 - Compilers 29
New epTAL FeatureNew epTAL Feature
 STRUCTALIGN (MAXALIGN) for 16-byte aligned data
◦ Certain NonStop H-series functions require data to be aligned
on 16-byte boundaries.
TNS/E pTAL requires such data to be declared in a structure
template that provides this 16-byte alignment.
STRUCTALIGN (MAXALIGN) causes data to be aligned on the
maximum alignment defined for the platform, which is 16 bytes
for theTNS/E platform.
◦ GETPOOL and POOL_GETSPACE_
 16-byte alignment vs. 4-byte alignment on TNS/R
2 - Compilers 30
New Guardian Procedure CallsNew Guardian Procedure Calls
◦ PROCESS_DELAY_ : Supercedes DELAY
◦ TIMER_START_ : Allows microseconds in time period
◦ TIMER_STOP_
◦ TS_NANOSECS_ : Nanoseconds since last coldload
◦ TS_UNIQUE_CREATE_
 Create network-wide 128-bit unique timestamp
◦ TS_UNIQUE_COMPARE_
◦ TS_UNIQUE_CONVERT_TO_JULIAN_
 Convert 128-bit timestamp to 64-bit Julian timestamp
2 - Compilers 31
Changed Guardian ProceduresChanged Guardian Procedures
◦ New return values for:
 PROCESSORTYPE
 PROCESSOR_GETNAME_
 PROCESSOR_GETINFOLIST_
 can also report number of IPUs
 (REMOTE)TOSVERSION
◦ DEBUG and PROCESS_DEBUG_
 Invoke NonStop H-series debuggers
2 - Compilers 32
Questions ?Questions ?
33
2 - Compilers 34

Mod02 compilers

  • 1.
  • 2.
    2 - Compilers2 Tool TNS/R TNS/E pTAL compiler (Guardian) PTAL EPTAL C compiler (Guardian) NMC CCOMP C++ compiler (Guardian) NMCPLUS CPPCOMP COBOL compiler (Guardian) NMCOBOL ECOBOL C compiler (OSS) c89 c8 9 C++ compiler (OSS) c89 c8 9 COBOL compiler (OSS) nmcobol ecobol Non-PIC linker nld Not supported PIC linker ld eld Loader (for DLLs) rld rld Object File Utility noft enoft (command line) Debuggers DEBUG Not supported INSPECT EINSPECT New Names for native CompileNew Names for native Compile
  • 3.
    TNS/E COBOL CompilerTNS/ECOBOL Compiler ◦ Guardian environment:  ECOBOL/IN <src-file> [,OUT <list-file>] [options]/ [<obj-file>][;directives,…] ◦ OSS environment:  ecobol myProg.cbl –o myProg.exe ◦ Creates code 800 linkfile  Executable if RUNNABLE directive used 2 - Compilers 3
  • 4.
    Obsolete DirectivesObsolete Directives ◦NON-SHARED — Ignored. All code is now position-independent code (PIC). ◦ LARGEDATA: Ignored, warning generated. ◦ LESS-CODE: Ignored, warning generated. ◦ LD: Error generated, Replaced by ELD ◦ NLD: Error generated, Replaced by ELD 2 - Compilers 4
  • 5.
    Changed Directives andClausesChanged Directives and Clauses ◦ UL: Indicates code for a dynamic-link library (DLL). ◦ SYNCHRONIZED  Applies to 01 and 77 level items .  May now align to a 8-byte boundary, if item is 4 or more bytes long. ◦ OPTIMIZE — Level 2 provides more. ◦ RENAMES — of an 01 item now correctly gives error (use REDEFINES instead) 2 - Compilers 5
  • 6.
    New FeaturesNew Features ◦Support for some COBOL-2002 standard features:  BASED  No storage allocated for item  ALLOCATE  Obtain dynamic memory  FREE  Release dynamic memory  New reserved words  Requires STANDARD 2002 directive 2 - Compilers 6
  • 7.
    File Name ChangesFileName Changes Guardian API declarations: ◦ NMCOBEXx changes to ECOBEXx Where x is 0: Latest 1: Next to latest T: Oldest Might appear in CONSULT SEARCH SPECIAL-NAMES CALL ENTER 2 - Compilers 7
  • 8.
    Other ChangesOther Changes ◦IEEE Floating point now used for certain intrinsic functions:  Trigonometric and Logarithmic  Better performance  Results differ from Tandem_floating point ◦ Linkfiles can be flagged as NEUTRAL_FLOAT  Useable in programs of either format 2 - Compilers 8
  • 9.
    ScreenCobol CompilerScreenCobol Compiler Optional use of Pathtcp4 ◦ Context-sensitive support:  DIALOG-BEGIN  Start a dialog with single server process  Optionally sends data  DIALOG-SEND  Continue dialog  DIALOG-ABORT  Cancel dialog  DIALOG-END  Perform Clean-up operations  No data sent to server ◦ Allows >32k bytes of data per transaction  Server: ◦ New system message: –121, PATHSEND DIALOG ABORT 2 - Compilers 9
  • 10.
    TNS/E C/C++ CompilerTNS/EC/C++ Compiler ◦ The TNS/E C/C++ compiler complies with the following standards:  C - ANSI X3J11/88-159 ISO/IEC 9899:1990 (E)  C++ - ISO/IEC 14882 1998-09-01 ◦ Guardian C:  CCOMP/IN <src-file> [,OUT <list-file>] [options]/ [<objfile>][;directives,…] ◦ Guardian C++:  CPPCOMP/IN <src-file> [,OUT <list-file>] [options]/ [<objfile>][;directives,…] ◦ OSS C/C++:  c89 myProg.c –o myProg.exe –Wtarget={TNS/E|TNS/R}  OSS defaults to current platform 2 - Compilers 10
  • 11.
    Obsolete PragmasObsolete Pragmas ◦EXTERN_DATA: (GP-relative addressing) not supported. ◦ NON_SHARED: Ignored. All code is now position-independent code (PIC). ◦ LD: Error generated, replaced by ELD ◦ NLD: Error generated, replaced by ELD ◦ VERSION1 — Not supported;VERSION3 is the default (the MIGRATION_CHECK pragma can be used with the VERSION2 pragma to aid in converting toVERSION3). ◦ SRLxxxx — SRLs obsoleted by DLLs.TNS/R C/C++ provided a number of SRL-related pragmas. Since TNS/E does not support SRLs, these pragmas are obsolete and not supported by the TNS/E C/C++ compiler. 2 - Compilers 11
  • 12.
    Changed PragmasChanged Pragmas ◦IEEE_FLOAT — Is now the default ◦ TANDEM_FLOAT — Is still available ◦ Linkfiles can be flagged as NEUTRAL_FLOAT  Useable in programs of either format 2 - Compilers 12
  • 13.
    New PragmasNew Pragmas NEUTRAL ◦Compiler pragma -Wbuilding_neutral_library ◦ Command line option ◦ For creating a C++ version2/version3 independent DLL ◦ Cannot use objects marked MODEL_DEPENDENT MODEL_DEPENDENT ◦ Used in C++ standard headers only 2 - Compilers 13
  • 14.
    New PragmasNew Pragmas MAXALIGN ◦Applies to the definition of a composite type.  C applies to array types, struct types, and union types.  C++ applies to classes as well.  TNS/E: 16 bytes alignment  Does not affect the layout or alignment of the components of the composite type. It only affects the overall alignment for the composite type.  To control the layout of the components of a class, struct, or union, the FIELDALIGN pragma must still be specified in addition to the MAXALIGN pragma. 2 - Compilers 14
  • 15.
    New FeaturesNew Features New data type ◦ unsigned long long  TNS/E C/C++ supports an unsigned 64 bit integer type,  Range is 0 .. 18446744073709551615.  The suffixes for unsigned long long literals are ULL and ull.  unsigned long long var = 18446744073709551615ULL; ◦ intmax for Preprocessor Expressions  Preprocessor expressions are evaluated using intmax_t and uintmax_t.  Intmax_t and uintmax_t are defined in <stdint.h> to be long long and unsigned long long, respectively. ◦ Supporting functions:  strtoll: char string to signed long long  strtoull: char string to unsigned long long  wcstoll: wide-char string to signed long long  wcstoull: wide-char string to unsigned long long 2 - Compilers 15
  • 16.
    New FeaturesNew Features C99 support: ◦ __func__ Identifier ◦ Universal Character Names  Usable in identifiers etc. to designate characters that are not in the basic character set  A universal character name has the form:  unnnn or Unnnnnnnn (where n is a hexadecimal digit) ◦ Digraph Characters  Two-character sequences that represent a single character 2 - Compilers 16
  • 17.
    New FeaturesNew Features C99 support (continued): ◦ Aggregate initialization  Designators initialize the components of an array or struct. ◦ Nonconstant Aggregate Component Initializers  The initializer expression for an automatic composite variable can contain nonconstant subexpressions. 2 - Compilers 17
  • 18.
    New FeaturesNew Features C99 support (continued): ◦ Mixed Statements and Declarations  Declarations can appear within a block. ◦ New Block Scopes for Selection and Iteration Statements  All selection statements (if, if/else, and switch statements) and iteration statements (while, do/while, and for statements) and their associated substatements are considered to be blocks. 2 - Compilers 18
  • 19.
    New FeaturesNew Features C99 support (continued): ◦ Variadic Macros  Variadic function-like macros with a variable number of arguments.  Example  #define debug (...) fprintf (stderr, __VA_ARGS__)  debug ("flag");  // expands to: fprintf (stderr, "flag");  debug ("x = %in", x);  // expands to: fprintf (stderr, "x = %in", x); 2 - Compilers 19
  • 20.
    Other ChangesOther Changes CEXTDECSfile ◦ Uses int data type for 32-bit values ◦ Previously used long data type ◦ Gives warning during compilation New Exception handler architecture (C++) ◦ Better performance 2 - Compilers 20
  • 21.
    Other ChangesOther Changes Compilerorder of evaluation ◦ TNS/E compiler evaluates in different order ◦ Incorrect code that worked on TNS/R may not work on TNS/E  char * ptr;  ...  ptr = strcpy(ptr, "string") + strlen(ptr); 2 - Compilers 21
  • 22.
    Documentation ChangeDocumentation Change 2- Compilers 22 Library File Names
  • 23.
    Using Conditional CompilationUsingConditional Compilation  Test macros are available to control conditional compilation: ◦ _TNS_E_TARGET, _TNS_R_TARGET  #ifdef _TNS_E_TARGET  /*TNS/E specific code goes here */  #else  /*TNS/R specific code goes here */  #endif ◦ _TANDEM_ARCH_: 0:TNS, 1:TNS/R, 2:TNS/E  #if _TANDEM_ARCH_ = 2  /*TNS/E specific code goes here */  #else  /*TNS or TNS/R specific code goes here */  #endif 2 - Compilers 23
  • 24.
    TNS/E epTAL CompilerTNS/EepTAL Compiler ◦ Guardian environment:  EPTAL/IN <src-file> [,OUT <list-file>] [options]/ [<obj- file>][;directives,…] ◦ Creates code 800 linkfile 2 - Compilers 24
  • 25.
    Obsolete DirectivesObsolete Directives ◦?SAVEGLOBALS — Gives error ◦ ?USEGLOBALS — Gives error ◦ ?BEGINCOMPILATION — Ignored ◦ ?[NO]CALL_SHARED — Ignored ◦ ?SRL — Ignored ◦ ?[NO]GP_OK — Ignored ◦ ?PUSHGP_OK — Ignored ◦ ?POPGP_OK — Ignored 2 - Compilers 25
  • 26.
    Changed DirectivesChanged Directives ◦?NOOVERFLOW_TRAPS  Now the default ◦ ?OPTIMIZEFILE  Some conditions now cause warnings:  File does not exist, cannot be opened, is not code 101  Same procedure appears multiple times  Procedure is unknown  Invalid optimize level 2 - Compilers 26
  • 27.
    Other ChangesOther Changes ◦INTERRUPT procedure attribute not supported ◦ AUTO and PLATFORM perform same alignment in eptal 2 - Compilers 27
  • 28.
    Function ChangesFunction Changes $AXADRNot supported Replace with standard interface (see ref. manual) $EXECUTIO Not supported Remove from the program $FREEZE Allowed as DEFINE name Replace with the $TRIGGER (new in TNS/E) $HALT Allowed as DEFINE name Replace with the $TRIGGER (new in TNS/E) $INTERROGATE[H]IO Not supported Remove from the program $LOCATESPTHDR Not supported Remove from the program $LOCKPAGE Not supported Remove from the program $READBASELIMIT Not supported Remove from the program $READSPT Not supported Remove from the program $STACK_ALLOCATE Behavior change Address and size rounded up to 16-bytes (was 8 bytes) $UNLOCKPAGE Not supported Remove from the program $WRITEPTE Not supported Remove from the program 2 - Compilers 28
  • 29.
    RETURN and RETURNSCCRETURNand RETURNSCC TNS/E behavior  TheTNS/E pTAL compiler issues a warning whenever a pTAL procedure returns both a traditional function value and a condition code value.  Read the migration guide for details on how to migrate such a procedure 2 - Compilers 29
  • 30.
    New epTAL FeatureNewepTAL Feature  STRUCTALIGN (MAXALIGN) for 16-byte aligned data ◦ Certain NonStop H-series functions require data to be aligned on 16-byte boundaries. TNS/E pTAL requires such data to be declared in a structure template that provides this 16-byte alignment. STRUCTALIGN (MAXALIGN) causes data to be aligned on the maximum alignment defined for the platform, which is 16 bytes for theTNS/E platform. ◦ GETPOOL and POOL_GETSPACE_  16-byte alignment vs. 4-byte alignment on TNS/R 2 - Compilers 30
  • 31.
    New Guardian ProcedureCallsNew Guardian Procedure Calls ◦ PROCESS_DELAY_ : Supercedes DELAY ◦ TIMER_START_ : Allows microseconds in time period ◦ TIMER_STOP_ ◦ TS_NANOSECS_ : Nanoseconds since last coldload ◦ TS_UNIQUE_CREATE_  Create network-wide 128-bit unique timestamp ◦ TS_UNIQUE_COMPARE_ ◦ TS_UNIQUE_CONVERT_TO_JULIAN_  Convert 128-bit timestamp to 64-bit Julian timestamp 2 - Compilers 31
  • 32.
    Changed Guardian ProceduresChangedGuardian Procedures ◦ New return values for:  PROCESSORTYPE  PROCESSOR_GETNAME_  PROCESSOR_GETINFOLIST_  can also report number of IPUs  (REMOTE)TOSVERSION ◦ DEBUG and PROCESS_DEBUG_  Invoke NonStop H-series debuggers 2 - Compilers 32
  • 33.
  • 34.

Editor's Notes

  • #2 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #3 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #4 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #5 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #6 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #7 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #8 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #9 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #10 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #11 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #12 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #13 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #14 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #15 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #16 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #17 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #18 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #19 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #20 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #21 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #22 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #23 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #24 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #25 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #26 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #27 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #28 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #29 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #30 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #31 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #32 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #33 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #34 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers
  • #35 NonStop H-Series and J-Series Operating Systems Application Migration Compilers 2 - Compilers