# HG changeset patch # User Thomas Wuerthinger # Date 1290709282 -3600 # Node ID 7641338cfc925d185337e9331ab661fe7975a5ed # Parent cd18e3072ea590f0fd1f1fa0c74ea4910502098d Small NPE fix. More detailed error in case of wrong bytecode in patching stub. diff -r cd18e3072ea5 -r 7641338cfc92 c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/Compiler.java --- 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.*; diff -r cd18e3072ea5 -r 7641338cfc92 c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotMethodResolved.java --- 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 diff -r cd18e3072ea5 -r 7641338cfc92 src/share/vm/c1/c1_Runtime1.cpp --- 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); diff -r cd18e3072ea5 -r 7641338cfc92 src/share/vm/c1x/c1x_CodeInstaller.cpp --- 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;