< prev index next >

src/hotspot/share/code/stubs.hpp

Print this page




  40 // in the Stub class.
  41 //
  42 // A concrete stub layout may look like this (both data
  43 // and code sections could be empty as well):
  44 //
  45 //                ________
  46 // stub       -->|        | <--+
  47 //               |  data  |    |
  48 //               |________|    |
  49 // code_begin -->|        |    |
  50 //               |        |    |
  51 //               |  code  |    | size
  52 //               |        |    |
  53 //               |________|    |
  54 // code_end   -->|        |    |
  55 //               |  data  |    |
  56 //               |________|    |
  57 //                          <--+
  58 
  59 
  60 class Stub VALUE_OBJ_CLASS_SPEC {
  61  public:
  62   // Initialization/finalization
  63   void    initialize(int size,
  64                      CodeStrings& strings)       { ShouldNotCallThis(); }                // called to initialize/specify the stub's size
  65   void    finalize()                             { ShouldNotCallThis(); }                // called before the stub is deallocated
  66 
  67   // General info/converters
  68   int     size() const                           { ShouldNotCallThis(); return 0; }      // must return the size provided by initialize
  69   static  int code_size_to_size(int code_size)   { ShouldNotCallThis(); return 0; }      // computes the size given the code size
  70 
  71   // Code info
  72   address code_begin() const                     { ShouldNotCallThis(); return NULL; }   // points to the first byte of    the code
  73   address code_end() const                       { ShouldNotCallThis(); return NULL; }   // points to the first byte after the code
  74 
  75   // Debugging
  76   void    verify()                               { ShouldNotCallThis(); }                // verifies the Stub
  77   void    print()                                { ShouldNotCallThis(); }                // prints some information about the stub
  78 };
  79 
  80 




  40 // in the Stub class.
  41 //
  42 // A concrete stub layout may look like this (both data
  43 // and code sections could be empty as well):
  44 //
  45 //                ________
  46 // stub       -->|        | <--+
  47 //               |  data  |    |
  48 //               |________|    |
  49 // code_begin -->|        |    |
  50 //               |        |    |
  51 //               |  code  |    | size
  52 //               |        |    |
  53 //               |________|    |
  54 // code_end   -->|        |    |
  55 //               |  data  |    |
  56 //               |________|    |
  57 //                          <--+
  58 
  59 
  60 class Stub {
  61  public:
  62   // Initialization/finalization
  63   void    initialize(int size,
  64                      CodeStrings& strings)       { ShouldNotCallThis(); }                // called to initialize/specify the stub's size
  65   void    finalize()                             { ShouldNotCallThis(); }                // called before the stub is deallocated
  66 
  67   // General info/converters
  68   int     size() const                           { ShouldNotCallThis(); return 0; }      // must return the size provided by initialize
  69   static  int code_size_to_size(int code_size)   { ShouldNotCallThis(); return 0; }      // computes the size given the code size
  70 
  71   // Code info
  72   address code_begin() const                     { ShouldNotCallThis(); return NULL; }   // points to the first byte of    the code
  73   address code_end() const                       { ShouldNotCallThis(); return NULL; }   // points to the first byte after the code
  74 
  75   // Debugging
  76   void    verify()                               { ShouldNotCallThis(); }                // verifies the Stub
  77   void    print()                                { ShouldNotCallThis(); }                // prints some information about the stub
  78 };
  79 
  80 


< prev index next >