src/share/vm/code/stubs.hpp

Print this page
rev 5032 : 8023033: PPC64 (part 13): basic changes for AIX
Summary: Added AIX includes alpha-sorted before BSD. Fix compilation issues with xlC in shared code. Basic shared platform dependend adaption (vm_version etc.).


  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_CODE_STUBS_HPP
  26 #define SHARE_VM_CODE_STUBS_HPP
  27 
  28 #include "asm/codeBuffer.hpp"
  29 #include "memory/allocation.hpp"
  30 #ifdef TARGET_OS_FAMILY_linux
  31 # include "os_linux.inline.hpp"
  32 #endif
  33 #ifdef TARGET_OS_FAMILY_solaris
  34 # include "os_solaris.inline.hpp"
  35 #endif
  36 #ifdef TARGET_OS_FAMILY_windows
  37 # include "os_windows.inline.hpp"
  38 #endif



  39 #ifdef TARGET_OS_FAMILY_bsd
  40 # include "os_bsd.inline.hpp"
  41 #endif
  42 
  43 // The classes in this file provide a simple framework for the
  44 // management of little pieces of machine code - or stubs -
  45 // created on the fly and frequently discarded. In this frame-
  46 // work stubs are stored in a queue.
  47 
  48 
  49 // Stub serves as abstract base class. A concrete stub
  50 // implementation is a subclass of Stub, implementing
  51 // all (non-virtual!) functions required sketched out
  52 // in the Stub class.
  53 //
  54 // A concrete stub layout may look like this (both data
  55 // and code sections could be empty as well):
  56 //
  57 //                ________
  58 // stub       -->|        | <--+




  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #ifndef SHARE_VM_CODE_STUBS_HPP
  26 #define SHARE_VM_CODE_STUBS_HPP
  27 
  28 #include "asm/codeBuffer.hpp"
  29 #include "memory/allocation.hpp"
  30 #ifdef TARGET_OS_FAMILY_linux
  31 # include "os_linux.inline.hpp"
  32 #endif
  33 #ifdef TARGET_OS_FAMILY_solaris
  34 # include "os_solaris.inline.hpp"
  35 #endif
  36 #ifdef TARGET_OS_FAMILY_windows
  37 # include "os_windows.inline.hpp"
  38 #endif
  39 #ifdef TARGET_OS_FAMILY_aix
  40 # include "os_aix.inline.hpp"
  41 #endif
  42 #ifdef TARGET_OS_FAMILY_bsd
  43 # include "os_bsd.inline.hpp"
  44 #endif
  45 
  46 // The classes in this file provide a simple framework for the
  47 // management of little pieces of machine code - or stubs -
  48 // created on the fly and frequently discarded. In this frame-
  49 // work stubs are stored in a queue.
  50 
  51 
  52 // Stub serves as abstract base class. A concrete stub
  53 // implementation is a subclass of Stub, implementing
  54 // all (non-virtual!) functions required sketched out
  55 // in the Stub class.
  56 //
  57 // A concrete stub layout may look like this (both data
  58 // and code sections could be empty as well):
  59 //
  60 //                ________
  61 // stub       -->|        | <--+