Projects
Mega:24.09
openjdk-1.8.0
_service:tar_scm:add-add-Count-instance-klass-w...
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:add-add-Count-instance-klass-when-loading-from-jsa-f.patch of Package openjdk-1.8.0
From fccc34c57f171463e871d8beeb4f97a67abc03da Mon Sep 17 00:00:00 2001 Date: Fri, 22 Sep 2023 14:44:32 +0800 Subject: add add-Count-instance-klass-when-loading-from-jsa-file --- hotspot/src/share/vm/classfile/classLoaderData.cpp | 5 ++++- hotspot/src/share/vm/oops/instanceKlass.cpp | 1 - hotspot/src/share/vm/oops/instanceKlass.hpp | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/hotspot/src/share/vm/classfile/classLoaderData.cpp b/hotspot/src/share/vm/classfile/classLoaderData.cpp index 12b7e5036..ba86a0ebc 100644 --- a/hotspot/src/share/vm/classfile/classLoaderData.cpp +++ b/hotspot/src/share/vm/classfile/classLoaderData.cpp @@ -64,6 +64,7 @@ #include "utilities/growableArray.hpp" #include "utilities/macros.hpp" #include "utilities/ostream.hpp" +#include "oops/instanceKlass.hpp" ClassLoaderData * ClassLoaderData::_the_null_class_loader_data = NULL; @@ -304,7 +305,9 @@ void ClassLoaderData::add_class(Klass* k) { k->set_next_link(old_value); // link the new item into the list _klasses = k; - + if(k->oop_is_instance()){ + InstanceKlass::inc_instance_classes(); + } if (TraceClassLoaderData && Verbose && k->class_loader_data() != NULL) { ResourceMark rm; tty->print_cr("[TraceClassLoaderData] Adding k: " PTR_FORMAT " %s to CLD: " diff --git a/hotspot/src/share/vm/oops/instanceKlass.cpp b/hotspot/src/share/vm/oops/instanceKlass.cpp index 993778270..00aea4377 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.cpp +++ b/hotspot/src/share/vm/oops/instanceKlass.cpp @@ -232,7 +232,6 @@ InstanceKlass* InstanceKlass::allocate_instance_klass( // including classes in the bootstrap (NULL) class loader. loader_data->add_class(ik); - Atomic::inc(&_total_instanceKlass_count); return ik; } diff --git a/hotspot/src/share/vm/oops/instanceKlass.hpp b/hotspot/src/share/vm/oops/instanceKlass.hpp index 6e36fa4ce..973480341 100644 --- a/hotspot/src/share/vm/oops/instanceKlass.hpp +++ b/hotspot/src/share/vm/oops/instanceKlass.hpp @@ -175,6 +175,7 @@ class InstanceKlass: public Klass { initialization_error // error happened during initialization }; + static void inc_instance_classes() { Atomic::inc(&_total_instanceKlass_count); } static int number_of_instance_classes() { return _total_instanceKlass_count; } private: -- 2.22.0
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2