diff src/share/vm/opto/parseHelper.cpp @ 1746:4b29a725c43c

6912064: type profiles need to be exploited more for dynamic language support Reviewed-by: kvn
author jrose
date Fri, 20 Aug 2010 23:40:30 -0700
parents 3941674cc7fa
children f95d63e2154a
line wrap: on
line diff
--- a/src/share/vm/opto/parseHelper.cpp	Thu Aug 19 14:51:47 2010 -0700
+++ b/src/share/vm/opto/parseHelper.cpp	Fri Aug 20 23:40:30 2010 -0700
@@ -119,7 +119,11 @@
   }
 
   // Push the bool result back on stack
-  push( gen_instanceof( pop(), makecon(TypeKlassPtr::make(klass)) ) );
+  Node* res = gen_instanceof(peek(), makecon(TypeKlassPtr::make(klass)));
+
+  // Pop from stack AFTER gen_instanceof because it can uncommon trap.
+  pop();
+  push(res);
 }
 
 //------------------------------array_store_check------------------------------