Mercurial > hg > truffle
changeset 1472:7641338cfc92
Small NPE fix. More detailed error in case of wrong bytecode in patching stub.
author | Thomas Wuerthinger <wuerthinger@ssw.jku.at> |
---|---|
date | Thu, 25 Nov 2010 19:21:22 +0100 |
parents | cd18e3072ea5 |
children | cb04e4217df0 1f81c0d18c75 |
files | c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethodResolved.java src/share/vm/c1/c1_Runtime1.cpp src/share/vm/c1x/c1x_CodeInstaller.cpp |
diffstat | 4 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Tue Nov 23 18:42:21 2010 +0100 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java Thu Nov 25 19:21:22 2010 +0100 @@ -20,6 +20,7 @@ */ package com.sun.hotspot.c1x; +import java.lang.management.*; import java.lang.reflect.Proxy; import java.net.*;
--- a/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethodResolved.java Tue Nov 23 18:42:21 2010 +0100 +++ b/c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethodResolved.java Thu Nov 25 19:21:22 2010 +0100 @@ -170,7 +170,7 @@ @Override public String toString() { - return "HotSpotMethod<" + holder.name() + ". " + name + ">"; + return "HotSpotMethod<" + holder().name() + ". " + name + ">"; } @Override
--- a/src/share/vm/c1/c1_Runtime1.cpp Tue Nov 23 18:42:21 2010 +0100 +++ b/src/share/vm/c1/c1_Runtime1.cpp Thu Nov 25 19:21:22 2010 +0100 @@ -835,7 +835,9 @@ k = resolved->klass_part()->java_mirror(); } break; - default: Unimplemented(); + default: + tty->print_cr("Unhandled bytecode: %d stub_id=%d caller=%s bci=%d pc=%d", code, stub_id, caller_method->name()->as_C_string(), bci, caller_frame.pc()); + Unimplemented(); } // convert to handle load_klass = Handle(THREAD, k);
--- a/src/share/vm/c1x/c1x_CodeInstaller.cpp Tue Nov 23 18:42:21 2010 +0100 +++ b/src/share/vm/c1x/c1x_CodeInstaller.cpp Thu Nov 25 19:21:22 2010 +0100 @@ -484,7 +484,6 @@ } case MARK_INVOKESTATIC: { assert(method == NULL || method->is_static(), "cannot call non-static method with invokestatic"); - call->set_destination(SharedRuntime::get_resolve_static_call_stub()); _instructions->relocate(call->instruction_address(), relocInfo::static_call_type, Assembler::call32_operand); break;