< prev index next >

src/hotspot/share/code/codeBlob.cpp

Print this page




  82   _frame_size(frame_size),
  83   _code_begin(layout.code_begin()),
  84   _code_end(layout.code_end()),
  85   _content_begin(layout.content_begin()),
  86   _data_end(layout.data_end()),
  87   _relocation_begin(layout.relocation_begin()),
  88   _relocation_end(layout.relocation_end()),
  89   _oop_maps(oop_maps),
  90   _caller_must_gc_arguments(caller_must_gc_arguments),
  91   _strings(CodeStrings()),
  92   _name(name)
  93 {
  94   assert(is_aligned(layout.size(),            oopSize), "unaligned size");
  95   assert(is_aligned(layout.header_size(),     oopSize), "unaligned size");
  96   assert(is_aligned(layout.relocation_size(), oopSize), "unaligned size");
  97   assert(layout.code_end() == layout.content_end(), "must be the same - see code_end()");
  98 #ifdef COMPILER1
  99   // probably wrong for tiered
 100   assert(_frame_size >= -1, "must use frame size or -1 for runtime stubs");
 101 #endif // COMPILER1

 102 }
 103 
 104 CodeBlob::CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments) :
 105   _type(type),
 106   _size(layout.size()),
 107   _header_size(layout.header_size()),
 108   _frame_complete_offset(frame_complete_offset),
 109   _data_offset(layout.data_offset()),
 110   _frame_size(frame_size),
 111   _code_begin(layout.code_begin()),
 112   _code_end(layout.code_end()),
 113   _content_begin(layout.content_begin()),
 114   _data_end(layout.data_end()),
 115   _relocation_begin(layout.relocation_begin()),
 116   _relocation_end(layout.relocation_end()),
 117   _caller_must_gc_arguments(caller_must_gc_arguments),
 118   _strings(CodeStrings()),
 119   _name(name)
 120 {
 121   assert(is_aligned(_size,        oopSize), "unaligned size");
 122   assert(is_aligned(_header_size, oopSize), "unaligned size");
 123   assert(_data_offset <= _size, "codeBlob is too small");
 124   assert(layout.code_end() == layout.content_end(), "must be the same - see code_end()");
 125 
 126   set_oop_maps(oop_maps);
 127 #ifdef COMPILER1
 128   // probably wrong for tiered
 129   assert(_frame_size >= -1, "must use frame size or -1 for runtime stubs");
 130 #endif // COMPILER1

 131 }
 132 
 133 
 134 // Creates a simple CodeBlob. Sets up the size of the different regions.
 135 RuntimeBlob::RuntimeBlob(const char* name, int header_size, int size, int frame_complete, int locs_size)
 136   : CodeBlob(name, compiler_none, CodeBlobLayout((address) this, size, header_size, locs_size, size), frame_complete, 0, NULL, false /* caller_must_gc_arguments */)
 137 {
 138   assert(is_aligned(locs_size, oopSize), "unaligned size");
 139 }
 140 
 141 
 142 // Creates a RuntimeBlob from a CodeBuffer
 143 // and copy code and relocation info.
 144 RuntimeBlob::RuntimeBlob(
 145   const char* name,
 146   CodeBuffer* cb,
 147   int         header_size,
 148   int         size,
 149   int         frame_complete,
 150   int         frame_size,




  82   _frame_size(frame_size),
  83   _code_begin(layout.code_begin()),
  84   _code_end(layout.code_end()),
  85   _content_begin(layout.content_begin()),
  86   _data_end(layout.data_end()),
  87   _relocation_begin(layout.relocation_begin()),
  88   _relocation_end(layout.relocation_end()),
  89   _oop_maps(oop_maps),
  90   _caller_must_gc_arguments(caller_must_gc_arguments),
  91   _strings(CodeStrings()),
  92   _name(name)
  93 {
  94   assert(is_aligned(layout.size(),            oopSize), "unaligned size");
  95   assert(is_aligned(layout.header_size(),     oopSize), "unaligned size");
  96   assert(is_aligned(layout.relocation_size(), oopSize), "unaligned size");
  97   assert(layout.code_end() == layout.content_end(), "must be the same - see code_end()");
  98 #ifdef COMPILER1
  99   // probably wrong for tiered
 100   assert(_frame_size >= -1, "must use frame size or -1 for runtime stubs");
 101 #endif // COMPILER1
 102   S390_ONLY(_ctable_offset = 0;) // avoid uninitialized fields
 103 }
 104 
 105 CodeBlob::CodeBlob(const char* name, CompilerType type, const CodeBlobLayout& layout, CodeBuffer* cb, int frame_complete_offset, int frame_size, OopMapSet* oop_maps, bool caller_must_gc_arguments) :
 106   _type(type),
 107   _size(layout.size()),
 108   _header_size(layout.header_size()),
 109   _frame_complete_offset(frame_complete_offset),
 110   _data_offset(layout.data_offset()),
 111   _frame_size(frame_size),
 112   _code_begin(layout.code_begin()),
 113   _code_end(layout.code_end()),
 114   _content_begin(layout.content_begin()),
 115   _data_end(layout.data_end()),
 116   _relocation_begin(layout.relocation_begin()),
 117   _relocation_end(layout.relocation_end()),
 118   _caller_must_gc_arguments(caller_must_gc_arguments),
 119   _strings(CodeStrings()),
 120   _name(name)
 121 {
 122   assert(is_aligned(_size,        oopSize), "unaligned size");
 123   assert(is_aligned(_header_size, oopSize), "unaligned size");
 124   assert(_data_offset <= _size, "codeBlob is too small");
 125   assert(layout.code_end() == layout.content_end(), "must be the same - see code_end()");
 126 
 127   set_oop_maps(oop_maps);
 128 #ifdef COMPILER1
 129   // probably wrong for tiered
 130   assert(_frame_size >= -1, "must use frame size or -1 for runtime stubs");
 131 #endif // COMPILER1
 132   S390_ONLY(_ctable_offset = 0;) // avoid uninitialized fields
 133 }
 134 
 135 
 136 // Creates a simple CodeBlob. Sets up the size of the different regions.
 137 RuntimeBlob::RuntimeBlob(const char* name, int header_size, int size, int frame_complete, int locs_size)
 138   : CodeBlob(name, compiler_none, CodeBlobLayout((address) this, size, header_size, locs_size, size), frame_complete, 0, NULL, false /* caller_must_gc_arguments */)
 139 {
 140   assert(is_aligned(locs_size, oopSize), "unaligned size");
 141 }
 142 
 143 
 144 // Creates a RuntimeBlob from a CodeBuffer
 145 // and copy code and relocation info.
 146 RuntimeBlob::RuntimeBlob(
 147   const char* name,
 148   CodeBuffer* cb,
 149   int         header_size,
 150   int         size,
 151   int         frame_complete,
 152   int         frame_size,


< prev index next >