diff src/share/vm/opto/doCall.cpp @ 6268:6c5b7a6becc8

7187454: stack overflow in C2 compiler thread on Solaris x86 Summary: Added new FormatBufferResource class to use thread's resource area for error message buffer. Reviewed-by: twisti
author kvn
date Mon, 30 Jul 2012 09:49:25 -0700
parents 977007096840
children b72784e722ff
line wrap: on
line diff
--- a/src/share/vm/opto/doCall.cpp	Fri Jul 27 16:14:15 2012 -0700
+++ b/src/share/vm/opto/doCall.cpp	Mon Jul 30 09:49:25 2012 -0700
@@ -523,10 +523,10 @@
             retnode = _gvn.transform( new (C, 3) LShiftINode(retnode, intcon(16)) );
             retnode = _gvn.transform( new (C, 3) RShiftINode(retnode, intcon(16)) );
           } else {
-            assert(ct == T_INT, err_msg("rt=%d, ct=%d", rt, ct));
+            assert(ct == T_INT, err_msg_res("rt=%d, ct=%d", rt, ct));
           }
         } else if (rt == T_OBJECT) {
-          assert(ct == T_OBJECT, err_msg("rt=T_OBJECT, ct=%d", ct));
+          assert(ct == T_OBJECT, err_msg_res("rt=T_OBJECT, ct=%d", ct));
           if (ctype->is_loaded()) {
             Node* if_fail = top();
             retnode = gen_checkcast(retnode, makecon(TypeKlassPtr::make(ctype->as_klass())), &if_fail);
@@ -539,7 +539,7 @@
             push(retnode);
           }
         } else {
-          assert(ct == rt, err_msg("unexpected mismatch rt=%d, ct=%d", rt, ct));
+          assert(ct == rt, err_msg_res("unexpected mismatch rt=%d, ct=%d", rt, ct));
           // push a zero; it's better than getting an oop/int mismatch
           retnode = pop_node(rt);
           retnode = zerocon(ct);