comparison src/share/vm/opto/parse.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 abec000618bf
children 92aa6797d639
comparison
equal deleted inserted replaced
14662:3c3953fb3f2a 14663:3edd4a71588b
336 int _block_count; // Number of elements in _blocks. 336 int _block_count; // Number of elements in _blocks.
337 337
338 GraphKit _exits; // Record all normal returns and throws here. 338 GraphKit _exits; // Record all normal returns and throws here.
339 bool _wrote_final; // Did we write a final field? 339 bool _wrote_final; // Did we write a final field?
340 bool _wrote_volatile; // Did we write a volatile field? 340 bool _wrote_volatile; // Did we write a volatile field?
341 bool _wrote_stable; // Did we write a @Stable field?
342 bool _wrote_fields; // Did we write any field?
341 bool _count_invocations; // update and test invocation counter 343 bool _count_invocations; // update and test invocation counter
342 bool _method_data_update; // update method data oop 344 bool _method_data_update; // update method data oop
343 Node* _alloc_with_final; // An allocation node with final field 345 Node* _alloc_with_final; // An allocation node with final field
344 346
345 // Variables which track Java semantics during bytecode parsing: 347 // Variables which track Java semantics during bytecode parsing:
381 GraphKit& exits() { return _exits; } 383 GraphKit& exits() { return _exits; }
382 bool wrote_final() const { return _wrote_final; } 384 bool wrote_final() const { return _wrote_final; }
383 void set_wrote_final(bool z) { _wrote_final = z; } 385 void set_wrote_final(bool z) { _wrote_final = z; }
384 bool wrote_volatile() const { return _wrote_volatile; } 386 bool wrote_volatile() const { return _wrote_volatile; }
385 void set_wrote_volatile(bool z) { _wrote_volatile = z; } 387 void set_wrote_volatile(bool z) { _wrote_volatile = z; }
388 bool wrote_stable() const { return _wrote_stable; }
389 void set_wrote_stable(bool z) { _wrote_stable = z; }
390 bool wrote_fields() const { return _wrote_fields; }
391 void set_wrote_fields(bool z) { _wrote_fields = z; }
386 bool count_invocations() const { return _count_invocations; } 392 bool count_invocations() const { return _count_invocations; }
387 bool method_data_update() const { return _method_data_update; } 393 bool method_data_update() const { return _method_data_update; }
388 Node* alloc_with_final() const { return _alloc_with_final; } 394 Node* alloc_with_final() const { return _alloc_with_final; }
389 void set_alloc_with_final(Node* n) { 395 void set_alloc_with_final(Node* n) {
390 assert((_alloc_with_final == NULL) || (_alloc_with_final == n), "different init objects?"); 396 assert((_alloc_with_final == NULL) || (_alloc_with_final == n), "different init objects?");