src/share/vm/code/codeBlob.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893081 Sdiff src/share/vm/code

src/share/vm/code/codeBlob.hpp

Print this page
rev 1024 : imported patch indy-cleanup-6893081.patch
   1 /*
   2  * Copyright 1998-2007 Sun Microsystems, Inc.  All Rights Reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20  * CA 95054 USA or visit www.sun.com if you need additional information or
  21  * have any questions.
  22  *


  85     int         frame_size,
  86     OopMapSet*  oop_maps
  87   );
  88 
  89   // Deletion
  90   void flush();
  91 
  92   // Typing
  93   virtual bool is_buffer_blob() const            { return false; }
  94   virtual bool is_nmethod() const                { return false; }
  95   virtual bool is_runtime_stub() const           { return false; }
  96   virtual bool is_deoptimization_stub() const    { return false; }
  97   virtual bool is_uncommon_trap_stub() const     { return false; }
  98   virtual bool is_exception_stub() const         { return false; }
  99   virtual bool is_safepoint_stub() const         { return false; }
 100   virtual bool is_adapter_blob() const           { return false; }
 101 
 102   virtual bool is_compiled_by_c2() const         { return false; }
 103   virtual bool is_compiled_by_c1() const         { return false; }
 104 



 105   // Boundaries
 106   address    header_begin() const                { return (address)    this; }
 107   address    header_end() const                  { return ((address)   this) + _header_size; };
 108   relocInfo* relocation_begin() const            { return (relocInfo*) header_end(); };
 109   relocInfo* relocation_end() const              { return (relocInfo*)(header_end()   + _relocation_size); }
 110   address    instructions_begin() const          { return (address)    header_begin() + _instructions_offset;  }
 111   address    instructions_end() const            { return (address)    header_begin() + _data_offset; }
 112   address    data_begin() const                  { return (address)    header_begin() + _data_offset; }
 113   address    data_end() const                    { return (address)    header_begin() + _size; }
 114   oop*       oops_begin() const                  { return (oop*)      (header_begin() + _oops_offset); }
 115   oop*       oops_end() const                    { return                oops_begin() + _oops_length; }
 116 
 117   // Offsets
 118   int relocation_offset() const                  { return _header_size; }
 119   int instructions_offset() const                { return _instructions_offset; }
 120   int data_offset() const                        { return _data_offset; }
 121   int oops_offset() const                        { return _oops_offset; }
 122 
 123   // Sizes
 124   int size() const                               { return _size; }


   1 /*
   2  * Copyright 1998-2009 Sun Microsystems, Inc.  All Rights Reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
  20  * CA 95054 USA or visit www.sun.com if you need additional information or
  21  * have any questions.
  22  *


  85     int         frame_size,
  86     OopMapSet*  oop_maps
  87   );
  88 
  89   // Deletion
  90   void flush();
  91 
  92   // Typing
  93   virtual bool is_buffer_blob() const            { return false; }
  94   virtual bool is_nmethod() const                { return false; }
  95   virtual bool is_runtime_stub() const           { return false; }
  96   virtual bool is_deoptimization_stub() const    { return false; }
  97   virtual bool is_uncommon_trap_stub() const     { return false; }
  98   virtual bool is_exception_stub() const         { return false; }
  99   virtual bool is_safepoint_stub() const         { return false; }
 100   virtual bool is_adapter_blob() const           { return false; }
 101 
 102   virtual bool is_compiled_by_c2() const         { return false; }
 103   virtual bool is_compiled_by_c1() const         { return false; }
 104 
 105   // Casting
 106   nmethod* as_nmethod_or_null()                  { return is_nmethod() ? (nmethod*) this : NULL; }
 107 
 108   // Boundaries
 109   address    header_begin() const                { return (address)    this; }
 110   address    header_end() const                  { return ((address)   this) + _header_size; };
 111   relocInfo* relocation_begin() const            { return (relocInfo*) header_end(); };
 112   relocInfo* relocation_end() const              { return (relocInfo*)(header_end()   + _relocation_size); }
 113   address    instructions_begin() const          { return (address)    header_begin() + _instructions_offset;  }
 114   address    instructions_end() const            { return (address)    header_begin() + _data_offset; }
 115   address    data_begin() const                  { return (address)    header_begin() + _data_offset; }
 116   address    data_end() const                    { return (address)    header_begin() + _size; }
 117   oop*       oops_begin() const                  { return (oop*)      (header_begin() + _oops_offset); }
 118   oop*       oops_end() const                    { return                oops_begin() + _oops_length; }
 119 
 120   // Offsets
 121   int relocation_offset() const                  { return _header_size; }
 122   int instructions_offset() const                { return _instructions_offset; }
 123   int data_offset() const                        { return _data_offset; }
 124   int oops_offset() const                        { return _oops_offset; }
 125 
 126   // Sizes
 127   int size() const                               { return _size; }


src/share/vm/code/codeBlob.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File