diff options
author | roland <none@none> | 2014-01-24 09:31:53 +0100 |
---|---|---|
committer | roland <none@none> | 2014-01-24 09:31:53 +0100 |
commit | f7f631e4f205ca74a861814ba678ffd3f17d3bf0 (patch) | |
tree | dad95b50a7b56fc371ec5b23b0d25720e0b86080 /src/share/vm/opto/callGenerator.cpp | |
parent | d04e1c8f271aba5c60eb99d33e6ccccde3987b88 (diff) |
8027422: assert(_gvn.type(obj)->higher_equal(tjp)) failed: cast_up is no longer needed
Summary: type methods shouldn't always operate on speculative part
Reviewed-by: kvn, twisti
Diffstat (limited to 'src/share/vm/opto/callGenerator.cpp')
-rw-r--r-- | src/share/vm/opto/callGenerator.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/share/vm/opto/callGenerator.cpp b/src/share/vm/opto/callGenerator.cpp index 6e9c98d34..a509f0199 100644 --- a/src/share/vm/opto/callGenerator.cpp +++ b/src/share/vm/opto/callGenerator.cpp @@ -722,7 +722,7 @@ JVMState* PredictedCallGenerator::generate(JVMState* jvms, Parse* parent_parser) Node* m = kit.map()->in(i); Node* n = slow_map->in(i); if (m != n) { - const Type* t = gvn.type(m)->meet(gvn.type(n)); + const Type* t = gvn.type(m)->meet_speculative(gvn.type(n)); Node* phi = PhiNode::make(region, m, t); phi->set_req(2, n); kit.map()->set_req(i, gvn.transform(phi)); @@ -975,7 +975,7 @@ JVMState* PredictedIntrinsicGenerator::generate(JVMState* jvms, Parse* parent_pa Node* m = kit.map()->in(i); Node* n = slow_map->in(i); if (m != n) { - const Type* t = gvn.type(m)->meet(gvn.type(n)); + const Type* t = gvn.type(m)->meet_speculative(gvn.type(n)); Node* phi = PhiNode::make(region, m, t); phi->set_req(2, n); kit.map()->set_req(i, gvn.transform(phi)); |