Mercurial > hg > graal-compiler
diff c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java @ 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 | 760213a60e8b |
children | efba53f86c4f |
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Thu Aug 19 14:34:52 2010 -0700 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Tue Aug 31 22:13:30 2010 -0700 @@ -62,8 +62,10 @@ public static VMEntries getVMEntries() { if (vmEntries == null) { try { - vmEntries = LoggingProxy.getProxy(VMEntries.class, new VMEntriesNative()); - // vmEntries = new VMEntriesNative(); + if (Logger.ENABLED) + vmEntries = LoggingProxy.getProxy(VMEntries.class, new VMEntriesNative()); + else + vmEntries = new VMEntriesNative(); } catch (Throwable t) { t.printStackTrace(); } @@ -86,12 +88,14 @@ ReplacingInputStream input = new ReplacingInputStream(socket.getInputStream()); InvocationSocket invocation = new InvocationSocket(output, input); - VMExits exits = (VMExits)Proxy.newProxyInstance(VMExits.class.getClassLoader(), new Class<?>[] {VMExits.class}, invocation); + VMExits exits = (VMExits) Proxy.newProxyInstance(VMExits.class.getClassLoader(), new Class<?>[] { VMExits.class}, invocation); VMEntries entries = Compiler.initializeClient(exits); invocation.setDelegate(entries); } else { - vmExits = LoggingProxy.getProxy(VMExits.class, new VMExitsNative()); - // vmExits = new VMExitsNative(); + if (Logger.ENABLED) + vmExits = LoggingProxy.getProxy(VMExits.class, new VMExitsNative()); + else + vmExits = new VMExitsNative(); } } catch (Throwable t) { t.printStackTrace(); @@ -120,13 +124,14 @@ compiler = new C1XCompiler(runtime, target, generator); C1XOptions.setOptimizationLevel(3); - C1XOptions.TraceBytecodeParserLevel = 4; + C1XOptions.TraceBytecodeParserLevel = Logger.ENABLED ? 4 : 0; C1XOptions.PrintCFGToFile = false; C1XOptions.PrintAssembly = false;// true; - C1XOptions.PrintCompilation = true; + C1XOptions.PrintCompilation = Logger.ENABLED; C1XOptions.GenAssertionCode = true; C1XOptions.DetailedAsserts = true; C1XOptions.GenSpecialDivChecks = true; + C1XOptions.AlignCallsForPatching = true; } public CiCompiler getCompiler() {