Mercurial > hg > truffle
comparison src/share/vm/compiler/compileBroker.hpp @ 2491:0654ee04b214
Merge with OpenJDK.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 22 Apr 2011 15:30:53 +0200 |
parents | 06f017f7daa7 3d58a4983660 |
children | 75a99b4f1c98 |
comparison
equal
deleted
inserted
replaced
2490:29246b1d2d3c | 2491:0654ee04b214 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 2011, 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. |
54 jlong _time_queued; // in units of os::elapsed_counter() | 54 jlong _time_queued; // in units of os::elapsed_counter() |
55 jobject _hot_method; // which method actually triggered this task | 55 jobject _hot_method; // which method actually triggered this task |
56 int _hot_count; // information about its invocation counter | 56 int _hot_count; // information about its invocation counter |
57 const char* _comment; // more info about the task | 57 const char* _comment; // more info about the task |
58 | 58 |
59 void print_compilation(outputStream *st, methodOop method, char* method_name); | |
60 public: | 59 public: |
61 CompileTask() { | 60 CompileTask() { |
62 _lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock"); | 61 _lock = new Monitor(Mutex::nonleaf+2, "CompileTaskLock"); |
63 } | 62 } |
64 | 63 |
94 CompileTask* next() const { return _next; } | 93 CompileTask* next() const { return _next; } |
95 void set_next(CompileTask* next) { _next = next; } | 94 void set_next(CompileTask* next) { _next = next; } |
96 CompileTask* prev() const { return _prev; } | 95 CompileTask* prev() const { return _prev; } |
97 void set_prev(CompileTask* prev) { _prev = prev; } | 96 void set_prev(CompileTask* prev) { _prev = prev; } |
98 | 97 |
98 private: | |
99 static void print_compilation_impl(outputStream* st, methodOop method, int compile_id, int comp_level, bool is_osr_method = false, int osr_bci = -1, bool is_blocking = false, const char* msg = NULL); | |
100 | |
101 public: | |
102 void print_compilation(outputStream* st = tty); | |
103 static void print_compilation(outputStream* st, const nmethod* nm, const char* msg = NULL) { | |
104 print_compilation_impl(st, nm->method(), nm->compile_id(), nm->comp_level(), nm->is_osr_method(), nm->is_osr_method() ? nm->osr_entry_bci() : -1, /*is_blocking*/ false, msg); | |
105 } | |
106 | |
107 static void print_inlining(outputStream* st, ciMethod* method, int inline_level, int bci, const char* msg = NULL); | |
108 static void print_inlining(ciMethod* method, int inline_level, int bci, const char* msg = NULL) { | |
109 print_inlining(tty, method, inline_level, bci, msg); | |
110 } | |
111 | |
112 static void print_inline_indent(int inline_level, outputStream* st = tty); | |
113 | |
99 void print(); | 114 void print(); |
100 void print_line(); | 115 void print_line(); |
101 | |
102 void print_line_on_error(outputStream* st, char* buf, int buflen); | 116 void print_line_on_error(outputStream* st, char* buf, int buflen); |
117 | |
103 void log_task(xmlStream* log); | 118 void log_task(xmlStream* log); |
104 void log_task_queued(); | 119 void log_task_queued(); |
105 void log_task_start(CompileLog* log); | 120 void log_task_start(CompileLog* log); |
106 void log_task_done(CompileLog* log); | 121 void log_task_done(CompileLog* log); |
107 }; | 122 }; |