hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp
changeset 35166 23125410af16
parent 33602 16053580a684
child 35232 76aed99c0ddd
--- a/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp	Tue Dec 15 11:28:23 2015 +0100
+++ b/hotspot/src/cpu/ppc/vm/methodHandles_ppc.cpp	Thu Dec 10 16:18:25 2015 +0100
@@ -1,6 +1,6 @@
 /*
  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
- * Copyright 2012, 2014 SAP AG. All rights reserved.
+ * Copyright (c) 2012, 2015 SAP SE. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -32,12 +32,6 @@
 
 #define __ _masm->
 
-#ifdef CC_INTERP
-#define EXCEPTION_ENTRY StubRoutines::throw_NullPointerException_at_call_entry()
-#else
-#define EXCEPTION_ENTRY Interpreter::throw_NullPointerException_entry()
-#endif
-
 #ifdef PRODUCT
 #define BLOCK_COMMENT(str) // nothing
 #else
@@ -51,10 +45,12 @@
   return RegisterOrConstant(value);
 }
 
-void MethodHandles::load_klass_from_Class(MacroAssembler* _masm, Register klass_reg, Register temp_reg, Register temp2_reg) {
-  if (VerifyMethodHandles)
-    verify_klass(_masm, klass_reg, SystemDictionary::WK_KLASS_ENUM_NAME(java_lang_Class), temp_reg, temp2_reg,
-                 "MH argument is a Class");
+void MethodHandles::load_klass_from_Class(MacroAssembler* _masm, Register klass_reg,
+                                          Register temp_reg, Register temp2_reg) {
+  if (VerifyMethodHandles) {
+    verify_klass(_masm, klass_reg, SystemDictionary::WK_KLASS_ENUM_NAME(java_lang_Class),
+                 temp_reg, temp2_reg, "MH argument is a Class");
+  }
   __ ld(klass_reg, java_lang_Class::klass_offset_in_bytes(), klass_reg);
 }
 
@@ -187,7 +183,7 @@
                         sizeof(u2), /*is_signed*/ false);
     // assert(sizeof(u2) == sizeof(ConstMethod::_size_of_parameters), "");
     Label L;
-    __ ld(temp2, __ argument_offset(temp2, temp2, 0), CC_INTERP_ONLY(R17_tos) NOT_CC_INTERP(R15_esp));
+    __ ld(temp2, __ argument_offset(temp2, temp2, 0), R15_esp);
     __ cmpd(CCR1, temp2, recv);
     __ beq(CCR1, L);
     __ stop("receiver not on stack");
@@ -214,7 +210,7 @@
     return NULL;
   }
 
-  Register argbase    = CC_INTERP_ONLY(R17_tos) NOT_CC_INTERP(R15_esp); // parameter (preserved)
+  Register argbase    = R15_esp; // parameter (preserved)
   Register argslot    = R3;
   Register temp1      = R6;
   Register param_size = R7;
@@ -317,10 +313,12 @@
       __ verify_oop(receiver_reg);
       if (iid == vmIntrinsics::_linkToSpecial) {
         // Don't actually load the klass; just null-check the receiver.
-        __ null_check_throw(receiver_reg, -1, temp1, EXCEPTION_ENTRY);
+        __ null_check_throw(receiver_reg, -1, temp1,
+                            Interpreter::throw_NullPointerException_entry());
       } else {
         // load receiver klass itself
-        __ null_check_throw(receiver_reg, oopDesc::klass_offset_in_bytes(), temp1, EXCEPTION_ENTRY);
+        __ null_check_throw(receiver_reg, oopDesc::klass_offset_in_bytes(), temp1,
+                            Interpreter::throw_NullPointerException_entry());
         __ load_klass(temp1_recv_klass, receiver_reg);
         __ verify_klass_ptr(temp1_recv_klass);
       }