src/share/vm/c1/c1_ValueMap.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
6965570 Cdiff src/share/vm/c1/c1_ValueMap.hpp
src/share/vm/c1/c1_ValueMap.hpp
Print this page
*** 139,149 ****
virtual void kill_field(ciField* field) = 0;
virtual void kill_array(ValueType* type) = 0;
// visitor functions
void do_StoreField (StoreField* x) {
! if (!x->is_initialized()) {
kill_memory();
} else {
kill_field(x->field());
}
}
--- 139,150 ----
virtual void kill_field(ciField* field) = 0;
virtual void kill_array(ValueType* type) = 0;
// visitor functions
void do_StoreField (StoreField* x) {
! if (x->is_init_point()) {
! // putstatic is an initialization point so treat it as a wide kill
kill_memory();
} else {
kill_field(x->field());
}
}
*** 157,167 ****
void do_Phi (Phi* x) { /* nothing to do */ }
void do_Local (Local* x) { /* nothing to do */ }
void do_Constant (Constant* x) { /* nothing to do */ }
void do_LoadField (LoadField* x) {
! if (!x->is_initialized()) {
kill_memory();
}
}
void do_ArrayLength (ArrayLength* x) { /* nothing to do */ }
void do_LoadIndexed (LoadIndexed* x) { /* nothing to do */ }
--- 158,169 ----
void do_Phi (Phi* x) { /* nothing to do */ }
void do_Local (Local* x) { /* nothing to do */ }
void do_Constant (Constant* x) { /* nothing to do */ }
void do_LoadField (LoadField* x) {
! if (x->is_init_point()) {
! // getstatic is an initialization point so treat it as a wide kill
kill_memory();
}
}
void do_ArrayLength (ArrayLength* x) { /* nothing to do */ }
void do_LoadIndexed (LoadIndexed* x) { /* nothing to do */ }
src/share/vm/c1/c1_ValueMap.hpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File