< prev index next >

src/hotspot/share/memory/filemap.hpp

Print this page




  58   // The _timestamp only gets set for jar files and "modules" jimage.
  59   bool is_jar_or_bootimage() {
  60     return _timestamp != 0;
  61   }
  62   bool is_dir() { return _is_dir; }
  63   bool is_modules_image() { return ClassLoader::is_modules_image(name()); }
  64   time_t timestamp() const { return _timestamp; }
  65   long   filesize()  const { return _filesize; }
  66   const char* name() const { return _name->data(); }
  67   const char* manifest() const {
  68     return (_manifest == NULL) ? NULL : (const char*)_manifest->data();
  69   }
  70   int manifest_size() const {
  71     return (_manifest == NULL) ? 0 : _manifest->length();
  72   }
  73 };
  74 
  75 class FileMapInfo : public CHeapObj<mtInternal> {
  76 private:
  77   friend class ManifestStream;

  78   enum {
  79     _invalid_version = -1,
  80     _current_version = 3
  81   };
  82 
  83   bool  _file_open;
  84   int   _fd;
  85   size_t  _file_offset;
  86 
  87 private:
  88   static Array<u8>*            _shared_path_table;
  89   static int                   _shared_path_table_size;
  90   static size_t                _shared_path_entry_size;
  91   static bool                  _validating_shared_path_table;
  92 
  93   // FileMapHeader describes the shared space data in the file to be
  94   // mapped.  This structure gets written to a file.  It is not a class, so
  95   // that the compilers don't add any compiler-private data to it.
  96 
  97 public:




  58   // The _timestamp only gets set for jar files and "modules" jimage.
  59   bool is_jar_or_bootimage() {
  60     return _timestamp != 0;
  61   }
  62   bool is_dir() { return _is_dir; }
  63   bool is_modules_image() { return ClassLoader::is_modules_image(name()); }
  64   time_t timestamp() const { return _timestamp; }
  65   long   filesize()  const { return _filesize; }
  66   const char* name() const { return _name->data(); }
  67   const char* manifest() const {
  68     return (_manifest == NULL) ? NULL : (const char*)_manifest->data();
  69   }
  70   int manifest_size() const {
  71     return (_manifest == NULL) ? 0 : _manifest->length();
  72   }
  73 };
  74 
  75 class FileMapInfo : public CHeapObj<mtInternal> {
  76 private:
  77   friend class ManifestStream;
  78   friend class VMStructs;
  79   enum {
  80     _invalid_version = -1,
  81     _current_version = 3
  82   };
  83 
  84   bool  _file_open;
  85   int   _fd;
  86   size_t  _file_offset;
  87 
  88 private:
  89   static Array<u8>*            _shared_path_table;
  90   static int                   _shared_path_table_size;
  91   static size_t                _shared_path_entry_size;
  92   static bool                  _validating_shared_path_table;
  93 
  94   // FileMapHeader describes the shared space data in the file to be
  95   // mapped.  This structure gets written to a file.  It is not a class, so
  96   // that the compilers don't add any compiler-private data to it.
  97 
  98 public:


< prev index next >