changeset 2638:3e47aeb60ab3

Deopt instead of throwing exception for checkcast.
author Thomas Wuerthinger <thomas@wuerthinger.net>
date Wed, 11 May 2011 12:10:41 +0200
parents 152d4a8dc7ad
children 8e96b2b3a866
files graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotXirGenerator.java
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotXirGenerator.java	Wed May 11 11:57:11 2011 +0200
+++ b/graal/GraalRuntime/src/com/oracle/graal/runtime/HotSpotXirGenerator.java	Wed May 11 12:10:41 2011 +0200
@@ -710,7 +710,8 @@
             asm.jneq(end, objHub, asm.o(null));
             XirOperand scratch = asm.createRegisterTemp("scratch", CiKind.Object, AMD64.r10);
             asm.mov(scratch, object);
-            asm.callRuntime(config.throwClassCastException, null);
+
+            asm.callRuntime(CiRuntimeCall.Deoptimize, null);
             asm.shouldNotReachHere();
 
             if (is(UNRESOLVED, flags)) {