changeset 4138:82af018d61db

Merge fixes.
author Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
date Sat, 17 Dec 2011 22:03:44 +0100
parents 04b9a2566eec
children feb590a8497f
files src/cpu/x86/vm/stubGenerator_x86_64.cpp src/share/vm/ci/ciEnv.cpp src/share/vm/code/pcDesc.hpp src/share/vm/interpreter/rewriter.cpp src/share/vm/runtime/fieldDescriptor.hpp
diffstat 5 files changed, 35 insertions(+), 44 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Sat Dec 17 21:40:27 2011 +0100
+++ b/src/cpu/x86/vm/stubGenerator_x86_64.cpp	Sat Dec 17 22:03:44 2011 +0100
@@ -2944,7 +2944,6 @@
   // caller saved registers were assumed volatile in the compiler.
   address generate_throw_exception(const char* name,
                                    address runtime_entry,
-                                   bool restore_saved_exception_pc,
                                    Register arg1 = noreg,
                                    Register arg2 = noreg) {
     // Information about frame layout at time of blocking runtime call.
@@ -3072,7 +3071,7 @@
     StubRoutines::_throw_WrongMethodTypeException_entry =
       generate_throw_exception("WrongMethodTypeException throw_exception",
                                CAST_FROM_FN_PTR(address, SharedRuntime::throw_WrongMethodTypeException),
-                               false, rax, rcx);
+                               rax, rcx);
   }
 
   void generate_all() {
--- a/src/share/vm/ci/ciEnv.cpp	Sat Dec 17 21:40:27 2011 +0100
+++ b/src/share/vm/ci/ciEnv.cpp	Sat Dec 17 22:03:44 2011 +0100
@@ -949,7 +949,7 @@
 
 // ------------------------------------------------------------------
 // ciEnv::register_method
-void ciEnv::register_method(ciMethod* target,
+nmethod* ciEnv::register_method(ciMethod* target,
                             int entry_bci,
                             CodeOffsets* offsets,
                             int orig_pc_offset,
@@ -1060,43 +1060,41 @@
       // (Put nm into the task handle *before* publishing to the Java heap.)
       if (task() != NULL)  task()->set_code(nm);
 
-      if (install_code) {
-        if (entry_bci == InvocationEntryBci) {
-          if (TieredCompilation) {
-            // If there is an old version we're done with it
-            nmethod* old = method->code();
-            if (TraceMethodReplacement && old != NULL) {
-              ResourceMark rm;
-              char *method_name = method->name_and_sig_as_C_string();
-              tty->print_cr("Replacing method %s", method_name);
-            }
-            if (old != NULL ) {
-              old->make_not_entrant();
-            }
-          }
-          if (TraceNMethodInstalls ) {
+      if (entry_bci == InvocationEntryBci) {
+        if (TieredCompilation) {
+          // If there is an old version we're done with it
+          nmethod* old = method->code();
+          if (TraceMethodReplacement && old != NULL) {
             ResourceMark rm;
             char *method_name = method->name_and_sig_as_C_string();
-            ttyLocker ttyl;
-            tty->print_cr("Installing method (%d) %s ",
-                          comp_level,
-                          method_name);
+            tty->print_cr("Replacing method %s", method_name);
+          }
+          if (old != NULL ) {
+            old->make_not_entrant();
           }
-          // Allow the code to be executed
-          method->set_code(method, nm);
-        } else {
-          if (TraceNMethodInstalls ) {
-            ResourceMark rm;
-            char *method_name = method->name_and_sig_as_C_string();
-            ttyLocker ttyl;
-            tty->print_cr("Installing osr method (%d) %s @ %d",
-                          comp_level,
-                          method_name,
-                          entry_bci);
-          }
-          instanceKlass::cast(method->method_holder())->add_osr_nmethod(nm);
+        }
+        if (TraceNMethodInstalls ) {
+          ResourceMark rm;
+          char *method_name = method->name_and_sig_as_C_string();
+          ttyLocker ttyl;
+          tty->print_cr("Installing method (%d) %s ",
+                        comp_level,
+                        method_name);
+        }
+        // Allow the code to be executed
+        method->set_code(method, nm);
+      } else {
+        if (TraceNMethodInstalls ) {
+          ResourceMark rm;
+          char *method_name = method->name_and_sig_as_C_string();
+          ttyLocker ttyl;
+          tty->print_cr("Installing osr method (%d) %s @ %d",
+                        comp_level,
+                        method_name,
+                        entry_bci);
+        }
+        instanceKlass::cast(method->method_holder())->add_osr_nmethod(nm);
 
-        }
       }
     }
   }
--- a/src/share/vm/code/pcDesc.hpp	Sat Dec 17 21:40:27 2011 +0100
+++ b/src/share/vm/code/pcDesc.hpp	Sat Dec 17 22:03:44 2011 +0100
@@ -72,7 +72,7 @@
   };
 
   // Flags
-  bool     rethrow_exception()              const { return _flags & PCDESC_rethrow_exception; }
+  bool     rethrow_exception()              const { return (_flags & PCDESC_rethrow_exception) != 0; }
   void set_rethrow_exception(bool z)              { set_flag(PCDESC_rethrow_exception, z);    }
   bool     should_reexecute()              const { return (_flags & PCDESC_reexecute) != 0; }
   void set_should_reexecute(bool z)              { set_flag(PCDESC_reexecute, z); }
--- a/src/share/vm/interpreter/rewriter.cpp	Sat Dec 17 21:40:27 2011 +0100
+++ b/src/share/vm/interpreter/rewriter.cpp	Sat Dec 17 22:03:44 2011 +0100
@@ -291,13 +291,6 @@
 #endif
           break;
         }
-        case Bytecodes::_fast_linearswitch:
-        case Bytecodes::_fast_binaryswitch: {
-#ifndef CC_INTERP
-          (*bcp) = Bytecodes::_lookupswitch;
-#endif
-          break;
-        }
         case Bytecodes::_getstatic      : // fall through
         case Bytecodes::_putstatic      : // fall through
         case Bytecodes::_getfield       : // fall through
--- a/src/share/vm/runtime/fieldDescriptor.hpp	Sat Dec 17 21:40:27 2011 +0100
+++ b/src/share/vm/runtime/fieldDescriptor.hpp	Sat Dec 17 22:03:44 2011 +0100
@@ -61,6 +61,7 @@
   Symbol* signature() const {
     return field()->signature(_cp);
   }
+  int signature_index() const            { return field()->signature_index(); }
   klassOop field_holder() const        { return _cp->pool_holder(); }
   constantPoolOop constants() const    { return _cp(); }
   AccessFlags access_flags() const     { return _access_flags; }