Mercurial > hg > truffle
diff src/share/vm/opto/parse3.cpp @ 2376:c7f3d0b4570f
7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
author | never |
---|---|
date | Fri, 18 Mar 2011 16:00:34 -0700 |
parents | 8033953d67ff |
children | 263247c478c5 |
line wrap: on
line diff
--- a/src/share/vm/opto/parse3.cpp Fri Mar 18 15:52:42 2011 -0700 +++ b/src/share/vm/opto/parse3.cpp Fri Mar 18 16:00:34 2011 -0700 @@ -112,29 +112,31 @@ // Compile-time detect of null-exception? if (stopped()) return; +#ifdef ASSERT const TypeInstPtr *tjp = TypeInstPtr::make(TypePtr::NotNull, iter().get_declared_field_holder()); assert(_gvn.type(obj)->higher_equal(tjp), "cast_up is no longer needed"); +#endif if (is_get) { --_sp; // pop receiver before getting - do_get_xxx(tjp, obj, field, is_field); + do_get_xxx(obj, field, is_field); } else { - do_put_xxx(tjp, obj, field, is_field); + do_put_xxx(obj, field, is_field); --_sp; // pop receiver after putting } } else { - const TypeKlassPtr* tkp = TypeKlassPtr::make(field_holder); - obj = _gvn.makecon(tkp); + const TypeInstPtr* tip = TypeInstPtr::make(field_holder->java_mirror()); + obj = _gvn.makecon(tip); if (is_get) { - do_get_xxx(tkp, obj, field, is_field); + do_get_xxx(obj, field, is_field); } else { - do_put_xxx(tkp, obj, field, is_field); + do_put_xxx(obj, field, is_field); } } } -void Parse::do_get_xxx(const TypePtr* obj_type, Node* obj, ciField* field, bool is_field) { +void Parse::do_get_xxx(Node* obj, ciField* field, bool is_field) { // Does this field have a constant value? If so, just push the value. if (field->is_constant()) { if (field->is_static()) { @@ -231,7 +233,7 @@ } } -void Parse::do_put_xxx(const TypePtr* obj_type, Node* obj, ciField* field, bool is_field) { +void Parse::do_put_xxx(Node* obj, ciField* field, bool is_field) { bool is_vol = field->is_volatile(); // If reference is volatile, prevent following memory ops from // floating down past the volatile write. Also prevents commoning