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;