Call Tree: FUNCTIONS. Complete view. Threshold: 1% Sort by: metric. Metric: Attributed Total CPU Time +- 88.162 (100%) +- 78.155 (89%) ManyMethodsBenchmark.main(java.lang.String[]) | +- 74.752 (85%) ManyMethodsBenchmark.benchmarkClassOperations(java.lang.String) | | +- 58.641 (67%) ManyMethodsBenchmark.loadClassInNewClassLoader(java.lang.String) | | | +- 58.641 (67%) java.lang.Class.forName(java.lang.String, boolean, java.lang.ClassLoader) | | | +- 58.641 (67%) java.lang.Class.forName0(java.lang.String, boolean, java.lang.ClassLoader) | | | +- 58.641 (67%) Java_java_lang_Class_forName0 | | | +- 57.991 (66%) JVM_FindClassFromClassLoader | | | | +- 57.991 (66%) find_class_from_class_loader(JNIEnv_*,Symbol*,unsigned char,Handle,Handle,unsigned char,Thread*) | | | | +- 57.991 (66%) InstanceKlass::initialize(Thread*) | | | | +- 57.991 (66%) InstanceKlass::initialize_impl(instanceKlassHandle,Thread*) | | | | +- 57.991 (66%) InstanceKlass::link_class_impl(instanceKlassHandle,bool,Thread*) | | | | +- 50.015 (57%) klassVtable::initialize_vtable(bool,Thread*) | | | | | +- 49.995 (57%) klassVtable::update_inherited_vtable(InstanceKlass*,methodHandle,int,int,bool,Thread*) | | | | | +- 0.030 (0%) Klass::class_loader()const | | | | | +- 0.010 (0%) pthread_getspecific | | | | +- 6.284 (7%) JvmtiExport::post_class_prepare(JavaThread*,Klass*) | | | | +- 1.621 (2%) InstanceKlass::link_class_impl(instanceKlassHandle,bool,Thread*) | | | | +- 0.040 (0%) Verifier::verify(instanceKlassHandle,Verifier::Mode,bool,Thread*) | | | | +- 0.030 (0%) InstanceKlass::link_methods(Thread*) | | | +- 0.650 (1%) java.lang.ClassLoader.loadClass(java.lang.String) | | +- 15.981 (18%) java.lang.Class.getMethods() | | | +- 15.971 (18%) java.lang.Class.privateGetPublicMethods() | | | | +- 15.791 (18%) java.lang.Class$MethodArray.removeByNameAndDescriptor(java.lang.reflect.Method) | | | | | +- 10.687 (12%) java.lang.Class$MethodArray.matchesNameAndDescriptor(java.lang.reflect.Method, java.lang.reflect.Method) | | | | | | +- 0.020 (0%) java.lang.reflect.Method.getParameterTypes() | | | | | | +- 0.010 (0%) java.lang.Object.clone() | | | | | +- 0.020 (0%) java.lang.Class$MethodArray.remove(int) | | | | +- 0.100 (0%) java.lang.Class.privateGetDeclaredMethods(boolean) | | | | +- 0.050 (0%) java.lang.Class.privateGetPublicMethods() | | | | +- 0.020 (0%) java.lang.Class$MethodArray.addAllIfNotPresent(java.lang.Class$MethodArray) | | | +- 0.010 (0%) java.lang.Class.copyMethods(java.lang.reflect.Method[]) | | +- 0.120 (0%) java.lang.Class.getDeclaredMethods() | | +- 0.010 (0%) ManyMethodsBenchmark.reportResults(java.lang.String, int, long) | +- 3.142 (4%) com.sun.tools.javac.api.JavacTaskImpl.call() | | +- 3.142 (4%) com.sun.tools.javac.api.JavacTaskImpl.doCall() | | +- 3.142 (4%) com.sun.tools.javac.main.Main.compile(java.lang.String[], java.lang.String[], com.sun.tools.javac.util.Context, com.sun.tools.javac.util.List, java.lang.Iterable) | | +- 2.882 (3%) com.sun.tools.javac.main.JavaCompiler.compile(com.sun.tools.javac.util.List, com.sun.tools.javac.util.List, java.lang.Iterable) | | | +- 2.111 (2%) com.sun.tools.javac.main.JavaCompiler.compile2() | | | +- 0.460 (1%) com.sun.tools.javac.main.JavaCompiler.enterTrees(com.sun.tools.javac.util.List) | | | +- 0.290 (0%) com.sun.tools.javac.main.JavaCompiler.parseFiles(java.lang.Iterable) | | | +- 0.020 (0%) com.sun.tools.javac.main.JavaCompiler.initProcessAnnotations(java.lang.Iterable) | | +- 0.240 (0%) com.sun.tools.javac.main.JavaCompiler.instance(com.sun.tools.javac.util.Context) | | +- 0.010 (0%) com.sun.tools.javac.main.Main.processArgs(java.lang.String[], java.lang.String[]) | +- 0.100 (0%) com.sun.tools.javac.api.JavacTool.getStandardFileManager(javax.tools.DiagnosticListener, java.util.Locale, java.nio.charset.Charset) | +- 0.050 (0%) java.io.Writer.write(java.lang.String) | +- 0.040 (0%) javax.tools.ToolProvider.getSystemJavaCompiler() | +- 0.010 (0%) com.sun.tools.javac.api.JavacTool.getTask(java.io.Writer, javax.tools.JavaFileManager, javax.tools.DiagnosticListener, java.lang.Iterable, java.lang.Iterable, java.lang.Iterable) | +- 0.010 (0%) java.lang.StringBuilder.append(int) +- 9.517 (11%) start_thread | +- 9.517 (11%) collector_root | +- 9.477 (11%) java_start(Thread*) | | +- 8.086 (9%) JavaThread::run() | | | +- 8.086 (9%) JavaThread::thread_main_inner() | | | +- 7.926 (9%) CompileBroker::compiler_thread_loop() | | | | +- 7.896 (9%) CompileBroker::invoke_compiler_on_method(CompileTask*) | | | | | +- 6.735 (8%) C2Compiler::compile_method(ciEnv*,ciMethod*,int) | | | | | | +- 6.735 (8%) Compile::Compile(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool,bool) | | | | | | +- 3.432 (4%) Compile::Code_Gen() | | | | | | | +- 2.462 (3%) PhaseChaitin::Register_Allocate() | | | | | | | +- 0.440 (0%) Matcher::match() | | | | | | | +- 0.230 (0%) PhaseCFG::do_global_code_motion() | | | | | | | +- 0.150 (0%) Compile::Output() | | | | | | | +- 0.140 (0%) Compile::fill_buffer(CodeBuffer*,unsigned*) | | | | | | | +- 0.010 (0%) PhaseCFG::remove_empty_blocks() | | | | | | +- 2.342 (3%) Compile::Optimize() | | | | | | | +- 1.141 (1%) PhaseIdealLoop::build_and_optimize(bool,bool) | | | | | | | +- 0.610 (1%) ConnectionGraph::do_analysis(Compile*,PhaseIterGVN*) | | | | | | | +- 0.320 (0%) PhaseIterGVN::optimize() | | | | | | | +- 0.090 (0%) PhaseCCP::analyze() | | | | | | | +- 0.060 (0%) PhaseCCP::do_transform() | | | | | | | +- 0.060 (0%) PhaseMacroExpand::expand_macro_nodes() | | | | | | | +- 0.030 (0%) Compile::final_graph_reshaping() | | | | | | | +- 0.020 (0%) Compile::remove_speculative_types(PhaseIterGVN&) | | | | | | | +- 0.010 (0%) PhaseIdealLoop::PhaseIdealLoop(PhaseIterGVN&,bool,bool) | | | | | | +- 0.811 (1%) ParseGenerator::generate(JVMState*,Parse*) | | | | | | +- 0.050 (0%) PhaseRemoveUseless::PhaseRemoveUseless(PhaseGVN*,Unique_Node_List*) | | | | | | +- 0.030 (0%) CallGenerator::for_inline(ciMethod*,float) | | | | | | +- 0.030 (0%) ciEnv::register_method(ciMethod*,int,CodeOffsets*,int,CodeBuffer*,int,OopMapSet*,ExceptionHandlerTable*,ImplicitExceptionTable*,AbstractCompiler*,int,bool,bool,RTMState) | | | | | | +- 0.020 (0%) Compile::inline_string_calls(bool) | | | | | | +- 0.010 (0%) Compile::build_start_state(StartNode*,const TypeFunc*) | | | | | | +- 0.010 (0%) Type::Initialize(Compile*) | | | | | +- 1.091 (1%) Compiler::compile_method(ciEnv*,ciMethod*,int) | | | | | +- 0.030 (0%) ciEnv::~ciEnv() | | | | | +- 0.020 (0%) ciEnv::get_method_from_handle(Method*) | | | | | +- 0.010 (0%) Arena::~Arena() | | | | | +- 0.010 (0%) Chunk::next_chop() | | | | +- 0.020 (0%) CompileQueue::get() | | | | +- 0.010 (0%) CodeHeap::allocated_capacity()const | | | +- 0.160 (0%) ServiceThread::service_thread_entry(JavaThread*,Thread*) | | +- 1.321 (1%) GCTaskThread::run() | | +- 0.040 (0%) VMThread::run() | | +- 0.030 (0%) WatcherThread::run() | +- 0.040 (0%) JavaMain +- 0.030 (0%) Interpreter +- 0.020 (0%) com.sun.tools.javac.code.Scope$3$1.hasNext() +- 0.020 (0%) com.sun.tools.javac.code.Scope.dupUnshared() +- 0.020 (0%) com.sun.tools.javac.comp.Annotate.flush() +- 0.020 (0%) com.sun.tools.javac.comp.Check.checkDisjoint(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, long, long, long) +- 0.010 (0%) com.sun.tools.javac.code.Scope.leave() +- 0.010 (0%) com.sun.tools.javac.code.Symbol.flags() +- 0.010 (0%) com.sun.tools.javac.code.Type$ClassType.accept(com.sun.tools.javac.code.Type$Visitor, java.lang.Object) +- 0.010 (0%) com.sun.tools.javac.code.Type.getTypeArguments() +- 0.010 (0%) com.sun.tools.javac.code.Type.isPrimitive() +- 0.010 (0%) com.sun.tools.javac.code.Type$JCNoType.getTag() +- 0.010 (0%) com.sun.tools.javac.code.Type$MethodType.getThrownTypes() +- 0.010 (0%) com.sun.tools.javac.code.Types$14.visitClassType(com.sun.tools.javac.code.Type$ClassType, java.lang.Object) +- 0.010 (0%) com.sun.tools.javac.code.Types$MembersClosureCache.visitClassType(com.sun.tools.javac.code.Type$ClassType, java.lang.Object) +- 0.010 (0%) com.sun.tools.javac.comp.Env.(com.sun.tools.javac.tree.JCTree, java.lang.Object) +- 0.010 (0%) com.sun.tools.javac.comp.Flow$BaseAnalyzer.scan(com.sun.tools.javac.tree.JCTree) +- 0.010 (0%) com.sun.tools.javac.comp.Lower.translate(com.sun.tools.javac.tree.JCTree) +- 0.010 (0%) com.sun.tools.javac.jvm.ClassWriter.adjustFlags(long) +- 0.010 (0%) com.sun.tools.javac.jvm.Code.(com.sun.tools.javac.code.Symbol$MethodSymbol, boolean, com.sun.tools.javac.util.Position$LineMap, boolean, com.sun.tools.javac.jvm.Code$StackMapFormat, boolean, com.sun.tools.javac.jvm.CRTable, com.sun.tools.javac.code.Symtab, com.sun.tools.javac.code.Types, com.sun.tools.javac.jvm.Pool, com.sun.tools.javac.jvm.LVTRanges) +- 0.010 (0%) com.sun.tools.javac.jvm.Gen.initCode(com.sun.tools.javac.tree.JCTree$JCMethodDecl, com.sun.tools.javac.comp.Env, boolean) +- 0.010 (0%) com.sun.tools.javac.parser.Tokens$NamedToken.name() +- 0.010 (0%) com.sun.tools.javac.tree.JCTree$JCMethodDecl.accept(com.sun.tools.javac.tree.JCTree$Visitor) +- 0.010 (0%) com.sun.tools.javac.tree.JCTree$JCMethodDecl.getTag() +- 0.010 (0%) com.sun.tools.javac.tree.JCTree$JCModifiers.accept(com.sun.tools.javac.tree.JCTree$Visitor) +- 0.010 (0%) com.sun.tools.javac.tree.TreeInfo.firstConstructorCall(com.sun.tools.javac.tree.JCTree) +- 0.010 (0%) com.sun.tools.javac.tree.TreeScanner.scan(com.sun.tools.javac.tree.JCTree) +- 0.010 (0%) com.sun.tools.javac.util.Bits.dup() +- 0.010 (0%) com.sun.tools.javac.util.List$1.isEmpty() +- 0.010 (0%) com.sun.tools.javac.util.List.isEmpty() +- 0.010 (0%) I2C/C2I adapters(0xba000000)@0x00007f29bcc1f360 +- 0.010 (0%) I2C/C2I adapters(0xbbb00000)@0x00007f29bcc26f60 +- 0.010 (0%) InterpreterRuntime::resolve_invoke(JavaThread*,Bytecodes::Code) +- 0.010 (0%) itable stub +- 0.010 (0%) java.lang.Class.arrayContentsEq(java.lang.Object[], java.lang.Object[]) +- 0.010 (0%) java.nio.ByteBuffer.arrayOffset() +- 0.010 (0%) java.util.ArrayList.isEmpty() +- 0.010 (0%) java.util.LinkedHashMap.get(java.lang.Object) +- 0.010 (0%) RuntimeStub - counter_overflow Runtime1 stub +- 0.010 (0%) RuntimeStub - new_type_array Runtime1 stub +- 0.010 (0%) sun.launcher.LauncherHelper.checkAndLoadMain(boolean, int, java.lang.String) +- 0.010 (0%) +- 0.010 (0%) vtable stub +- 0.010 (0%) vtable stub