Print this page
rev 1081 : imported patch indy-cleanup-6893081.patch

Split Close
Expand all
Collapse all
          --- old/src/share/vm/code/codeBlob.hpp
          +++ new/src/share/vm/code/codeBlob.hpp
   1    1  /*
   2      - * Copyright 1998-2007 Sun Microsystems, Inc.  All Rights Reserved.
        2 + * Copyright 1998-2009 Sun Microsystems, Inc.  All Rights Reserved.
   3    3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4   *
   5    5   * This code is free software; you can redistribute it and/or modify it
   6    6   * under the terms of the GNU General Public License version 2 only, as
   7    7   * published by the Free Software Foundation.
   8    8   *
   9    9   * This code is distributed in the hope that it will be useful, but WITHOUT
  10   10   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11   11   * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12   12   * version 2 for more details (a copy is included in the LICENSE file that
↓ open down ↓ 82 lines elided ↑ open up ↑
  95   95    virtual bool is_runtime_stub() const           { return false; }
  96   96    virtual bool is_deoptimization_stub() const    { return false; }
  97   97    virtual bool is_uncommon_trap_stub() const     { return false; }
  98   98    virtual bool is_exception_stub() const         { return false; }
  99   99    virtual bool is_safepoint_stub() const         { return false; }
 100  100    virtual bool is_adapter_blob() const           { return false; }
 101  101  
 102  102    virtual bool is_compiled_by_c2() const         { return false; }
 103  103    virtual bool is_compiled_by_c1() const         { return false; }
 104  104  
      105 +  // Casting
      106 +  nmethod* as_nmethod_or_null()                  { return is_nmethod() ? (nmethod*) this : NULL; }
      107 +
 105  108    // Boundaries
 106  109    address    header_begin() const                { return (address)    this; }
 107  110    address    header_end() const                  { return ((address)   this) + _header_size; };
 108  111    relocInfo* relocation_begin() const            { return (relocInfo*) header_end(); };
 109  112    relocInfo* relocation_end() const              { return (relocInfo*)(header_end()   + _relocation_size); }
 110  113    address    instructions_begin() const          { return (address)    header_begin() + _instructions_offset;  }
 111  114    address    instructions_end() const            { return (address)    header_begin() + _data_offset; }
 112  115    address    data_begin() const                  { return (address)    header_begin() + _data_offset; }
 113  116    address    data_end() const                    { return (address)    header_begin() + _size; }
 114  117    oop*       oops_begin() const                  { return (oop*)      (header_begin() + _oops_offset); }
↓ open down ↓ 399 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX