diff src/share/vm/graal/graalCodeInstaller.cpp @ 5823:f238fe91dc7f

partial (non XIR) support for inlining virtual dispatch at call sites - still needs fixing
author Doug Simon <doug.simon@oracle.com>
date Thu, 12 Jul 2012 17:16:34 +0200
parents 2585af1e26ac
children 58a607307306
line wrap: on
line diff
--- a/src/share/vm/graal/graalCodeInstaller.cpp	Thu Jul 12 12:04:27 2012 +0200
+++ b/src/share/vm/graal/graalCodeInstaller.cpp	Thu Jul 12 17:16:34 2012 +0200
@@ -695,10 +695,10 @@
 
     TRACE_graal_3("method call");
     switch (_next_call_type) {
+      case MARK_INLINE_INVOKEVIRTUAL: {
+        break;
+      }
       case MARK_INVOKEVIRTUAL:
-        if (is_call_reg) {
-          break;
-        }
       case MARK_INVOKEINTERFACE: {
         assert(method == NULL || !method->is_static(), "cannot call static method with invokeinterface");
 
@@ -843,6 +843,7 @@
         // Add relocation record for the klassOop embedded in the inline cache
         _instructions->relocate(instruction, oop_Relocation::spec_for_immediate(), Assembler::imm_operand);
       }
+      case MARK_INLINE_INVOKEVIRTUAL:
       case MARK_INVOKE_INVALID:
       case MARK_INVOKESPECIAL:
       case MARK_INVOKESTATIC: