hotspot/src/share/vm/opto/compile.hpp
changeset 8725 8c1e3dd5fe1b
parent 7433 b418028612ad
child 9101 ff58f9a8e31c
equal deleted inserted replaced
8724:693c6b883b54 8725:8c1e3dd5fe1b
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2011, 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.
   594     _last_tf_m = m;
   594     _last_tf_m = m;
   595     _last_tf = tf;
   595     _last_tf = tf;
   596   }
   596   }
   597 
   597 
   598   AliasType*        alias_type(int                idx)  { assert(idx < num_alias_types(), "oob"); return _alias_types[idx]; }
   598   AliasType*        alias_type(int                idx)  { assert(idx < num_alias_types(), "oob"); return _alias_types[idx]; }
   599   AliasType*        alias_type(const TypePtr* adr_type) { return find_alias_type(adr_type, false); }
   599   AliasType*        alias_type(const TypePtr* adr_type, ciField* field = NULL) { return find_alias_type(adr_type, false, field); }
   600   bool         have_alias_type(const TypePtr* adr_type);
   600   bool         have_alias_type(const TypePtr* adr_type);
   601   AliasType*        alias_type(ciField*         field);
   601   AliasType*        alias_type(ciField*         field);
   602 
   602 
   603   int               get_alias_index(const TypePtr* at)  { return alias_type(at)->index(); }
   603   int               get_alias_index(const TypePtr* at)  { return alias_type(at)->index(); }
   604   const TypePtr*    get_adr_type(uint aidx)             { return alias_type(aidx)->adr_type(); }
   604   const TypePtr*    get_adr_type(uint aidx)             { return alias_type(aidx)->adr_type(); }
   833 
   833 
   834   // Management of the AliasType table.
   834   // Management of the AliasType table.
   835   void grow_alias_types();
   835   void grow_alias_types();
   836   AliasCacheEntry* probe_alias_cache(const TypePtr* adr_type);
   836   AliasCacheEntry* probe_alias_cache(const TypePtr* adr_type);
   837   const TypePtr *flatten_alias_type(const TypePtr* adr_type) const;
   837   const TypePtr *flatten_alias_type(const TypePtr* adr_type) const;
   838   AliasType* find_alias_type(const TypePtr* adr_type, bool no_create);
   838   AliasType* find_alias_type(const TypePtr* adr_type, bool no_create, ciField* field);
   839 
   839 
   840   void verify_top(Node*) const PRODUCT_RETURN;
   840   void verify_top(Node*) const PRODUCT_RETURN;
   841 
   841 
   842   // Intrinsic setup.
   842   // Intrinsic setup.
   843   void           register_library_intrinsics();                            // initializer
   843   void           register_library_intrinsics();                            // initializer