Mercurial > hg > truffle
comparison src/share/vm/prims/jvm.cpp @ 875:6a93908f268f
6857194: Add hotspot perf counters to aid class loading performance measurement
Summary: Add new jvmstat counters to measure detailed class loading time
Reviewed-by: acorn, kamg
author | mchung |
---|---|
date | Fri, 10 Jul 2009 11:10:00 -0700 |
parents | be93aad57795 |
children | abe076e3636f |
comparison
equal
deleted
inserted
replaced
812:85d0690f7d12 | 875:6a93908f268f |
---|---|
754 | 754 |
755 // common code for JVM_DefineClass() and JVM_DefineClassWithSource() | 755 // common code for JVM_DefineClass() and JVM_DefineClassWithSource() |
756 static jclass jvm_define_class_common(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len, jobject pd, const char *source, TRAPS) { | 756 static jclass jvm_define_class_common(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, jsize len, jobject pd, const char *source, TRAPS) { |
757 if (source == NULL) source = "__JVM_DefineClass__"; | 757 if (source == NULL) source = "__JVM_DefineClass__"; |
758 | 758 |
759 assert(THREAD->is_Java_thread(), "must be a JavaThread"); | |
760 JavaThread* jt = (JavaThread*) THREAD; | |
761 | |
762 PerfClassTraceTime vmtimer(ClassLoader::perf_define_appclass_time(), | |
763 ClassLoader::perf_define_appclass_selftime(), | |
764 ClassLoader::perf_define_appclasses(), | |
765 jt->get_thread_stat()->perf_recursion_counts_addr(), | |
766 jt->get_thread_stat()->perf_timers_addr(), | |
767 PerfClassTraceTime::DEFINE_CLASS); | |
768 | |
769 if (UsePerfData) { | |
770 ClassLoader::perf_app_classfile_bytes_read()->inc(len); | |
771 } | |
772 | |
759 // Since exceptions can be thrown, class initialization can take place | 773 // Since exceptions can be thrown, class initialization can take place |
760 // if name is NULL no check for class name in .class stream has to be made. | 774 // if name is NULL no check for class name in .class stream has to be made. |
761 symbolHandle class_name; | 775 symbolHandle class_name; |
762 if (name != NULL) { | 776 if (name != NULL) { |
763 const int str_len = (int)strlen(name); | 777 const int str_len = (int)strlen(name); |