Mercurial > hg > truffle
diff src/share/vm/runtime/sharedRuntime.cpp @ 1429:abc670a709dc
* -XX:TraceC1X=0...5 controls the native c1x tracing
* -Dc1x.debug=true turns on the logging proxies and lots of log output on the java side
* provide more information about types to the compiler (type hierarchy, etc)
* provide exception handler tables to the compiler
* add exception handlers to the nmethod
* correct implementation of ExceptionObject
* exception handling/unwinding entry points
* modified versions of handle/unwind exception stubs using standard calling conventions
* exception throwing
* implicit null pointer exception, implicit div by 0 exception
* arraystore/classcast/arrayindex exceptions
* checkcast implementation
* newarray, anewarray, multinewarray implementation
* correct new instance initialization
* access to java class mirrors (for ldc)
* unresolved methods
* class resolving - class patching (asssembly prototype copying)
author | Lukas Stadler <lukas.stadler@oracle.com> |
---|---|
date | Tue, 31 Aug 2010 22:13:30 -0700 |
parents | 9f5b60a14736 |
children | 72cfb36c6bb2 |
line wrap: on
line diff
--- a/src/share/vm/runtime/sharedRuntime.cpp Thu Aug 19 14:34:52 2010 -0700 +++ b/src/share/vm/runtime/sharedRuntime.cpp Tue Aug 31 22:13:30 2010 -0700 @@ -611,7 +611,11 @@ #ifndef PRODUCT _implicit_null_throws++; #endif - target_pc = nm->continuation_for_implicit_exception(pc); + if (UseC1X) { + target_pc = Runtime1::entry_for(Runtime1::c1x_global_implicit_null_id); + } else { + target_pc = nm->continuation_for_implicit_exception(pc); + } // If there's an unexpected fault, target_pc might be NULL, // in which case we want to fall through into the normal // error handling code. @@ -627,7 +631,11 @@ #ifndef PRODUCT _implicit_div0_throws++; #endif - target_pc = nm->continuation_for_implicit_exception(pc); + if (UseC1X) { + target_pc = Runtime1::entry_for(Runtime1::c1x_throw_div0_exception_id); + } else { + target_pc = nm->continuation_for_implicit_exception(pc); + } // If there's an unexpected fault, target_pc might be NULL, // in which case we want to fall through into the normal // error handling code.