mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 02:54:35 +02:00
8140485: Class load and creation cleanup
Reviewed-by: hseigel, coleenp, sspitsyn
This commit is contained in:
parent
24c8c40bb8
commit
2ad9d3192f
59 changed files with 4174 additions and 3258 deletions
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/classFileStream.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/javaAssertions.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
|
@ -965,7 +966,7 @@ static jclass jvm_define_class_common(JNIEnv *env, const char *name,
|
|||
}
|
||||
|
||||
ResourceMark rm(THREAD);
|
||||
ClassFileStream st((u1*) buf, len, (char *)source);
|
||||
ClassFileStream st((u1*)buf, len, source, ClassFileStream::verify);
|
||||
Handle class_loader (THREAD, JNIHandles::resolve(loader));
|
||||
if (UsePerfData) {
|
||||
is_lock_held_by_thread(class_loader,
|
||||
|
@ -973,9 +974,11 @@ static jclass jvm_define_class_common(JNIEnv *env, const char *name,
|
|||
THREAD);
|
||||
}
|
||||
Handle protection_domain (THREAD, JNIHandles::resolve(pd));
|
||||
Klass* k = SystemDictionary::resolve_from_stream(class_name, class_loader,
|
||||
protection_domain, &st,
|
||||
true, CHECK_NULL);
|
||||
Klass* k = SystemDictionary::resolve_from_stream(class_name,
|
||||
class_loader,
|
||||
protection_domain,
|
||||
&st,
|
||||
CHECK_NULL);
|
||||
|
||||
if (TraceClassResolution && k != NULL) {
|
||||
trace_class_resolution(k);
|
||||
|
@ -3723,4 +3726,3 @@ JVM_END
|
|||
JVM_ENTRY_NO_ENV(jint, JVM_FindSignal(const char *name))
|
||||
return os::get_signal_number(name);
|
||||
JVM_END
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue