hotspot/src/share/vm/c1/c1_IR.hpp
changeset 34160 3240e478a30e
parent 33160 c59f1676d27e
child 38031 e0b822facc03
equal deleted inserted replaced
34153:cbcfa2a6fe0b 34160:3240e478a30e
     1 /*
     1 /*
     2  * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1999, 2015, 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.
   149   XHandlers*    _xhandlers;                      // the exception handlers
   149   XHandlers*    _xhandlers;                      // the exception handlers
   150   int           _number_of_locks;                // the number of monitor lock slots needed
   150   int           _number_of_locks;                // the number of monitor lock slots needed
   151   bool          _monitor_pairing_ok;             // the monitor pairing info
   151   bool          _monitor_pairing_ok;             // the monitor pairing info
   152   bool          _wrote_final;                    // has written final field
   152   bool          _wrote_final;                    // has written final field
   153   bool          _wrote_fields;                   // has written fields
   153   bool          _wrote_fields;                   // has written fields
       
   154   bool          _wrote_volatile;                 // has written volatile field
   154   BlockBegin*   _start;                          // the start block, successsors are method entries
   155   BlockBegin*   _start;                          // the start block, successsors are method entries
   155 
   156 
   156   BitMap        _requires_phi_function;          // bit is set if phi functions at loop headers are necessary for a local variable
   157   BitMap        _requires_phi_function;          // bit is set if phi functions at loop headers are necessary for a local variable
   157 
   158 
   158   // helper functions
   159   // helper functions
   185   BlockBegin*   start() const                    { return _start; }
   186   BlockBegin*   start() const                    { return _start; }
   186   void          set_wrote_final()                { _wrote_final = true; }
   187   void          set_wrote_final()                { _wrote_final = true; }
   187   bool          wrote_final    () const          { return _wrote_final; }
   188   bool          wrote_final    () const          { return _wrote_final; }
   188   void          set_wrote_fields()               { _wrote_fields = true; }
   189   void          set_wrote_fields()               { _wrote_fields = true; }
   189   bool          wrote_fields    () const         { return _wrote_fields; }
   190   bool          wrote_fields    () const         { return _wrote_fields; }
   190 
   191   void          set_wrote_volatile()             { _wrote_volatile = true; }
       
   192   bool          wrote_volatile    () const       { return _wrote_volatile; }
   191 };
   193 };
   192 
   194 
   193 
   195 
   194 //
   196 //
   195 // IRScopeDebugInfo records the debug information for a particular IRScope
   197 // IRScopeDebugInfo records the debug information for a particular IRScope