Document revision date: 30 March 2001
[Compaq] [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]
[OpenVMS documentation]

OpenVMS MACRO-32 Porting and User's Guide


Previous Contents Index

Chapter 4
4 Improving the Performance of Ported Code
     4.1     Aligning Data
         4.1.1         Alignment Assumptions
         4.1.2         Directives and Qualifier for Changing Alignment Assumptions
         4.1.3         Precedence of Alignment Controls
         4.1.4         Recommendations for Aligning Data
     4.2     Code Flow and Branch Prediction
         4.2.1         Default Code Flow and Branch Prediction
         4.2.2         Changing the Compiler's Branch Prediction
         4.2.3         How to Use .BRANCH_LIKELY
         4.2.4         How to Use .BRANCH_UNLIKELY
         4.2.5         Forward Jumps into Loops
     4.3     Code Optimization
         4.3.1         Using the VAXREGS Optimization
     4.4     Common-Based Referencing
         4.4.1         Creating a Prefix File for Common-Based Referencing
Chapter 5
5 MACRO-32 Programming Support for 64-Bit Addressing
     5.1     Guidelines for 64-Bit Addressing
     5.2     New and Changed Components for 64-Bit Addressing
     5.3     Passing 64-Bit Values
         5.3.1         Calls with a Fixed-Size Argument List
             5.3.1.1             Usage Notes for $SETUP_CALL64, $PUSH_ARG64, and $CALL64
         5.3.2         Calls with a Variable-Size Argument List
     5.4     Declaring 64-Bit Arguments
         5.4.1         Usage Notes for QUAD_ARGS
     5.5     Specifying 64-Bit Address Arithmetic
         5.5.1         Dependence on Wrapping Behavior of Longword Operations
     5.6     Sign Extending and Checking
     5.7     Alpha Instruction Built-ins
     5.8     Calculating Page-Size Dependent Values
     5.9     Creating and Using Buffers in 64-Bit Address Space
     5.10     Coding for Moves Longer Than 64 KB
Part 2
Part 2 Reference
Appendix A
Appendix A Compiler Qualifiers
    Command 1     MACRO/MIGRATION
Appendix B
Appendix B Compiler Directives
     B.1     Support of VAX MACRO Assembler Directives
     B.2     Compiler Directives
    Command 2     .BRANCH_LIKELY
    Command 3     .BRANCH_UNLIKELY
    Command 4     .CALL_ENTRY
    Command 5     .DEFINE_PAL
    Command 6     .DISABLE
    Command 7     .ENABLE
    Command 8     .EXCEPTION_ENTRY
    Command 9     .GLOBAL_LABEL
    Command 10     .JSB_ENTRY
    Command 11     .JSB32_ENTRY
    Command 12     .LINKAGE_PSECT
    Command 13     .PRESERVE
    Command 14     .SET_REGISTERS
    Command 15     .SYMBOL_ALIGNMENT
Appendix C
Appendix C Compiler Built-Ins
     C.1     Alpha Instruction Built-Ins
     C.2     Alpha PALcode Built-Ins
Appendix D
Appendix D Macros for Porting to OpenVMS Alpha
     D.1     Page-Related Calculations
    Command 16     $BYTES_TO_PAGES
    Command 17     $NEXT_PAGE
    Command 18     $PAGES_TO_BYTES
    Command 19     $PREVIOUS_PAGE
    Command 20     $ROUND_RETADR
    Command 21     $START_OF_PAGE
     D.2     Saving and Restoring Alpha Registers
    Command 22     $POP64
    Command 23     $PUSH64
     D.3     Locking Pages into a Working Set
         D.3.1         Image Initialization-Time Lockdown
    Command 24     $LOCK_PAGE_INIT
    Command 25     $LOCKED_PAGE_END
    Command 26     $LOCKED_PAGE_START
         D.3.2         On-the-Fly Lockdown
    Command 27     $LOCK_PAGE
    Command 28     $UNLOCK_PAGE
Appendix E
Appendix E MACRO-32 Macros for 64-Bit Addressing
     E.1     Macros for Manipulating 64-Bit Addresses
    Command 29     $SETUP_CALL64
    Command 30     $PUSH_ARG64
    Command 31     $CALL64
     E.2     Macros for Checking Sign Extension and Descriptor Format
    Command 32     $IS_32BITS
    Command 33     $IS_DESC64
Index
Index
Tables
3-1 Image Initialization-Time Lockdown
3-2 On-the-Fly Lockdown
3-3 Image Initialization-Time Lockdown with the Same Code
5-1 New and Changed Components for 64-Bit Addressing
5-2 Passing 64-Bit Values with a Fixed-Size Argument List
A-1 Compiler Qualifiers
B-1 Operand Descriptors
C-1 Alpha Instruction Built-Ins
C-2 Alpha PALcode Built-Ins
D-1 Shift Values


Previous Next Contents Index

  [Go to the documentation home page] [How to order documentation] [Help on this site] [How to contact us]  
  privacy and legal statement  
5601PRO_CONTENTS_001.HTML