Mercurial > hg > graal-compiler
comparison src/share/vm/opto/graphKit.cpp @ 12159:b17d8f6d9ed7
8023472: C2 optimization breaks with G1
Summary: set control edge for previous value load in G1 pre-barrier
Reviewed-by: twisti
author | kvn |
---|---|
date | Fri, 23 Aug 2013 18:04:35 -0700 |
parents | 2b3fe74309b6 |
children | 29aa8936f03c |
comparison
equal
deleted
inserted
replaced
12158:766fac3395d6 | 12159:b17d8f6d9ed7 |
---|---|
3593 Node* index = __ load(__ ctrl(), index_adr, TypeX_X, index_bt, Compile::AliasIdxRaw); | 3593 Node* index = __ load(__ ctrl(), index_adr, TypeX_X, index_bt, Compile::AliasIdxRaw); |
3594 | 3594 |
3595 if (do_load) { | 3595 if (do_load) { |
3596 // load original value | 3596 // load original value |
3597 // alias_idx correct?? | 3597 // alias_idx correct?? |
3598 pre_val = __ load(no_ctrl, adr, val_type, bt, alias_idx); | 3598 pre_val = __ load(__ ctrl(), adr, val_type, bt, alias_idx); |
3599 } | 3599 } |
3600 | 3600 |
3601 // if (pre_val != NULL) | 3601 // if (pre_val != NULL) |
3602 __ if_then(pre_val, BoolTest::ne, null()); { | 3602 __ if_then(pre_val, BoolTest::ne, null()); { |
3603 Node* buffer = __ load(__ ctrl(), buffer_adr, TypeRawPtr::NOTNULL, T_ADDRESS, Compile::AliasIdxRaw); | 3603 Node* buffer = __ load(__ ctrl(), buffer_adr, TypeRawPtr::NOTNULL, T_ADDRESS, Compile::AliasIdxRaw); |