< prev index next >

src/hotspot/share/services/management.cpp

Print this page
@@ -1,7 +1,7 @@
  /*
-  * Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
+  * Copyright (c) 2003, 2026, Oracle and/or its affiliates. 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
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

@@ -36,10 +36,11 @@
  #include "oops/klass.hpp"
  #include "oops/klass.inline.hpp"
  #include "oops/objArrayKlass.hpp"
  #include "oops/objArrayOop.inline.hpp"
  #include "oops/oop.inline.hpp"
+ #include "oops/oopCast.inline.hpp"
  #include "oops/oopHandle.inline.hpp"
  #include "oops/typeArrayOop.inline.hpp"
  #include "runtime/flags/jvmFlag.hpp"
  #include "runtime/globals.hpp"
  #include "runtime/handles.inline.hpp"

@@ -1441,13 +1442,14 @@
  // Returns a String array of all VM global flag names
  JVM_ENTRY(jobjectArray, jmm_GetVMGlobalNames(JNIEnv *env))
    // last flag entry is always null, so subtract 1
    int nFlags = (int) JVMFlag::numFlags - 1;
    // allocate a temp array
-   objArrayOop r = oopFactory::new_objArray(vmClasses::String_klass(),
-                                            nFlags, CHECK_NULL);
-   objArrayHandle flags_ah(THREAD, r);
+   refArrayOop r = oopFactory::new_refArray(vmClasses::String_klass(),
+                                            nFlags,
+                                            CHECK_NULL);
+   refArrayHandle flags_ah(THREAD, r);
    int num_entries = 0;
    for (int i = 0; i < nFlags; i++) {
      JVMFlag* flag = &JVMFlag::flags[i];
      // Exclude develop flags in product builds.
      if (flag->is_constant_in_binary()) {

@@ -1461,11 +1463,11 @@
      }
    }
  
    if (num_entries < nFlags) {
      // Return array of right length
-     objArrayOop res = oopFactory::new_objArray(vmClasses::String_klass(), num_entries, CHECK_NULL);
+     refArrayOop res = oopFactory::new_refArray(vmClasses::String_klass(), num_entries, CHECK_NULL);
      for(int i = 0; i < num_entries; i++) {
        res->obj_at_put(i, flags_ah->obj_at(i));
      }
      return (jobjectArray)JNIHandles::make_local(THREAD, res);
    }

@@ -1567,14 +1569,14 @@
  
    ResourceMark rm(THREAD);
  
    if (names != nullptr) {
      // return the requested globals
-     objArrayOop ta = objArrayOop(JNIHandles::resolve_non_null(names));
-     objArrayHandle names_ah(THREAD, ta);
+     refArrayOop ta = oop_cast<refArrayOop>(JNIHandles::resolve_non_null(names));
+     refArrayHandle names_ah(THREAD, ta);
      // Make sure we have a String array
-     Klass* element_klass = ObjArrayKlass::cast(names_ah->klass())->element_klass();
+     Klass* element_klass = RefArrayKlass::cast(names_ah->klass())->element_klass();
      if (element_klass != vmClasses::String_klass()) {
        THROW_MSG_(vmSymbols::java_lang_IllegalArgumentException(),
                   "Array element type is not String class", 0);
      }
  

@@ -1994,15 +1996,15 @@
      THROW(vmSymbols::java_lang_NullPointerException());
    }
  
    ResourceMark rm(THREAD);
  
-   objArrayOop ca = objArrayOop(JNIHandles::resolve_non_null(cmds));
-   objArrayHandle cmds_ah(THREAD, ca);
+   refArrayOop ca = oop_cast<refArrayOop>(JNIHandles::resolve_non_null(cmds));
+   refArrayHandle cmds_ah(THREAD, ca);
  
    // Make sure we have a String array
-   Klass* element_klass = ObjArrayKlass::cast(cmds_ah->klass())->element_klass();
+   Klass* element_klass = RefArrayKlass::cast(cmds_ah->klass())->element_klass();
    if (element_klass != vmClasses::String_klass()) {
      THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
                 "Array element type is not String class");
    }
  
< prev index next >