Mercurial > hg > truffle
comparison src/share/vm/opto/doCall.cpp @ 7604:f1de9dbc914e
8006109: test/java/util/AbstractSequentialList/AddAll.java fails: assert(rtype == ctype) failed: mismatched return types
Reviewed-by: kvn
author | twisti |
---|---|
date | Tue, 15 Jan 2013 12:06:18 -0800 |
parents | 5698813d45eb |
children | 6f3fd5150b67 |
comparison
equal
deleted
inserted
replaced
7603:d92fa52a5d03 | 7604:f1de9dbc914e |
---|---|
551 } | 551 } |
552 // Now that the value is well-behaved, continue with the call-site type. | 552 // Now that the value is well-behaved, continue with the call-site type. |
553 rtype = ctype; | 553 rtype = ctype; |
554 } | 554 } |
555 } else { | 555 } else { |
556 assert(rtype == ctype, "mismatched return types"); // symbolic resolution enforces this | 556 // Symbolic resolution enforces the types to be the same. |
557 // NOTE: We must relax the assert for unloaded types because two | |
558 // different ciType instances of the same unloaded class type | |
559 // can appear to be "loaded" by different loaders (depending on | |
560 // the accessing class). | |
561 assert(!rtype->is_loaded() || !ctype->is_loaded() || rtype == ctype, | |
562 err_msg_res("mismatched return types: rtype=%s, ctype=%s", rtype->name(), ctype->name())); | |
557 } | 563 } |
558 | 564 |
559 // If the return type of the method is not loaded, assert that the | 565 // If the return type of the method is not loaded, assert that the |
560 // value we got is a null. Otherwise, we need to recompile. | 566 // value we got is a null. Otherwise, we need to recompile. |
561 if (!rtype->is_loaded()) { | 567 if (!rtype->is_loaded()) { |