< prev index next >

src/hotspot/share/runtime/sharedRuntime.cpp

Print this page

        

@@ -2688,11 +2688,11 @@
 
       int i = 0;
       if (!method->is_static()) {  // Pass in receiver first
         if (holder->is_value()) {
           ValueKlass* vk = ValueKlass::cast(holder);
-          if (!ValueTypePassFieldsAsArgs || (vk == SystemDictionary::___Value_klass())) {
+          if (!ValueTypePassFieldsAsArgs || vk->is__Value()) {
             // If we don't pass value types as arguments or if the holder of
             // the method is __Value, we must pass a reference.
             sig_extended.push(SigEntry(T_VALUETYPEPTR));
           } else {
             const Array<SigEntry>* sig_vk = vk->extended_sig();

@@ -2951,11 +2951,11 @@
           if (THREAD->can_call_java()) {
             Handle class_loader(THREAD, method->method_holder()->class_loader());
             Handle protection_domain(THREAD, method->method_holder()->protection_domain());
             Klass* k = ss.as_klass(class_loader, protection_domain, SignatureStream::ReturnNull, THREAD);
             assert(k != NULL && !HAS_PENDING_EXCEPTION, "can't resolve klass");
-            assert(k == SystemDictionary::___Value_klass(), "other values not supported");
+            assert(ValueKlass::cast(k)->is__Value(), "other values not supported");
           }
 #endif
           bt = T_VALUETYPEPTR;
         }
         sig_bt[i++] = bt;  // Collect remaining bits of signature

@@ -3465,11 +3465,11 @@
   RegisterMap reg_map(thread);
   frame stubFrame = thread->last_frame();
   frame callerFrame = stubFrame.sender(&reg_map);
 
 #ifdef ASSERT
-  ValueKlass* verif_vk = ValueKlass::returned_value_type(reg_map);
+  ValueKlass* verif_vk = ValueKlass::returned_value_klass(reg_map);
 #endif
 
   if (!is_set_nth_bit(res, 0)) {
     // We're not returning with value type fields in registers (the
     // calling convention didn't allow it for this value klass)

@@ -3505,11 +3505,11 @@
     Bytecode_invoke inv(m, bci);
 
     methodHandle callee = inv.static_target(thread);
     assert(!thread->has_pending_exception(), "call resolution should work");
     ValueKlass* verif_vk2 = callee->returned_value_type(thread);
-    assert(verif_vk == verif_vk2 || verif_vk2 == SystemDictionary::___Value_klass(), "Bad value klass");
+    assert(verif_vk == verif_vk2 || verif_vk2->is__Value(), "Bad value klass");
 #endif
   }
   JRT_BLOCK_END;
 
   thread->set_vm_result(new_vt());
< prev index next >