Mercurial > hg > truffle
comparison src/share/vm/opto/graphKit.hpp @ 12169:29aa8936f03c
8023597: Optimize G1 barriers code for unsafe load_store
Summary: Avoid loading old values in G1 pre-barriers for inlined unsafe load_store nodes.
Reviewed-by: kvn, tonyp
Contributed-by: Martin Doerr <martin.doerr@sap.com>
author | kvn |
---|---|
date | Wed, 28 Aug 2013 11:22:43 +0200 |
parents | beebba0acc11 |
children | edb5ab0f3fe5 |
comparison
equal
deleted
inserted
replaced
12168:7181dd13a6c4 | 12169:29aa8936f03c |
---|---|
693 | 693 |
694 // vanilla/CMS post barrier | 694 // vanilla/CMS post barrier |
695 void write_barrier_post(Node *store, Node* obj, | 695 void write_barrier_post(Node *store, Node* obj, |
696 Node* adr, uint adr_idx, Node* val, bool use_precise); | 696 Node* adr, uint adr_idx, Node* val, bool use_precise); |
697 | 697 |
698 // Allow reordering of pre-barrier with oop store and/or post-barrier. | |
699 // Used for load_store operations which loads old value. | |
700 bool can_move_pre_barrier() const; | |
701 | |
698 // G1 pre/post barriers | 702 // G1 pre/post barriers |
699 void g1_write_barrier_pre(bool do_load, | 703 void g1_write_barrier_pre(bool do_load, |
700 Node* obj, | 704 Node* obj, |
701 Node* adr, | 705 Node* adr, |
702 uint alias_idx, | 706 uint alias_idx, |