comparison src/share/vm/c1/c1_IR.hpp @ 14663:3edd4a71588b

8031818: Experimental VM flag for enforcing safe object construction Summary: -XX:+AlwaysSafeConstructors to unconditionally emit the trailing constructor barrier. Reviewed-by: kvn, roland
author shade
date Mon, 03 Mar 2014 15:31:27 +0400
parents de6a9e811145
children b51e29501f30
comparison
equal deleted inserted replaced
14662:3c3953fb3f2a 14663:3edd4a71588b
148 // graph 148 // graph
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 BlockBegin* _start; // the start block, successsors are method entries 154 BlockBegin* _start; // the start block, successsors are method entries
154 155
155 BitMap _requires_phi_function; // bit is set if phi functions at loop headers are necessary for a local variable 156 BitMap _requires_phi_function; // bit is set if phi functions at loop headers are necessary for a local variable
156 157
157 // helper functions 158 // helper functions
182 void set_min_number_of_locks(int n) { if (n > _number_of_locks) _number_of_locks = n; } 183 void set_min_number_of_locks(int n) { if (n > _number_of_locks) _number_of_locks = n; }
183 bool monitor_pairing_ok() const { return _monitor_pairing_ok; } 184 bool monitor_pairing_ok() const { return _monitor_pairing_ok; }
184 BlockBegin* start() const { return _start; } 185 BlockBegin* start() const { return _start; }
185 void set_wrote_final() { _wrote_final = true; } 186 void set_wrote_final() { _wrote_final = true; }
186 bool wrote_final () const { return _wrote_final; } 187 bool wrote_final () const { return _wrote_final; }
188 void set_wrote_fields() { _wrote_fields = true; }
189 bool wrote_fields () const { return _wrote_fields; }
190
187 }; 191 };
188 192
189 193
190 // 194 //
191 // IRScopeDebugInfo records the debug information for a particular IRScope 195 // IRScopeDebugInfo records the debug information for a particular IRScope