src/share/vm/opto/phaseX.cpp

changeset 5991
b2ee5dc63353
parent 5635
650868c062a9
child 6198
55fb97c4c58d
     1.1 --- a/src/share/vm/opto/phaseX.cpp	Wed Oct 23 10:00:39 2013 +0200
     1.2 +++ b/src/share/vm/opto/phaseX.cpp	Wed Oct 23 12:40:23 2013 +0200
     1.3 @@ -1385,6 +1385,20 @@
     1.4    }
     1.5  }
     1.6  
     1.7 +/**
     1.8 + * Remove the speculative part of all types that we know of
     1.9 + */
    1.10 +void PhaseIterGVN::remove_speculative_types()  {
    1.11 +  assert(UseTypeSpeculation, "speculation is off");
    1.12 +  for (uint i = 0; i < _types.Size(); i++)  {
    1.13 +    const Type* t = _types.fast_lookup(i);
    1.14 +    if (t != NULL && t->isa_oopptr()) {
    1.15 +      const TypeOopPtr* to = t->is_oopptr();
    1.16 +      _types.map(i, to->remove_speculative());
    1.17 +    }
    1.18 +  }
    1.19 +}
    1.20 +
    1.21  //=============================================================================
    1.22  #ifndef PRODUCT
    1.23  uint PhaseCCP::_total_invokes   = 0;

mercurial