hotspot/src/share/vm/ci/bcEscapeAnalyzer.hpp
changeset 13728 882756847a04
parent 11198 34c860ff41e3
child 18955 be9410d4a97c
equal deleted inserted replaced
13727:caf5eb7dd4a7 13728:882756847a04
     1 /*
     1 /*
     2  * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2005, 2012, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     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
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
    24 
    24 
    25 #ifndef SHARE_VM_CI_BCESCAPEANALYZER_HPP
    25 #ifndef SHARE_VM_CI_BCESCAPEANALYZER_HPP
    26 #define SHARE_VM_CI_BCESCAPEANALYZER_HPP
    26 #define SHARE_VM_CI_BCESCAPEANALYZER_HPP
    27 
    27 
    28 #ifdef COMPILER2
    28 #ifdef COMPILER2
       
    29 #include "ci/ciObject.hpp"
    29 #include "ci/ciMethod.hpp"
    30 #include "ci/ciMethod.hpp"
    30 #include "ci/ciMethodData.hpp"
    31 #include "ci/ciMethodData.hpp"
    31 #include "code/dependencies.hpp"
    32 #include "code/dependencies.hpp"
    32 #include "libadt/vectset.hpp"
    33 #include "libadt/vectset.hpp"
    33 #include "memory/allocation.hpp"
    34 #include "memory/allocation.hpp"
    60   bool              _return_local;
    61   bool              _return_local;
    61   bool              _return_allocated;
    62   bool              _return_allocated;
    62   bool              _allocated_escapes;
    63   bool              _allocated_escapes;
    63   bool              _unknown_modified;
    64   bool              _unknown_modified;
    64 
    65 
    65   GrowableArray<ciObject *> _dependencies;
    66   GrowableArray<ciMetadata *> _dependencies;
    66 
    67 
    67   ciMethodBlocks   *_methodBlocks;
    68   ciMethodBlocks   *_methodBlocks;
    68 
    69 
    69   BCEscapeAnalyzer* _parent;
    70   BCEscapeAnalyzer* _parent;
    70   int               _level;
    71   int               _level;
   112   // accessors
   113   // accessors
   113   ciMethod*         method() const               { return _method; }
   114   ciMethod*         method() const               { return _method; }
   114   ciMethodData*     methodData() const           { return _methodData; }
   115   ciMethodData*     methodData() const           { return _methodData; }
   115   BCEscapeAnalyzer* parent() const               { return _parent; }
   116   BCEscapeAnalyzer* parent() const               { return _parent; }
   116   int               level() const                { return _level; }
   117   int               level() const                { return _level; }
   117   GrowableArray<ciObject *>* dependencies()               { return &_dependencies; }
   118   GrowableArray<ciMetadata *>* dependencies()    { return &_dependencies; }
   118   bool              has_dependencies() const     { return !_dependencies.is_empty(); }
   119   bool              has_dependencies() const     { return !_dependencies.is_empty(); }
   119 
   120 
   120   // retrieval of interprocedural escape information
   121   // retrieval of interprocedural escape information
   121 
   122 
   122   // The given argument does not escape the callee.
   123   // The given argument does not escape the callee.