src/share/vm/opto/phaseX.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/opto/phaseX.cpp Thu Oct 17 18:54:53 2013
--- new/src/share/vm/opto/phaseX.cpp Thu Oct 17 18:54:53 2013
*** 1383,1392 ****
--- 1383,1404 ----
if (imem != NULL) add_users_to_worklist0(imem);
}
}
}
+ // Remove the speculative part of all types that we know of
+ void PhaseIterGVN::remove_speculative_types() {
+ assert(UseTypeSpeculation, "speculation is off");
+ for (int i = 0; i < _types.Size(); i++) {
+ const Type* t = _types.fast_lookup(i);
+ if (t != NULL && t->isa_oopptr()) {
+ const TypeOopPtr* to = t->is_oopptr();
+ _types.map(i, to->remove_speculative());
+ }
+ }
+ }
+
//=============================================================================
#ifndef PRODUCT
uint PhaseCCP::_total_invokes = 0;
uint PhaseCCP::_total_constants = 0;
#endif
src/share/vm/opto/phaseX.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File