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);