8026293: Schedule part of G1 pre-barrier late

Tue, 15 Oct 2013 12:14:00 -0700

author
kvn
date
Tue, 15 Oct 2013 12:14:00 -0700
changeset 5925
f91a9a696e5e
parent 5923
e504cd481ec0
child 5926
1263c7e17e1c

8026293: Schedule part of G1 pre-barrier late
Summary: move rare executed part of G1 write barrier from hot path.
Reviewed-by: kvn, twisti, roland
Contributed-by: staffan.friberg@oracle.com

src/share/vm/opto/graphKit.cpp file | annotate | diff | comparison | revisions
     1.1 --- a/src/share/vm/opto/graphKit.cpp	Mon Oct 14 19:30:05 2013 -0700
     1.2 +++ b/src/share/vm/opto/graphKit.cpp	Tue Oct 15 12:14:00 2013 -0700
     1.3 @@ -3615,7 +3615,7 @@
     1.4    Node* marking = __ load(__ ctrl(), marking_adr, TypeInt::INT, active_type, Compile::AliasIdxRaw);
     1.5  
     1.6    // if (!marking)
     1.7 -  __ if_then(marking, BoolTest::ne, zero); {
     1.8 +  __ if_then(marking, BoolTest::ne, zero, unlikely); {
     1.9      BasicType index_bt = TypeX_X->basic_type();
    1.10      assert(sizeof(size_t) == type2aelembytes(index_bt), "Loading G1 PtrQueue::_index with wrong size.");
    1.11      Node* index   = __ load(__ ctrl(), index_adr, TypeX_X, index_bt, Compile::AliasIdxRaw);

mercurial