comparison src/share/vm/runtime/fprofiler.cpp @ 10105:aeaca88565e6

8010862: The Method counter fields used for profiling can be allocated lazily. Summary: Allocate the method's profiling related metadata until they are needed. Reviewed-by: coleenp, roland
author jiangli
date Tue, 09 Apr 2013 17:17:41 -0400
parents da91efe96a93
children 9758d9f36299 522d69638aa8
comparison
equal deleted inserted replaced
9055:dcdeb150988c 10105:aeaca88565e6
1 /* 1 /*
2 * Copyright (c) 1997, 2012, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
419 ProfilerNode::print(st, total_ticks); 419 ProfilerNode::print(st, total_ticks);
420 } 420 }
421 421
422 void print_method_on(outputStream* st) { 422 void print_method_on(outputStream* st) {
423 ProfilerNode::print_method_on(st); 423 ProfilerNode::print_method_on(st);
424 if (Verbose) method()->invocation_counter()->print_short(); 424 MethodCounters* mcs = method()->method_counters();
425 if (Verbose && mcs != NULL) mcs->invocation_counter()->print_short();
425 } 426 }
426 }; 427 };
427 428
428 class compiledNode : public ProfilerNode { 429 class compiledNode : public ProfilerNode {
429 private: 430 private: